From 09cfe677ee8ed0bde1566cae4a9a90c2a8233916 Mon Sep 17 00:00:00 2001 From: Alexandra Osorio Date: Tue, 1 Mar 2016 22:21:29 -0500 Subject: [PATCH] First commit --- .bowerrc | 3 + .editorconfig | 14 + .idea/.name | 1 + .idea/compiler.xml | 22 + .idea/copyright/profiles_settings.xml | 3 + .idea/encodings.xml | 6 + .idea/misc.xml | 14 + .idea/modules.xml | 8 + .idea/open-barbell-master.iml | 9 + .idea/vcs.xml | 6 + .idea/workspace.xml | 432 + .project | 11 + bower.json | 7 + config.xml | 72 + gulpfile.js | 81 + hooks/README.md | 83 + hooks/after_prepare/010_add_platform_class.js | 94 + ionic.project | 4 + npm-debug.log | 50 + package.json | 29 + platforms/android/.gitignore | 14 + .../2.2.1/taskArtifacts/cache.properties | 1 + .../2.2.1/taskArtifacts/cache.properties.lock | Bin 0 -> 17 bytes .../2.2.1/taskArtifacts/fileHashes.bin | Bin 0 -> 72349 bytes .../2.2.1/taskArtifacts/fileSnapshots.bin | Bin 0 -> 465156 bytes .../2.2.1/taskArtifacts/outputFileStates.bin | Bin 0 -> 20132 bytes .../2.2.1/taskArtifacts/taskArtifacts.bin | Bin 0 -> 60421 bytes platforms/android/AndroidManifest.xml | 16 + .../android/CordovaLib/AndroidManifest.xml | 23 + platforms/android/CordovaLib/build.gradle | 61 + .../debug/org/apache/cordova/BuildConfig.java | 13 + .../bundles/debug/AndroidManifest.xml | 27 + .../bundles/debug/aapt/AndroidManifest.xml | 27 + .../intermediates/bundles/debug/classes.jar | Bin 0 -> 123837 bytes .../apache/cordova/AuthenticationToken.class | Bin 0 -> 776 bytes .../org/apache/cordova/BuildConfig.class | Bin 0 -> 711 bytes .../org/apache/cordova/CallbackContext.class | Bin 0 -> 3324 bytes .../debug/org/apache/cordova/Config.class | Bin 0 -> 1841 bytes .../org/apache/cordova/ConfigXmlParser.class | Bin 0 -> 4919 bytes .../apache/cordova/CordovaActivity$1.class | Bin 0 -> 930 bytes .../apache/cordova/CordovaActivity$2.class | Bin 0 -> 1012 bytes .../apache/cordova/CordovaActivity$3.class | Bin 0 -> 1515 bytes .../apache/cordova/CordovaActivity$4$1.class | Bin 0 -> 1083 bytes .../apache/cordova/CordovaActivity$4.class | Bin 0 -> 2005 bytes .../org/apache/cordova/CordovaActivity.class | Bin 0 -> 11399 bytes .../org/apache/cordova/CordovaArgs.class | Bin 0 -> 2561 bytes .../org/apache/cordova/CordovaBridge.class | Bin 0 -> 5456 bytes .../cordova/CordovaClientCertRequest.class | Bin 0 -> 1426 bytes .../cordova/CordovaDialogsHelper$1.class | Bin 0 -> 1214 bytes .../cordova/CordovaDialogsHelper$2.class | Bin 0 -> 1194 bytes .../cordova/CordovaDialogsHelper$3.class | Bin 0 -> 1318 bytes .../cordova/CordovaDialogsHelper$4.class | Bin 0 -> 1216 bytes .../cordova/CordovaDialogsHelper$5.class | Bin 0 -> 1216 bytes .../cordova/CordovaDialogsHelper$6.class | Bin 0 -> 1196 bytes .../cordova/CordovaDialogsHelper$7.class | Bin 0 -> 1320 bytes .../cordova/CordovaDialogsHelper$8.class | Bin 0 -> 1499 bytes .../cordova/CordovaDialogsHelper$9.class | Bin 0 -> 1233 bytes .../cordova/CordovaDialogsHelper$Result.class | Bin 0 -> 277 bytes .../apache/cordova/CordovaDialogsHelper.class | Bin 0 -> 3745 bytes .../cordova/CordovaHttpAuthHandler.class | Bin 0 -> 821 bytes .../org/apache/cordova/CordovaInterface.class | Bin 0 -> 725 bytes ...vaInterfaceImpl$ActivityResultHolder.class | Bin 0 -> 1064 bytes .../apache/cordova/CordovaInterfaceImpl.class | Bin 0 -> 7251 bytes .../org/apache/cordova/CordovaPlugin.class | Bin 0 -> 6858 bytes .../apache/cordova/CordovaPreferences.class | Bin 0 -> 3223 bytes ...CordovaResourceApi$OpenForReadResult.class | Bin 0 -> 905 bytes .../apache/cordova/CordovaResourceApi.class | Bin 0 -> 12717 bytes .../org/apache/cordova/CordovaWebView.class | Bin 0 -> 2239 bytes .../cordova/CordovaWebViewEngine$Client.class | Bin 0 -> 549 bytes .../CordovaWebViewEngine$EngineView.class | Bin 0 -> 308 bytes .../apache/cordova/CordovaWebViewEngine.class | Bin 0 -> 993 bytes .../apache/cordova/CordovaWebViewImpl$1.class | Bin 0 -> 1690 bytes .../apache/cordova/CordovaWebViewImpl$2.class | Bin 0 -> 1553 bytes .../apache/cordova/CordovaWebViewImpl$3.class | Bin 0 -> 1461 bytes .../CordovaWebViewImpl$EngineClient$1$1.class | Bin 0 -> 1249 bytes .../CordovaWebViewImpl$EngineClient$1.class | Bin 0 -> 1524 bytes .../CordovaWebViewImpl$EngineClient.class | Bin 0 -> 4946 bytes .../apache/cordova/CordovaWebViewImpl.class | Bin 0 -> 16092 bytes .../org/apache/cordova/CoreAndroid$1.class | Bin 0 -> 1020 bytes .../org/apache/cordova/CoreAndroid$2.class | Bin 0 -> 741 bytes .../org/apache/cordova/CoreAndroid$3.class | Bin 0 -> 730 bytes .../org/apache/cordova/CoreAndroid$4.class | Bin 0 -> 741 bytes .../org/apache/cordova/CoreAndroid$5.class | Bin 0 -> 1981 bytes .../org/apache/cordova/CoreAndroid.class | Bin 0 -> 8195 bytes .../org/apache/cordova/ExposedJsApi.class | Bin 0 -> 442 bytes .../cordova/ICordovaClientCertRequest.class | Bin 0 -> 443 bytes .../cordova/ICordovaCookieManager.class | Bin 0 -> 345 bytes .../cordova/ICordovaHttpAuthHandler.class | Bin 0 -> 229 bytes .../debug/org/apache/cordova/LOG.class | Bin 0 -> 3423 bytes .../NativeToJsMessageQueue$BridgeMode.class | Bin 0 -> 814 bytes .../NativeToJsMessageQueue$JsMessage.class | Bin 0 -> 3979 bytes ...ToJsMessageQueue$LoadUrlBridgeMode$1.class | Bin 0 -> 1587 bytes ...veToJsMessageQueue$LoadUrlBridgeMode.class | Bin 0 -> 1565 bytes ...ativeToJsMessageQueue$NoOpBridgeMode.class | Bin 0 -> 712 bytes ...essageQueue$OnlineEventsBridgeMode$1.class | Bin 0 -> 1400 bytes ...essageQueue$OnlineEventsBridgeMode$2.class | Bin 0 -> 1726 bytes ...eMode$OnlineEventsBridgeModeDelegate.class | Bin 0 -> 499 bytes ...sMessageQueue$OnlineEventsBridgeMode.class | Bin 0 -> 2622 bytes .../cordova/NativeToJsMessageQueue.class | Bin 0 -> 7408 bytes .../org/apache/cordova/PluginEntry.class | Bin 0 -> 1042 bytes .../org/apache/cordova/PluginManager.class | Bin 0 -> 12620 bytes .../apache/cordova/PluginResult$Status.class | Bin 0 -> 1657 bytes .../org/apache/cordova/PluginResult.class | Bin 0 -> 5908 bytes .../org/apache/cordova/ResumeCallback.class | Bin 0 -> 2995 bytes .../apache/cordova/Whitelist$URLPattern.class | Bin 0 -> 3117 bytes .../debug/org/apache/cordova/Whitelist.class | Bin 0 -> 2952 bytes .../cordova/engine/SystemCookieManager.class | Bin 0 -> 1731 bytes .../cordova/engine/SystemExposedJsApi.class | Bin 0 -> 1433 bytes .../engine/SystemWebChromeClient$1.class | Bin 0 -> 1195 bytes .../engine/SystemWebChromeClient$2.class | Bin 0 -> 1197 bytes .../engine/SystemWebChromeClient$3.class | Bin 0 -> 1263 bytes .../engine/SystemWebChromeClient$4.class | Bin 0 -> 1669 bytes .../engine/SystemWebChromeClient$5.class | Bin 0 -> 1775 bytes .../engine/SystemWebChromeClient.class | Bin 0 -> 10933 bytes .../apache/cordova/engine/SystemWebView.class | Bin 0 -> 2658 bytes .../cordova/engine/SystemWebViewClient.class | Bin 0 -> 9501 bytes .../engine/SystemWebViewEngine$1.class | Bin 0 -> 1834 bytes .../engine/SystemWebViewEngine$2.class | Bin 0 -> 1043 bytes .../cordova/engine/SystemWebViewEngine.class | Bin 0 -> 11318 bytes .../compileDebugAidl/dependency.store | Bin 0 -> 5 bytes .../incremental/mergeDebugAssets/merger.xml | 2 + .../mergeDebugJniLibFolders/merger.xml | 2 + .../packageDebugResources/merger.xml | 2 + .../build/outputs/aar/CordovaLib-debug.aar | Bin 0 -> 114391 bytes platforms/android/CordovaLib/cordova.gradle | 201 + .../android/CordovaLib/project.properties | 16 + .../apache/cordova/AuthenticationToken.java | 69 + .../org/apache/cordova/CallbackContext.java | 144 + .../src/org/apache/cordova/Config.java | 72 + .../org/apache/cordova/ConfigXmlParser.java | 145 + .../org/apache/cordova/CordovaActivity.java | 508 + .../src/org/apache/cordova/CordovaArgs.java | 113 + .../src/org/apache/cordova/CordovaBridge.java | 184 + .../cordova/CordovaClientCertRequest.java | 96 + .../apache/cordova/CordovaDialogsHelper.java | 152 + .../cordova/CordovaHttpAuthHandler.java | 51 + .../org/apache/cordova/CordovaInterface.java | 88 + .../apache/cordova/CordovaInterfaceImpl.java | 238 + .../src/org/apache/cordova/CordovaPlugin.java | 422 + .../apache/cordova/CordovaPreferences.java | 101 + .../apache/cordova/CordovaResourceApi.java | 471 + .../org/apache/cordova/CordovaWebView.java | 142 + .../apache/cordova/CordovaWebViewEngine.java | 81 + .../apache/cordova/CordovaWebViewImpl.java | 613 + .../src/org/apache/cordova/CoreAndroid.java | 360 + .../src/org/apache/cordova/ExposedJsApi.java | 31 + .../cordova/ICordovaClientCertRequest.java | 66 + .../apache/cordova/ICordovaCookieManager.java | 33 + .../cordova/ICordovaHttpAuthHandler.java | 38 + .../src/org/apache/cordova/LOG.java | 234 + .../cordova/NativeToJsMessageQueue.java | 501 + .../src/org/apache/cordova/PluginEntry.java | 70 + .../src/org/apache/cordova/PluginManager.java | 527 + .../src/org/apache/cordova/PluginResult.java | 198 + .../org/apache/cordova/ResumeCallback.java | 76 + .../src/org/apache/cordova/Whitelist.java | 170 + .../cordova/engine/SystemCookieManager.java | 66 + .../cordova/engine/SystemExposedJsApi.java | 53 + .../cordova/engine/SystemWebChromeClient.java | 293 + .../apache/cordova/engine/SystemWebView.java | 88 + .../cordova/engine/SystemWebViewClient.java | 374 + .../cordova/engine/SystemWebViewEngine.java | 334 + platforms/android/android.json | 49 + .../android/assets/www/app/app.config.js | 33 + .../assets/www/app/app.initialization.js | 8 + platforms/android/assets/www/app/app.js | 32 + .../android/assets/www/app/app.routes.js | 40 + .../www/app/history/history.controller.js | 11 + .../assets/www/app/history/history.module.js | 3 + .../assets/www/app/history/tab-history.html | 1 + .../app/services/bluetooth-helper.service.js | 76 + .../www/app/services/bluetooth.service.js | 113 + .../www/app/services/hex-ascii.service.js | 87 + .../www/app/services/rfduino.service.js | 87 + .../www/app/services/settings.service.js | 84 + .../www/app/settings/settings.controller.js | 118 + .../www/app/settings/settings.module.js | 3 + .../assets/www/app/settings/tab-settings.html | 63 + .../assets/www/app/shell/tab.controller.js | 30 + .../assets/www/app/shell/tab.module.js | 3 + .../android/assets/www/app/shell/tabs.html | 13 + .../workout/modal/set-info-modal.tmpl.html | 56 + .../app/workout/modal/set-info.controller.js | 39 + .../assets/www/app/workout/tab-workout.html | 33 + .../templates/bluetooth-disabled.tmpl.html | 5 + .../bluetooth-disconnected.tmpl.html | 5 + .../app/workout/templates/waiting.tmpl.html | 12 + .../workout/templates/workout-card.tmpl.html | 26 + .../templates/workout.initialization.js | 9 + .../www/app/workout/workout.controller.js | 160 + .../assets/www/app/workout/workout.module.js | 3 + .../android/nativeapiprovider.js | 36 + .../android/promptbasednativeapi.js | 35 + .../android/assets/www/cordova-js-src/exec.js | 283 + .../assets/www/cordova-js-src/platform.js | 105 + .../www/cordova-js-src/plugin/android/app.js | 108 + platforms/android/assets/www/cordova.js | 2147 + .../android/assets/www/cordova_plugins.js | 15 + platforms/android/assets/www/css/style.css | 86 + platforms/android/assets/www/css/workout.css | 92 + .../assets/www/img/icons/OpenBarbell_Icon.svg | 153 + .../android/assets/www/img/icons/add.svg | 4 + .../assets/www/img/icons/bluetooth.svg | 4 + .../android/assets/www/img/icons/remove.svg | 4 + platforms/android/assets/www/index.html | 74 + .../www/lib/ionic-material/ionic.material.css | 2933 + .../www/lib/ionic-material/ionic.material.js | 957 + .../lib/ionic-material/ionic.material.min.css | 12 + .../lib/ionic-material/ionic.material.min.js | 14 + .../ionic-material/ionic.material.min.js.map | 1 + .../css/bootstrap-3.3.5/bootstrap.min.css | 5 + .../assets/www/lib/ionic/css/ionic.css | 9729 +++ .../assets/www/lib/ionic/css/ionic.min.css | 23 + .../assets/www/lib/ionic/fonts/ionicons.eot | Bin 0 -> 120724 bytes .../assets/www/lib/ionic/fonts/ionicons.svg | 2230 + .../assets/www/lib/ionic/fonts/ionicons.ttf | Bin 0 -> 188508 bytes .../assets/www/lib/ionic/fonts/ionicons.woff | Bin 0 -> 67904 bytes .../angular-material.min.css | 6 + .../angular-material.min.js | 15 + .../ionic/js/angular-ui/angular-ui-router.js | 4232 + .../js/angular-ui/angular-ui-router.min.js | 7 + .../lib/ionic/js/angular/angular-animate.js | 3928 + .../ionic/js/angular/angular-animate.min.js | 56 + .../js/angular/angular-animate.min.js.map | 8 + .../www/lib/ionic/js/angular/angular-aria.js | 397 + .../lib/ionic/js/angular/angular-aria.min.js | 14 + .../ionic/js/angular/angular-aria.min.js.map | 8 + .../lib/ionic/js/angular/angular-cookies.js | 321 + .../ionic/js/angular/angular-cookies.min.js | 9 + .../js/angular/angular-cookies.min.js.map | 8 + .../www/lib/ionic/js/angular/angular-csp.css | 21 + .../lib/ionic/js/angular/angular-loader.js | 443 + .../ionic/js/angular/angular-loader.min.js | 10 + .../js/angular/angular-loader.min.js.map | 8 + .../js/angular/angular-message-format.js | 980 + .../js/angular/angular-message-format.min.js | 26 + .../angular/angular-message-format.min.js.map | 8 + .../lib/ionic/js/angular/angular-messages.js | 685 + .../ionic/js/angular/angular-messages.min.js | 12 + .../js/angular/angular-messages.min.js.map | 8 + .../www/lib/ionic/js/angular/angular-mocks.js | 2470 + .../lib/ionic/js/angular/angular-resource.js | 675 + .../ionic/js/angular/angular-resource.min.js | 13 + .../js/angular/angular-resource.min.js.map | 8 + .../www/lib/ionic/js/angular/angular-route.js | 991 + .../lib/ionic/js/angular/angular-route.min.js | 15 + .../ionic/js/angular/angular-route.min.js.map | 8 + .../lib/ionic/js/angular/angular-sanitize.js | 683 + .../ionic/js/angular/angular-sanitize.min.js | 16 + .../js/angular/angular-sanitize.min.js.map | 8 + .../lib/ionic/js/angular/angular-scenario.js | 40324 ++++++++++ .../www/lib/ionic/js/angular/angular-touch.js | 628 + .../lib/ionic/js/angular/angular-touch.min.js | 13 + .../ionic/js/angular/angular-touch.min.js.map | 8 + .../www/lib/ionic/js/angular/angular.js | 28904 +++++++ .../www/lib/ionic/js/angular/angular.min.js | 294 + .../lib/ionic/js/angular/angular.min.js.map | 8 + .../www/lib/ionic/js/angular/errors.json | 1 + .../www/lib/ionic/js/angular/version.json | 1 + .../www/lib/ionic/js/angular/version.txt | 1 + .../assets/www/lib/ionic/js/ionic-angular.js | 14044 ++++ .../www/lib/ionic/js/ionic-angular.min.js | 18 + .../assets/www/lib/ionic/js/ionic.bundle.js | 64386 ++++++++++++++++ .../www/lib/ionic/js/ionic.bundle.min.js | 448 + .../android/assets/www/lib/ionic/js/ionic.js | 13298 ++++ .../assets/www/lib/ionic/js/ionic.min.js | 20 + .../lib/ionic/js/pouchDB/pouchdb-5.2.1.min.js | 11 + .../www/lib/ionic/scss/_action-sheet.scss | 170 + .../www/lib/ionic/scss/_animations.scss | 48 + .../assets/www/lib/ionic/scss/_backdrop.scss | 24 + .../assets/www/lib/ionic/scss/_badge.scss | 62 + .../assets/www/lib/ionic/scss/_bar.scss | 404 + .../www/lib/ionic/scss/_button-bar.scss | 64 + .../assets/www/lib/ionic/scss/_button.scss | 252 + .../assets/www/lib/ionic/scss/_checkbox.scss | 180 + .../assets/www/lib/ionic/scss/_form.scss | 327 + .../assets/www/lib/ionic/scss/_grid.scss | 159 + .../assets/www/lib/ionic/scss/_items.scss | 815 + .../assets/www/lib/ionic/scss/_list.scss | 125 + .../assets/www/lib/ionic/scss/_loading.scss | 51 + .../assets/www/lib/ionic/scss/_menu.scss | 70 + .../assets/www/lib/ionic/scss/_mixins.scss | 640 + .../assets/www/lib/ionic/scss/_modal.scss | 102 + .../assets/www/lib/ionic/scss/_platform.scss | 77 + .../assets/www/lib/ionic/scss/_popover.scss | 168 + .../assets/www/lib/ionic/scss/_popup.scss | 110 + .../assets/www/lib/ionic/scss/_progress.scss | 11 + .../assets/www/lib/ionic/scss/_radio.scss | 47 + .../assets/www/lib/ionic/scss/_range.scss | 160 + .../assets/www/lib/ionic/scss/_refresher.scss | 113 + .../assets/www/lib/ionic/scss/_reset.scss | 365 + .../www/lib/ionic/scss/_scaffolding.scss | 295 + .../assets/www/lib/ionic/scss/_select.scss | 142 + .../assets/www/lib/ionic/scss/_slide-box.scss | 71 + .../assets/www/lib/ionic/scss/_slides.scss | 529 + .../assets/www/lib/ionic/scss/_spinner.scss | 100 + .../assets/www/lib/ionic/scss/_tabs.scss | 528 + .../assets/www/lib/ionic/scss/_toggle.scss | 198 + .../www/lib/ionic/scss/_transitions.scss | 188 + .../assets/www/lib/ionic/scss/_type.scss | 166 + .../assets/www/lib/ionic/scss/_util.scss | 296 + .../assets/www/lib/ionic/scss/_variables.scss | 761 + .../assets/www/lib/ionic/scss/ionic.scss | 54 + .../ionic/scss/ionicons/_ionicons-font.scss | 28 + .../ionic/scss/ionicons/_ionicons-icons.scss | 1473 + .../scss/ionicons/_ionicons-variables.scss | 741 + .../www/lib/ionic/scss/ionicons/ionicons.scss | 16 + .../android/assets/www/lib/ionic/version.json | 6 + .../www/bluetoothSerial.js | 146 + platforms/android/build.gradle | 305 + platforms/android/cordova/.jshintrc | 10 + platforms/android/cordova/Api.js | 492 + platforms/android/cordova/android_sdk_version | 29 + platforms/android/cordova/build | 48 + platforms/android/cordova/build.bat | 26 + platforms/android/cordova/check_reqs | 31 + platforms/android/cordova/check_reqs.bat | 26 + platforms/android/cordova/clean | 36 + platforms/android/cordova/clean.bat | 26 + platforms/android/cordova/defaults.xml | 26 + platforms/android/cordova/lib/Adb.js | 96 + .../android/cordova/lib/AndroidManifest.js | 161 + .../android/cordova/lib/AndroidProject.js | 184 + .../android/cordova/lib/ConsoleLogger.js | 75 + .../cordova/lib/android_sdk_version.js | 64 + platforms/android/cordova/lib/build.js | 307 + .../cordova/lib/builders/AntBuilder.js | 141 + .../cordova/lib/builders/GenericBuilder.js | 138 + .../cordova/lib/builders/GradleBuilder.js | 275 + .../android/cordova/lib/builders/builders.js | 47 + platforms/android/cordova/lib/check_reqs.js | 330 + platforms/android/cordova/lib/device.js | 106 + platforms/android/cordova/lib/emulator.js | 372 + platforms/android/cordova/lib/install-device | 42 + .../android/cordova/lib/install-device.bat | 26 + .../android/cordova/lib/install-emulator | 38 + .../android/cordova/lib/install-emulator.bat | 26 + platforms/android/cordova/lib/list-devices | 33 + .../android/cordova/lib/list-devices.bat | 26 + .../android/cordova/lib/list-emulator-images | 32 + .../cordova/lib/list-emulator-images.bat | 26 + .../cordova/lib/list-started-emulators | 32 + .../cordova/lib/list-started-emulators.bat | 26 + platforms/android/cordova/lib/log.js | 56 + .../android/cordova/lib/plugin-build.gradle | 79 + .../android/cordova/lib/pluginHandlers.js | 252 + platforms/android/cordova/lib/prepare.js | 379 + platforms/android/cordova/lib/retry.js | 68 + platforms/android/cordova/lib/run.js | 130 + platforms/android/cordova/lib/start-emulator | 39 + .../android/cordova/lib/start-emulator.bat | 26 + platforms/android/cordova/log | 36 + platforms/android/cordova/log.bat | 26 + .../node_modules/cordova-common/.jscs.json | 24 + .../node_modules/cordova-common/.jshintignore | 1 + .../node_modules/cordova-common/.npmignore | 2 + .../node_modules/cordova-common/.ratignore | 2 + .../node_modules/cordova-common/README.md | 149 + .../cordova-common/RELEASENOTES.md | 34 + .../cordova-common/cordova-common.js | 42 + .../node_modules/bplist-parser/.npmignore | 8 + .../node_modules/bplist-parser/README.md | 47 + .../bplist-parser/bplistParser.js | 357 + .../node_modules/big-integer/.gitconfig | 3 + .../node_modules/big-integer/.zuul.yml | 8 + .../node_modules/big-integer/.zuulrc | 2 + .../node_modules/big-integer/BigInteger.js | 1181 + .../big-integer/BigInteger.min.js | 1 + .../node_modules/big-integer/LICENSE | 24 + .../node_modules/big-integer/README.md | 506 + .../node_modules/big-integer/package.json | 70 + .../node_modules/bplist-parser/package.json | 56 + .../bplist-parser/test/airplay.bplist | Bin 0 -> 341 bytes .../bplist-parser/test/iTunes-small.bplist | Bin 0 -> 24433 bytes .../bplist-parser/test/int64.bplist | Bin 0 -> 84 bytes .../node_modules/bplist-parser/test/int64.xml | 10 + .../bplist-parser/test/parseTest.js | 159 + .../bplist-parser/test/sample1.bplist | Bin 0 -> 605 bytes .../bplist-parser/test/sample2.bplist | Bin 0 -> 384 bytes .../bplist-parser/test/uid.bplist | Bin 0 -> 365 bytes .../bplist-parser/test/utf16.bplist | Bin 0 -> 1273 bytes .../bplist-parser/test/utf16_chinese.plist | Bin 0 -> 2362 bytes .../cordova-registry-mapper/.npmignore | 1 + .../cordova-registry-mapper/.travis.yml | 7 + .../cordova-registry-mapper/README.md | 14 + .../cordova-registry-mapper/index.js | 201 + .../cordova-registry-mapper/package.json | 51 + .../cordova-registry-mapper/tests/test.js | 11 + .../cordova-common/node_modules/glob/LICENSE | 15 + .../node_modules/glob/README.md | 377 + .../node_modules/glob/common.js | 245 + .../cordova-common/node_modules/glob/glob.js | 752 + .../glob/node_modules/inflight/.eslintrc | 17 + .../glob/node_modules/inflight/LICENSE | 15 + .../glob/node_modules/inflight/README.md | 37 + .../glob/node_modules/inflight/inflight.js | 44 + .../inflight/node_modules/wrappy/LICENSE | 15 + .../inflight/node_modules/wrappy/README.md | 36 + .../inflight/node_modules/wrappy/package.json | 52 + .../node_modules/wrappy/test/basic.js | 51 + .../inflight/node_modules/wrappy/wrappy.js | 33 + .../glob/node_modules/inflight/package.json | 61 + .../glob/node_modules/inflight/test.js | 97 + .../glob/node_modules/inherits/LICENSE | 16 + .../glob/node_modules/inherits/README.md | 42 + .../glob/node_modules/inherits/inherits.js | 1 + .../node_modules/inherits/inherits_browser.js | 23 + .../glob/node_modules/inherits/package.json | 50 + .../glob/node_modules/inherits/test.js | 25 + .../glob/node_modules/minimatch/LICENSE | 15 + .../glob/node_modules/minimatch/README.md | 216 + .../glob/node_modules/minimatch/minimatch.js | 912 + .../node_modules/brace-expansion/.npmignore | 3 + .../node_modules/brace-expansion/README.md | 122 + .../node_modules/brace-expansion/example.js | 8 + .../node_modules/brace-expansion/index.js | 191 + .../node_modules/balanced-match/.npmignore | 2 + .../node_modules/balanced-match/.travis.yml | 3 + .../node_modules/balanced-match/LICENSE.md | 21 + .../node_modules/balanced-match/Makefile | 6 + .../node_modules/balanced-match/README.md | 89 + .../node_modules/balanced-match/example.js | 5 + .../node_modules/balanced-match/index.js | 50 + .../node_modules/balanced-match/package.json | 73 + .../balanced-match/test/balanced.js | 84 + .../node_modules/concat-map/.travis.yml | 4 + .../node_modules/concat-map/LICENSE | 18 + .../node_modules/concat-map/README.markdown | 62 + .../node_modules/concat-map/example/map.js | 6 + .../node_modules/concat-map/index.js | 13 + .../node_modules/concat-map/package.json | 83 + .../node_modules/concat-map/test/map.js | 39 + .../node_modules/brace-expansion/package.json | 75 + .../glob/node_modules/minimatch/package.json | 60 + .../glob/node_modules/once/LICENSE | 15 + .../glob/node_modules/once/README.md | 51 + .../once/node_modules/wrappy/LICENSE | 15 + .../once/node_modules/wrappy/README.md | 36 + .../once/node_modules/wrappy/package.json | 52 + .../once/node_modules/wrappy/test/basic.js | 51 + .../once/node_modules/wrappy/wrappy.js | 33 + .../glob/node_modules/once/once.js | 21 + .../glob/node_modules/once/package.json | 63 + .../node_modules/path-is-absolute/index.js | 20 + .../node_modules/path-is-absolute/license | 21 + .../path-is-absolute/package.json | 70 + .../node_modules/path-is-absolute/readme.md | 51 + .../node_modules/glob/package.json | 73 + .../cordova-common/node_modules/glob/sync.js | 460 + .../node_modules/osenv/.npmignore | 13 + .../node_modules/osenv/.travis.yml | 9 + .../cordova-common/node_modules/osenv/LICENSE | 15 + .../node_modules/osenv/README.md | 63 + .../osenv/node_modules/os-homedir/index.js | 24 + .../osenv/node_modules/os-homedir/license | 21 + .../node_modules/os-homedir/package.json | 70 + .../osenv/node_modules/os-homedir/readme.md | 33 + .../osenv/node_modules/os-tmpdir/index.js | 25 + .../osenv/node_modules/os-tmpdir/license | 21 + .../osenv/node_modules/os-tmpdir/package.json | 70 + .../osenv/node_modules/os-tmpdir/readme.md | 36 + .../node_modules/osenv/osenv.js | 72 + .../node_modules/osenv/package.json | 76 + .../node_modules/osenv/test/unix.js | 71 + .../node_modules/osenv/test/windows.js | 74 + .../cordova-common/node_modules/osenv/x.tap | 39 + .../node_modules/plist/.jshintrc | 4 + .../node_modules/plist/.travis.yml | 34 + .../node_modules/plist/History.md | 122 + .../cordova-common/node_modules/plist/LICENSE | 24 + .../node_modules/plist/Makefile | 76 + .../node_modules/plist/README.md | 113 + .../node_modules/plist/dist/plist-build.js | 3982 + .../node_modules/plist/dist/plist-parse.js | 4055 + .../node_modules/plist/dist/plist.js | 7987 ++ .../plist/examples/browser/index.html | 14 + .../node_modules/plist/lib/build.js | 138 + .../node_modules/plist/lib/node.js | 49 + .../node_modules/plist/lib/parse.js | 200 + .../node_modules/plist/lib/plist.js | 23 + .../plist/node_modules/base64-js/.travis.yml | 5 + .../plist/node_modules/base64-js/LICENSE.MIT | 21 + .../plist/node_modules/base64-js/README.md | 31 + .../node_modules/base64-js/bench/bench.js | 19 + .../plist/node_modules/base64-js/lib/b64.js | 124 + .../plist/node_modules/base64-js/package.json | 68 + .../node_modules/base64-js/test/convert.js | 51 + .../node_modules/base64-js/test/url-safe.js | 18 + .../node_modules/util-deprecate/History.md | 16 + .../plist/node_modules/util-deprecate/LICENSE | 24 + .../node_modules/util-deprecate/README.md | 53 + .../node_modules/util-deprecate/browser.js | 67 + .../plist/node_modules/util-deprecate/node.js | 6 + .../node_modules/util-deprecate/package.json | 54 + .../plist/node_modules/xmlbuilder/.npmignore | 5 + .../plist/node_modules/xmlbuilder/LICENSE | 21 + .../plist/node_modules/xmlbuilder/README.md | 86 + .../xmlbuilder/lib/XMLAttribute.js | 32 + .../node_modules/xmlbuilder/lib/XMLBuilder.js | 69 + .../node_modules/xmlbuilder/lib/XMLCData.js | 49 + .../node_modules/xmlbuilder/lib/XMLComment.js | 49 + .../xmlbuilder/lib/XMLDTDAttList.js | 68 + .../xmlbuilder/lib/XMLDTDElement.js | 46 + .../xmlbuilder/lib/XMLDTDEntity.js | 84 + .../xmlbuilder/lib/XMLDTDNotation.js | 56 + .../xmlbuilder/lib/XMLDeclaration.js | 65 + .../node_modules/xmlbuilder/lib/XMLDocType.js | 188 + .../node_modules/xmlbuilder/lib/XMLElement.js | 212 + .../node_modules/xmlbuilder/lib/XMLNode.js | 331 + .../lib/XMLProcessingInstruction.js | 51 + .../node_modules/xmlbuilder/lib/XMLRaw.js | 49 + .../xmlbuilder/lib/XMLStringifier.js | 165 + .../node_modules/xmlbuilder/lib/XMLText.js | 49 + .../node_modules/xmlbuilder/lib/index.js | 14 + .../xmlbuilder/node_modules/lodash/LICENSE | 22 + .../xmlbuilder/node_modules/lodash/README.md | 121 + .../xmlbuilder/node_modules/lodash/array.js | 44 + .../node_modules/lodash/array/chunk.js | 46 + .../node_modules/lodash/array/compact.js | 30 + .../node_modules/lodash/array/difference.js | 29 + .../node_modules/lodash/array/drop.js | 39 + .../node_modules/lodash/array/dropRight.js | 40 + .../lodash/array/dropRightWhile.js | 59 + .../node_modules/lodash/array/dropWhile.js | 59 + .../node_modules/lodash/array/fill.js | 44 + .../node_modules/lodash/array/findIndex.js | 53 + .../lodash/array/findLastIndex.js | 53 + .../node_modules/lodash/array/first.js | 22 + .../node_modules/lodash/array/flatten.js | 32 + .../node_modules/lodash/array/flattenDeep.js | 21 + .../node_modules/lodash/array/head.js | 1 + .../node_modules/lodash/array/indexOf.js | 53 + .../node_modules/lodash/array/initial.js | 20 + .../node_modules/lodash/array/intersection.js | 58 + .../node_modules/lodash/array/last.js | 19 + .../node_modules/lodash/array/lastIndexOf.js | 60 + .../node_modules/lodash/array/object.js | 1 + .../node_modules/lodash/array/pull.js | 52 + .../node_modules/lodash/array/pullAt.js | 40 + .../node_modules/lodash/array/remove.js | 64 + .../node_modules/lodash/array/rest.js | 21 + .../node_modules/lodash/array/slice.js | 30 + .../node_modules/lodash/array/sortedIndex.js | 53 + .../lodash/array/sortedLastIndex.js | 25 + .../node_modules/lodash/array/tail.js | 1 + .../node_modules/lodash/array/take.js | 39 + .../node_modules/lodash/array/takeRight.js | 40 + .../lodash/array/takeRightWhile.js | 59 + .../node_modules/lodash/array/takeWhile.js | 59 + .../node_modules/lodash/array/union.js | 24 + .../node_modules/lodash/array/uniq.js | 71 + .../node_modules/lodash/array/unique.js | 1 + .../node_modules/lodash/array/unzip.js | 47 + .../node_modules/lodash/array/unzipWith.js | 41 + .../node_modules/lodash/array/without.js | 27 + .../node_modules/lodash/array/xor.js | 35 + .../node_modules/lodash/array/zip.js | 21 + .../node_modules/lodash/array/zipObject.js | 43 + .../node_modules/lodash/array/zipWith.js | 36 + .../xmlbuilder/node_modules/lodash/chain.js | 16 + .../node_modules/lodash/chain/chain.js | 35 + .../node_modules/lodash/chain/commit.js | 1 + .../node_modules/lodash/chain/concat.js | 1 + .../node_modules/lodash/chain/lodash.js | 125 + .../node_modules/lodash/chain/plant.js | 1 + .../node_modules/lodash/chain/reverse.js | 1 + .../node_modules/lodash/chain/run.js | 1 + .../node_modules/lodash/chain/tap.js | 29 + .../node_modules/lodash/chain/thru.js | 26 + .../node_modules/lodash/chain/toJSON.js | 1 + .../node_modules/lodash/chain/toString.js | 1 + .../node_modules/lodash/chain/value.js | 1 + .../node_modules/lodash/chain/valueOf.js | 1 + .../node_modules/lodash/chain/wrapperChain.js | 32 + .../lodash/chain/wrapperCommit.js | 32 + .../lodash/chain/wrapperConcat.js | 34 + .../node_modules/lodash/chain/wrapperPlant.js | 45 + .../lodash/chain/wrapperReverse.js | 43 + .../lodash/chain/wrapperToString.js | 17 + .../node_modules/lodash/chain/wrapperValue.js | 20 + .../node_modules/lodash/collection.js | 44 + .../node_modules/lodash/collection/all.js | 1 + .../node_modules/lodash/collection/any.js | 1 + .../node_modules/lodash/collection/at.js | 29 + .../node_modules/lodash/collection/collect.js | 1 + .../lodash/collection/contains.js | 1 + .../node_modules/lodash/collection/countBy.js | 54 + .../node_modules/lodash/collection/detect.js | 1 + .../node_modules/lodash/collection/each.js | 1 + .../lodash/collection/eachRight.js | 1 + .../node_modules/lodash/collection/every.js | 66 + .../node_modules/lodash/collection/filter.js | 61 + .../node_modules/lodash/collection/find.js | 56 + .../lodash/collection/findLast.js | 25 + .../lodash/collection/findWhere.js | 37 + .../node_modules/lodash/collection/foldl.js | 1 + .../node_modules/lodash/collection/foldr.js | 1 + .../node_modules/lodash/collection/forEach.js | 37 + .../lodash/collection/forEachRight.js | 26 + .../node_modules/lodash/collection/groupBy.js | 59 + .../node_modules/lodash/collection/include.js | 1 + .../lodash/collection/includes.js | 57 + .../node_modules/lodash/collection/indexBy.js | 53 + .../node_modules/lodash/collection/inject.js | 1 + .../node_modules/lodash/collection/invoke.js | 42 + .../node_modules/lodash/collection/map.js | 68 + .../node_modules/lodash/collection/max.js | 1 + .../node_modules/lodash/collection/min.js | 1 + .../lodash/collection/partition.js | 66 + .../node_modules/lodash/collection/pluck.js | 31 + .../node_modules/lodash/collection/reduce.js | 44 + .../lodash/collection/reduceRight.js | 29 + .../node_modules/lodash/collection/reject.js | 50 + .../node_modules/lodash/collection/sample.js | 50 + .../node_modules/lodash/collection/select.js | 1 + .../node_modules/lodash/collection/shuffle.js | 24 + .../node_modules/lodash/collection/size.js | 30 + .../node_modules/lodash/collection/some.js | 67 + .../node_modules/lodash/collection/sortBy.js | 71 + .../lodash/collection/sortByAll.js | 52 + .../lodash/collection/sortByOrder.js | 55 + .../node_modules/lodash/collection/sum.js | 1 + .../node_modules/lodash/collection/where.js | 37 + .../xmlbuilder/node_modules/lodash/date.js | 3 + .../node_modules/lodash/date/now.js | 24 + .../node_modules/lodash/function.js | 28 + .../node_modules/lodash/function/after.js | 48 + .../node_modules/lodash/function/ary.js | 34 + .../node_modules/lodash/function/backflow.js | 1 + .../node_modules/lodash/function/before.js | 42 + .../node_modules/lodash/function/bind.js | 56 + .../node_modules/lodash/function/bindAll.js | 50 + .../node_modules/lodash/function/bindKey.js | 66 + .../node_modules/lodash/function/compose.js | 1 + .../node_modules/lodash/function/curry.js | 51 + .../lodash/function/curryRight.js | 48 + .../node_modules/lodash/function/debounce.js | 181 + .../node_modules/lodash/function/defer.js | 25 + .../node_modules/lodash/function/delay.js | 26 + .../node_modules/lodash/function/flow.js | 25 + .../node_modules/lodash/function/flowRight.js | 25 + .../node_modules/lodash/function/memoize.js | 80 + .../node_modules/lodash/function/modArgs.js | 58 + .../node_modules/lodash/function/negate.js | 32 + .../node_modules/lodash/function/once.js | 24 + .../node_modules/lodash/function/partial.js | 43 + .../lodash/function/partialRight.js | 42 + .../node_modules/lodash/function/rearg.js | 40 + .../node_modules/lodash/function/restParam.js | 58 + .../node_modules/lodash/function/spread.js | 44 + .../node_modules/lodash/function/throttle.js | 62 + .../node_modules/lodash/function/wrap.js | 33 + .../xmlbuilder/node_modules/lodash/index.js | 12351 +++ .../lodash/internal/LazyWrapper.js | 26 + .../lodash/internal/LodashWrapper.js | 21 + .../node_modules/lodash/internal/MapCache.js | 24 + .../node_modules/lodash/internal/SetCache.js | 29 + .../lodash/internal/arrayConcat.js | 25 + .../node_modules/lodash/internal/arrayCopy.js | 20 + .../node_modules/lodash/internal/arrayEach.js | 22 + .../lodash/internal/arrayEachRight.js | 21 + .../lodash/internal/arrayEvery.js | 23 + .../lodash/internal/arrayExtremum.js | 30 + .../lodash/internal/arrayFilter.js | 25 + .../node_modules/lodash/internal/arrayMap.js | 21 + .../node_modules/lodash/internal/arrayPush.js | 20 + .../lodash/internal/arrayReduce.js | 26 + .../lodash/internal/arrayReduceRight.js | 24 + .../node_modules/lodash/internal/arraySome.js | 23 + .../node_modules/lodash/internal/arraySum.js | 20 + .../lodash/internal/assignDefaults.js | 13 + .../lodash/internal/assignOwnDefaults.js | 26 + .../lodash/internal/assignWith.js | 32 + .../lodash/internal/baseAssign.js | 19 + .../node_modules/lodash/internal/baseAt.js | 32 + .../lodash/internal/baseCallback.js | 35 + .../node_modules/lodash/internal/baseClone.js | 128 + .../lodash/internal/baseCompareAscending.js | 34 + .../node_modules/lodash/internal/baseCopy.js | 23 + .../lodash/internal/baseCreate.js | 23 + .../node_modules/lodash/internal/baseDelay.js | 21 + .../lodash/internal/baseDifference.js | 55 + .../node_modules/lodash/internal/baseEach.js | 15 + .../lodash/internal/baseEachRight.js | 15 + .../node_modules/lodash/internal/baseEvery.js | 22 + .../lodash/internal/baseExtremum.js | 29 + .../node_modules/lodash/internal/baseFill.js | 31 + .../lodash/internal/baseFilter.js | 22 + .../node_modules/lodash/internal/baseFind.js | 25 + .../lodash/internal/baseFindIndex.js | 23 + .../lodash/internal/baseFlatten.js | 41 + .../node_modules/lodash/internal/baseFor.js | 17 + .../node_modules/lodash/internal/baseForIn.js | 17 + .../lodash/internal/baseForOwn.js | 17 + .../lodash/internal/baseForOwnRight.js | 17 + .../lodash/internal/baseForRight.js | 15 + .../lodash/internal/baseFunctions.js | 27 + .../node_modules/lodash/internal/baseGet.js | 29 + .../lodash/internal/baseIndexOf.js | 27 + .../lodash/internal/baseIsEqual.js | 28 + .../lodash/internal/baseIsEqualDeep.js | 102 + .../lodash/internal/baseIsFunction.js | 15 + .../lodash/internal/baseIsMatch.js | 52 + .../lodash/internal/baseLodash.js | 10 + .../node_modules/lodash/internal/baseMap.js | 23 + .../lodash/internal/baseMatches.js | 30 + .../lodash/internal/baseMatchesProperty.js | 45 + .../node_modules/lodash/internal/baseMerge.js | 56 + .../lodash/internal/baseMergeDeep.js | 67 + .../lodash/internal/baseProperty.js | 14 + .../lodash/internal/basePropertyDeep.js | 19 + .../lodash/internal/basePullAt.js | 30 + .../lodash/internal/baseRandom.js | 18 + .../lodash/internal/baseReduce.js | 24 + .../lodash/internal/baseSetData.js | 17 + .../node_modules/lodash/internal/baseSlice.js | 32 + .../node_modules/lodash/internal/baseSome.js | 23 + .../lodash/internal/baseSortBy.js | 21 + .../lodash/internal/baseSortByOrder.js | 31 + .../node_modules/lodash/internal/baseSum.js | 20 + .../lodash/internal/baseToString.js | 13 + .../node_modules/lodash/internal/baseUniq.js | 60 + .../lodash/internal/baseValues.js | 22 + .../node_modules/lodash/internal/baseWhile.js | 24 + .../lodash/internal/baseWrapperValue.js | 29 + .../lodash/internal/binaryIndex.js | 39 + .../lodash/internal/binaryIndexBy.js | 57 + .../lodash/internal/bindCallback.js | 39 + .../lodash/internal/bufferClone.js | 20 + .../lodash/internal/cacheIndexOf.js | 19 + .../node_modules/lodash/internal/cachePush.js | 20 + .../lodash/internal/charsLeftIndex.js | 18 + .../lodash/internal/charsRightIndex.js | 17 + .../lodash/internal/compareAscending.js | 16 + .../lodash/internal/compareMultiple.js | 44 + .../lodash/internal/composeArgs.js | 34 + .../lodash/internal/composeArgsRight.js | 36 + .../lodash/internal/createAggregator.js | 35 + .../lodash/internal/createAssigner.js | 41 + .../lodash/internal/createBaseEach.js | 31 + .../lodash/internal/createBaseFor.js | 27 + .../lodash/internal/createBindWrapper.js | 22 + .../lodash/internal/createCache.js | 21 + .../lodash/internal/createCompounder.js | 26 + .../lodash/internal/createCtorWrapper.js | 37 + .../lodash/internal/createCurry.js | 23 + .../lodash/internal/createDefaults.js | 22 + .../lodash/internal/createExtremum.js | 33 + .../lodash/internal/createFind.js | 25 + .../lodash/internal/createFindIndex.js | 21 + .../lodash/internal/createFindKey.js | 18 + .../lodash/internal/createFlow.js | 74 + .../lodash/internal/createForEach.js | 20 + .../lodash/internal/createForIn.js | 20 + .../lodash/internal/createForOwn.js | 19 + .../lodash/internal/createHybridWrapper.js | 111 + .../lodash/internal/createObjectMapper.js | 26 + .../lodash/internal/createPadDir.js | 18 + .../lodash/internal/createPadding.js | 29 + .../lodash/internal/createPartial.js | 20 + .../lodash/internal/createPartialWrapper.js | 43 + .../lodash/internal/createReduce.js | 22 + .../lodash/internal/createRound.js | 23 + .../lodash/internal/createSortedIndex.js | 20 + .../lodash/internal/createWrapper.js | 86 + .../lodash/internal/deburrLetter.js | 33 + .../lodash/internal/equalArrays.js | 51 + .../lodash/internal/equalByTag.js | 48 + .../lodash/internal/equalObjects.js | 67 + .../lodash/internal/escapeHtmlChar.js | 22 + .../lodash/internal/escapeRegExpChar.js | 38 + .../lodash/internal/escapeStringChar.js | 22 + .../node_modules/lodash/internal/getData.js | 15 + .../lodash/internal/getFuncName.js | 25 + .../node_modules/lodash/internal/getLength.js | 15 + .../lodash/internal/getMatchData.js | 21 + .../node_modules/lodash/internal/getNative.js | 16 + .../node_modules/lodash/internal/getView.js | 33 + .../lodash/internal/indexOfNaN.js | 23 + .../lodash/internal/initCloneArray.js | 26 + .../lodash/internal/initCloneByTag.js | 63 + .../lodash/internal/initCloneObject.js | 16 + .../lodash/internal/invokePath.js | 26 + .../lodash/internal/isArrayLike.js | 15 + .../node_modules/lodash/internal/isIndex.js | 24 + .../lodash/internal/isIterateeCall.js | 28 + .../node_modules/lodash/internal/isKey.js | 28 + .../lodash/internal/isLaziable.js | 27 + .../node_modules/lodash/internal/isLength.js | 20 + .../lodash/internal/isObjectLike.js | 12 + .../node_modules/lodash/internal/isSpace.js | 14 + .../lodash/internal/isStrictComparable.js | 15 + .../node_modules/lodash/internal/lazyClone.js | 23 + .../lodash/internal/lazyReverse.js | 23 + .../node_modules/lodash/internal/lazyValue.js | 72 + .../node_modules/lodash/internal/mapDelete.js | 14 + .../node_modules/lodash/internal/mapGet.js | 14 + .../node_modules/lodash/internal/mapHas.js | 20 + .../node_modules/lodash/internal/mapSet.js | 18 + .../node_modules/lodash/internal/mergeData.js | 89 + .../lodash/internal/mergeDefaults.js | 15 + .../node_modules/lodash/internal/metaMap.js | 9 + .../lodash/internal/pickByArray.js | 28 + .../lodash/internal/pickByCallback.js | 22 + .../node_modules/lodash/internal/reEscape.js | 4 + .../lodash/internal/reEvaluate.js | 4 + .../lodash/internal/reInterpolate.js | 4 + .../node_modules/lodash/internal/realNames.js | 4 + .../node_modules/lodash/internal/reorder.js | 29 + .../lodash/internal/replaceHolders.js | 28 + .../node_modules/lodash/internal/setData.js | 41 + .../node_modules/lodash/internal/shimKeys.js | 41 + .../lodash/internal/sortedUniq.js | 29 + .../lodash/internal/toIterable.js | 22 + .../node_modules/lodash/internal/toObject.js | 14 + .../node_modules/lodash/internal/toPath.js | 28 + .../lodash/internal/trimmedLeftIndex.js | 19 + .../lodash/internal/trimmedRightIndex.js | 18 + .../lodash/internal/unescapeHtmlChar.js | 22 + .../lodash/internal/wrapperClone.js | 18 + .../xmlbuilder/node_modules/lodash/lang.js | 32 + .../node_modules/lodash/lang/clone.js | 70 + .../node_modules/lodash/lang/cloneDeep.js | 55 + .../xmlbuilder/node_modules/lodash/lang/eq.js | 1 + .../xmlbuilder/node_modules/lodash/lang/gt.js | 25 + .../node_modules/lodash/lang/gte.js | 25 + .../node_modules/lodash/lang/isArguments.js | 34 + .../node_modules/lodash/lang/isArray.js | 40 + .../node_modules/lodash/lang/isBoolean.js | 35 + .../node_modules/lodash/lang/isDate.js | 35 + .../node_modules/lodash/lang/isElement.js | 24 + .../node_modules/lodash/lang/isEmpty.js | 47 + .../node_modules/lodash/lang/isEqual.js | 54 + .../node_modules/lodash/lang/isError.js | 36 + .../node_modules/lodash/lang/isFinite.js | 35 + .../node_modules/lodash/lang/isFunction.js | 38 + .../node_modules/lodash/lang/isMatch.js | 49 + .../node_modules/lodash/lang/isNaN.js | 34 + .../node_modules/lodash/lang/isNative.js | 48 + .../node_modules/lodash/lang/isNull.js | 21 + .../node_modules/lodash/lang/isNumber.js | 41 + .../node_modules/lodash/lang/isObject.js | 28 + .../node_modules/lodash/lang/isPlainObject.js | 71 + .../node_modules/lodash/lang/isRegExp.js | 35 + .../node_modules/lodash/lang/isString.js | 35 + .../node_modules/lodash/lang/isTypedArray.js | 74 + .../node_modules/lodash/lang/isUndefined.js | 21 + .../xmlbuilder/node_modules/lodash/lang/lt.js | 25 + .../node_modules/lodash/lang/lte.js | 25 + .../node_modules/lodash/lang/toArray.js | 32 + .../node_modules/lodash/lang/toPlainObject.js | 31 + .../xmlbuilder/node_modules/lodash/math.js | 9 + .../node_modules/lodash/math/add.js | 19 + .../node_modules/lodash/math/ceil.js | 25 + .../node_modules/lodash/math/floor.js | 25 + .../node_modules/lodash/math/max.js | 56 + .../node_modules/lodash/math/min.js | 56 + .../node_modules/lodash/math/round.js | 25 + .../node_modules/lodash/math/sum.js | 50 + .../xmlbuilder/node_modules/lodash/number.js | 4 + .../node_modules/lodash/number/inRange.js | 47 + .../node_modules/lodash/number/random.js | 70 + .../xmlbuilder/node_modules/lodash/object.js | 31 + .../node_modules/lodash/object/assign.js | 43 + .../node_modules/lodash/object/create.js | 47 + .../node_modules/lodash/object/defaults.js | 25 + .../lodash/object/defaultsDeep.js | 25 + .../node_modules/lodash/object/extend.js | 1 + .../node_modules/lodash/object/findKey.js | 54 + .../node_modules/lodash/object/findLastKey.js | 54 + .../node_modules/lodash/object/forIn.js | 33 + .../node_modules/lodash/object/forInRight.js | 31 + .../node_modules/lodash/object/forOwn.js | 33 + .../node_modules/lodash/object/forOwnRight.js | 31 + .../node_modules/lodash/object/functions.js | 23 + .../node_modules/lodash/object/get.js | 33 + .../node_modules/lodash/object/has.js | 57 + .../node_modules/lodash/object/invert.js | 60 + .../node_modules/lodash/object/keys.js | 45 + .../node_modules/lodash/object/keysIn.js | 64 + .../node_modules/lodash/object/mapKeys.js | 25 + .../node_modules/lodash/object/mapValues.js | 46 + .../node_modules/lodash/object/merge.js | 54 + .../node_modules/lodash/object/methods.js | 1 + .../node_modules/lodash/object/omit.js | 47 + .../node_modules/lodash/object/pairs.js | 33 + .../node_modules/lodash/object/pick.js | 42 + .../node_modules/lodash/object/result.js | 49 + .../node_modules/lodash/object/set.js | 55 + .../node_modules/lodash/object/transform.js | 61 + .../node_modules/lodash/object/values.js | 33 + .../node_modules/lodash/object/valuesIn.js | 31 + .../node_modules/lodash/package.json | 94 + .../xmlbuilder/node_modules/lodash/string.js | 25 + .../node_modules/lodash/string/camelCase.js | 27 + .../node_modules/lodash/string/capitalize.js | 21 + .../node_modules/lodash/string/deburr.js | 29 + .../node_modules/lodash/string/endsWith.js | 40 + .../node_modules/lodash/string/escape.js | 48 + .../lodash/string/escapeRegExp.js | 32 + .../node_modules/lodash/string/kebabCase.js | 26 + .../node_modules/lodash/string/pad.js | 47 + .../node_modules/lodash/string/padLeft.js | 27 + .../node_modules/lodash/string/padRight.js | 27 + .../node_modules/lodash/string/parseInt.js | 46 + .../node_modules/lodash/string/repeat.js | 47 + .../node_modules/lodash/string/snakeCase.js | 26 + .../node_modules/lodash/string/startCase.js | 26 + .../node_modules/lodash/string/startsWith.js | 36 + .../node_modules/lodash/string/template.js | 226 + .../lodash/string/templateSettings.js | 67 + .../node_modules/lodash/string/trim.js | 42 + .../node_modules/lodash/string/trimLeft.js | 36 + .../node_modules/lodash/string/trimRight.js | 36 + .../node_modules/lodash/string/trunc.js | 105 + .../node_modules/lodash/string/unescape.js | 33 + .../node_modules/lodash/string/words.js | 38 + .../xmlbuilder/node_modules/lodash/support.js | 10 + .../xmlbuilder/node_modules/lodash/utility.js | 18 + .../node_modules/lodash/utility/attempt.js | 32 + .../node_modules/lodash/utility/callback.js | 53 + .../node_modules/lodash/utility/constant.js | 23 + .../node_modules/lodash/utility/identity.js | 20 + .../node_modules/lodash/utility/iteratee.js | 1 + .../node_modules/lodash/utility/matches.js | 33 + .../lodash/utility/matchesProperty.js | 32 + .../node_modules/lodash/utility/method.js | 33 + .../node_modules/lodash/utility/methodOf.js | 32 + .../node_modules/lodash/utility/mixin.js | 82 + .../node_modules/lodash/utility/noop.js | 19 + .../node_modules/lodash/utility/property.js | 31 + .../node_modules/lodash/utility/propertyOf.js | 30 + .../node_modules/lodash/utility/range.js | 66 + .../node_modules/lodash/utility/times.js | 60 + .../node_modules/lodash/utility/uniqueId.js | 27 + .../node_modules/xmlbuilder/package.json | 64 + .../plist/node_modules/xmldom/.npmignore | 5 + .../plist/node_modules/xmldom/.travis.yml | 22 + .../plist/node_modules/xmldom/LICENSE | 8 + .../plist/node_modules/xmldom/__package__.js | 4 + .../plist/node_modules/xmldom/component.json | 10 + .../plist/node_modules/xmldom/dom-parser.js | 256 + .../plist/node_modules/xmldom/dom.js | 1141 + .../plist/node_modules/xmldom/package.json | 100 + .../plist/node_modules/xmldom/readme.md | 219 + .../plist/node_modules/xmldom/sax.js | 586 + .../node_modules/plist/package.json | 92 + .../node_modules/semver/.npmignore | 4 + .../node_modules/semver/.travis.yml | 5 + .../node_modules/semver/LICENSE | 15 + .../node_modules/semver/README.md | 327 + .../node_modules/semver/bin/semver | 133 + .../node_modules/semver/package.json | 51 + .../node_modules/semver/range.bnf | 16 + .../node_modules/semver/semver.js | 1188 + .../node_modules/semver/test/big-numbers.js | 31 + .../node_modules/semver/test/clean.js | 29 + .../node_modules/semver/test/gtr.js | 173 + .../node_modules/semver/test/index.js | 698 + .../node_modules/semver/test/ltr.js | 181 + .../semver/test/major-minor-patch.js | 72 + .../node_modules/underscore/LICENSE | 23 + .../node_modules/underscore/README.md | 22 + .../node_modules/underscore/package.json | 70 + .../node_modules/underscore/underscore-min.js | 6 + .../underscore/underscore-min.map | 1 + .../node_modules/underscore/underscore.js | 1548 + .../node_modules/unorm/LICENSE.md | 42 + .../node_modules/unorm/README.md | 118 + .../node_modules/unorm/lib/unorm.js | 442 + .../node_modules/unorm/package.json | 69 + .../node_modules/cordova-common/package.json | 89 + .../node_modules/cordova-common/src/.jshintrc | 10 + .../cordova-common/src/ActionStack.js | 85 + .../src/ConfigChanges/ConfigChanges.js | 325 + .../src/ConfigChanges/ConfigFile.js | 208 + .../src/ConfigChanges/ConfigKeeper.js | 65 + .../src/ConfigChanges/munge-util.js | 160 + .../src/ConfigParser/ConfigParser.js | 499 + .../cordova-common/src/ConfigParser/README.md | 86 + .../src/CordovaError/CordovaError.js | 91 + .../CordovaExternalToolErrorContext.js | 48 + .../cordova-common/src/PlatformJson.js | 155 + .../src/PluginInfo/PluginInfo.js | 416 + .../src/PluginInfo/PluginInfoProvider.js | 82 + .../node_modules/cordova-common/src/events.js | 19 + .../cordova-common/src/superspawn.js | 154 + .../cordova-common/src/util/plist-helpers.js | 101 + .../cordova-common/src/util/xml-helpers.js | 266 + .../node_modules/elementtree/.npmignore | 1 + .../node_modules/elementtree/.travis.yml | 10 + .../node_modules/elementtree/CHANGES.md | 39 + .../node_modules/elementtree/LICENSE.txt | 203 + .../cordova/node_modules/elementtree/Makefile | 21 + .../cordova/node_modules/elementtree/NOTICE | 5 + .../node_modules/elementtree/README.md | 141 + .../node_modules/elementtree/lib/constants.js | 20 + .../elementtree/lib/elementpath.js | 343 + .../elementtree/lib/elementtree.js | 611 + .../node_modules/elementtree/lib/errors.js | 31 + .../node_modules/elementtree/lib/parser.js | 33 + .../elementtree/lib/parsers/index.js | 1 + .../elementtree/lib/parsers/sax.js | 56 + .../node_modules/elementtree/lib/sprintf.js | 86 + .../elementtree/lib/treebuilder.js | 60 + .../node_modules/elementtree/lib/utils.js | 72 + .../elementtree/node_modules/sax/AUTHORS | 9 + .../elementtree/node_modules/sax/LICENSE | 23 + .../elementtree/node_modules/sax/README.md | 213 + .../sax/examples/big-not-pretty.xml | 8002 ++ .../node_modules/sax/examples/example.js | 41 + .../node_modules/sax/examples/get-products.js | 58 + .../node_modules/sax/examples/hello-world.js | 4 + .../node_modules/sax/examples/not-pretty.xml | 8 + .../node_modules/sax/examples/pretty-print.js | 74 + .../node_modules/sax/examples/shopping.xml | 2 + .../node_modules/sax/examples/strict.dtd | 870 + .../node_modules/sax/examples/switch-bench.js | 45 + .../node_modules/sax/examples/test.html | 15 + .../node_modules/sax/examples/test.xml | 1254 + .../elementtree/node_modules/sax/lib/sax.js | 1006 + .../elementtree/node_modules/sax/package.json | 89 + .../node_modules/sax/test/buffer-overrun.js | 25 + .../node_modules/sax/test/cdata-chunked.js | 11 + .../node_modules/sax/test/cdata-end-split.js | 15 + .../node_modules/sax/test/cdata-fake-end.js | 28 + .../node_modules/sax/test/cdata-multiple.js | 15 + .../node_modules/sax/test/cdata.js | 10 + .../node_modules/sax/test/index.js | 86 + .../node_modules/sax/test/issue-23.js | 43 + .../node_modules/sax/test/issue-30.js | 24 + .../node_modules/sax/test/issue-35.js | 15 + .../node_modules/sax/test/issue-47.js | 13 + .../node_modules/sax/test/issue-49.js | 31 + .../node_modules/sax/test/parser-position.js | 28 + .../node_modules/sax/test/script.js | 12 + .../sax/test/self-closing-child-strict.js | 40 + .../sax/test/self-closing-child.js | 40 + .../node_modules/sax/test/self-closing-tag.js | 25 + .../node_modules/sax/test/stray-ending.js | 17 + .../sax/test/trailing-non-whitespace.js | 17 + .../node_modules/sax/test/unquoted.js | 17 + .../node_modules/sax/test/xmlns-issue-41.js | 67 + .../node_modules/sax/test/xmlns-rebinding.js | 59 + .../node_modules/sax/test/xmlns-strict.js | 71 + .../node_modules/sax/test/xmlns-unbound.js | 15 + .../xmlns-xml-default-prefix-attribute.js | 35 + .../sax/test/xmlns-xml-default-prefix.js | 20 + .../sax/test/xmlns-xml-default-redefine.js | 40 + .../node_modules/elementtree/package.json | 75 + .../elementtree/tests/data/xml1.xml | 17 + .../elementtree/tests/data/xml2.xml | 14 + .../elementtree/tests/test-simple.js | 339 + .../cordova/node_modules/nopt/.npmignore | 1 + .../cordova/node_modules/nopt/.travis.yml | 9 + .../android/cordova/node_modules/nopt/LICENSE | 15 + .../cordova/node_modules/nopt/README.md | 211 + .../cordova/node_modules/nopt/bin/nopt.js | 54 + .../node_modules/nopt/examples/my-program.js | 30 + .../cordova/node_modules/nopt/lib/nopt.js | 415 + .../nopt/node_modules/abbrev/.npmignore | 4 + .../nopt/node_modules/abbrev/.travis.yml | 5 + .../nopt/node_modules/abbrev/CONTRIBUTING.md | 3 + .../nopt/node_modules/abbrev/LICENSE | 15 + .../nopt/node_modules/abbrev/README.md | 23 + .../nopt/node_modules/abbrev/abbrev.js | 62 + .../nopt/node_modules/abbrev/package.json | 48 + .../nopt/node_modules/abbrev/test.js | 47 + .../cordova/node_modules/nopt/package.json | 63 + .../cordova/node_modules/nopt/test/basic.js | 273 + .../properties-parser/README.markdown | 48 + .../node_modules/properties-parser/index.js | 354 + .../properties-parser/package.json | 46 + .../properties-parser/play-ground.js | 17 + .../test/ReadProperties.class | Bin 0 -> 2613 bytes .../test/ReadProperties.java | 61 + .../test/test-cases-copy.properties | 16 + .../test/test-cases.properties | 18 + .../properties-parser/test/test.js | 123 + .../android/cordova/node_modules/q/CHANGES.md | 786 + .../android/cordova/node_modules/q/LICENSE | 18 + .../android/cordova/node_modules/q/README.md | 881 + .../cordova/node_modules/q/package.json | 120 + platforms/android/cordova/node_modules/q/q.js | 2048 + .../android/cordova/node_modules/q/queue.js | 35 + .../node_modules/shelljs/.documentup.json | 6 + .../cordova/node_modules/shelljs/.jshintrc | 7 + .../cordova/node_modules/shelljs/.npmignore | 2 + .../cordova/node_modules/shelljs/.travis.yml | 6 + .../cordova/node_modules/shelljs/LICENSE | 26 + .../cordova/node_modules/shelljs/README.md | 579 + .../cordova/node_modules/shelljs/RELEASE.md | 9 + .../cordova/node_modules/shelljs/bin/shjs | 51 + .../cordova/node_modules/shelljs/global.js | 3 + .../cordova/node_modules/shelljs/make.js | 56 + .../cordova/node_modules/shelljs/package.json | 64 + .../shelljs/scripts/generate-docs.js | 21 + .../node_modules/shelljs/scripts/run-tests.js | 50 + .../cordova/node_modules/shelljs/shell.js | 159 + .../cordova/node_modules/shelljs/src/cat.js | 43 + .../cordova/node_modules/shelljs/src/cd.js | 19 + .../cordova/node_modules/shelljs/src/chmod.js | 208 + .../node_modules/shelljs/src/common.js | 203 + .../cordova/node_modules/shelljs/src/cp.js | 204 + .../cordova/node_modules/shelljs/src/dirs.js | 191 + .../cordova/node_modules/shelljs/src/echo.js | 20 + .../cordova/node_modules/shelljs/src/error.js | 10 + .../cordova/node_modules/shelljs/src/exec.js | 216 + .../cordova/node_modules/shelljs/src/find.js | 51 + .../cordova/node_modules/shelljs/src/grep.js | 52 + .../cordova/node_modules/shelljs/src/ln.js | 53 + .../cordova/node_modules/shelljs/src/ls.js | 126 + .../cordova/node_modules/shelljs/src/mkdir.js | 68 + .../cordova/node_modules/shelljs/src/mv.js | 80 + .../cordova/node_modules/shelljs/src/popd.js | 1 + .../cordova/node_modules/shelljs/src/pushd.js | 1 + .../cordova/node_modules/shelljs/src/pwd.js | 11 + .../cordova/node_modules/shelljs/src/rm.js | 163 + .../cordova/node_modules/shelljs/src/sed.js | 43 + .../node_modules/shelljs/src/tempdir.js | 56 + .../cordova/node_modules/shelljs/src/test.js | 85 + .../cordova/node_modules/shelljs/src/to.js | 29 + .../cordova/node_modules/shelljs/src/toEnd.js | 29 + .../cordova/node_modules/shelljs/src/which.js | 83 + platforms/android/cordova/run | 51 + platforms/android/cordova/run.bat | 26 + platforms/android/cordova/version | 29 + platforms/android/cordova/version.bat | 26 + .../android/nativeapiprovider.js | 36 + .../android/promptbasednativeapi.js | 35 + .../platform_www/cordova-js-src/exec.js | 283 + .../platform_www/cordova-js-src/platform.js | 105 + .../cordova-js-src/plugin/android/app.js | 108 + platforms/android/platform_www/cordova.js | 2147 + .../android/platform_www/cordova_plugins.js | 15 + .../www/bluetoothSerial.js | 146 + platforms/android/project.properties | 14 + platforms/android/res/drawable-hdpi/icon.png | Bin 0 -> 2875 bytes .../android/res/drawable-land-hdpi/screen.png | Bin 0 -> 13657 bytes .../android/res/drawable-land-ldpi/screen.png | Bin 0 -> 3740 bytes .../android/res/drawable-land-mdpi/screen.png | Bin 0 -> 7116 bytes .../res/drawable-land-xhdpi/screen.png | Bin 0 -> 39781 bytes .../res/drawable-land-xxhdpi/screen.png | Bin 0 -> 58987 bytes .../res/drawable-land-xxxhdpi/screen.png | Bin 0 -> 89363 bytes platforms/android/res/drawable-ldpi/icon.png | Bin 0 -> 1155 bytes platforms/android/res/drawable-mdpi/icon.png | Bin 0 -> 1802 bytes .../android/res/drawable-port-hdpi/screen.png | Bin 0 -> 13298 bytes .../android/res/drawable-port-ldpi/screen.png | Bin 0 -> 3628 bytes .../android/res/drawable-port-mdpi/screen.png | Bin 0 -> 7214 bytes .../res/drawable-port-xhdpi/screen.png | Bin 0 -> 38625 bytes .../res/drawable-port-xxhdpi/screen.png | Bin 0 -> 55504 bytes .../res/drawable-port-xxxhdpi/screen.png | Bin 0 -> 81831 bytes platforms/android/res/drawable-xhdpi/icon.png | Bin 0 -> 4317 bytes .../android/res/drawable-xxhdpi/icon.png | Bin 0 -> 7793 bytes .../android/res/drawable-xxxhdpi/icon.png | Bin 0 -> 11783 bytes platforms/android/res/values/strings.xml | 6 + platforms/android/res/xml/config.xml | 43 + platforms/android/settings.gradle | 3 + .../testtabs509143/MainActivity.java | 34 + .../com/megster/cordova/BluetoothSerial.java | 453 + .../cordova/BluetoothSerialService.java | 499 + platforms/platforms.json | 3 + plugins/android.json | 15 + .../CHANGES.txt | 55 + .../LICENSE.txt | 13 + .../cordova-plugin-bluetooth-serial/README.md | 731 + .../examples/Chat/.cordova/config.json | 4 + .../examples/Chat/.npmignore | 2 + .../Arduino/Chat_BLEMini/Chat_BLEMini.ino | 51 + .../Chat_SeeedShield/Chat_SeeedShield.ino | 73 + .../Arduino/Chat_Sparkfun/Chat_Sparkfun.ino | 68 + .../examples/Chat/README.md | 49 + .../examples/Chat/config.xml | 16 + .../examples/Chat/merges/.npmignore | 0 .../examples/Chat/www/css/index.css | 104 + .../examples/Chat/www/index.html | 35 + .../examples/Chat/www/js/index.js | 152 + .../examples/Counter/.cordova/config.json | 4 + .../examples/Counter/.npmignore | 2 + .../Counter/Arduino/Counter/Counter.ino | 53 + .../examples/Counter/README.md | 55 + .../examples/Counter/www/config.xml | 14 + .../examples/Counter/www/css/index.css | 12 + .../examples/Counter/www/index.html | 20 + .../examples/Counter/www/js/index.js | 27 + .../examples/LED/.cordova/config.json | 4 + .../examples/LED/.npmignore | 2 + .../LED/Arduino/PhoneGapLED/PhoneGapLED.ino | 65 + .../PhoneGapLED_BluefruitLE.ino | 100 + .../PhoneGapLED_Seeed/PhoneGapLED_Seeed.ino | 83 + .../examples/LED/BluefruitLE.fzz | Bin 0 -> 61949 bytes .../examples/LED/BluefruitLE.png | Bin 0 -> 293010 bytes .../examples/LED/README.md | 75 + .../examples/LED/blue.jpg | Bin 0 -> 41540 bytes .../examples/LED/green.jpg | Bin 0 -> 40374 bytes .../examples/LED/www/config.xml | 14 + .../examples/LED/www/css/index.css | 29 + .../LED/www/css/topcoat-mobile-light.min.css | 1 + .../examples/LED/www/font/LICENSE.txt | 93 + .../LED/www/font/SourceCodePro-Black.otf | Bin 0 -> 88472 bytes .../LED/www/font/SourceCodePro-Bold.otf | Bin 0 -> 92248 bytes .../LED/www/font/SourceCodePro-ExtraLight.otf | Bin 0 -> 84636 bytes .../LED/www/font/SourceCodePro-Light.otf | Bin 0 -> 88152 bytes .../LED/www/font/SourceCodePro-Regular.otf | Bin 0 -> 89600 bytes .../LED/www/font/SourceCodePro-Semibold.otf | Bin 0 -> 89576 bytes .../LED/www/font/SourceSansPro-Black.otf | Bin 0 -> 98472 bytes .../LED/www/font/SourceSansPro-BlackIt.otf | Bin 0 -> 96536 bytes .../LED/www/font/SourceSansPro-Bold.otf | Bin 0 -> 104072 bytes .../LED/www/font/SourceSansPro-BoldIt.otf | Bin 0 -> 101848 bytes .../LED/www/font/SourceSansPro-ExtraLight.otf | Bin 0 -> 94560 bytes .../www/font/SourceSansPro-ExtraLightIt.otf | Bin 0 -> 92880 bytes .../LED/www/font/SourceSansPro-It.otf | Bin 0 -> 100556 bytes .../LED/www/font/SourceSansPro-Light.otf | Bin 0 -> 98972 bytes .../LED/www/font/SourceSansPro-LightIt.otf | Bin 0 -> 97352 bytes .../LED/www/font/SourceSansPro-Regular.otf | Bin 0 -> 101820 bytes .../LED/www/font/SourceSansPro-Semibold.otf | Bin 0 -> 101772 bytes .../LED/www/font/SourceSansPro-SemiboldIt.otf | Bin 0 -> 100000 bytes .../examples/LED/www/index.html | 61 + .../examples/LED/www/js/index.js | 124 + .../examples/LED/www/js/jquery-1.9.1.min.js | 5 + .../examples/LED/www/js/underscore-min.js | 1 + .../SimpleSerial/.cordova/config.json | 1 + .../examples/SimpleSerial/README.md | 26 + .../SimpleSerial/platforms/.npmignore | 0 .../examples/SimpleSerial/plugins/.npmignore | 0 .../examples/SimpleSerial/www/config.xml | 14 + .../examples/SimpleSerial/www/index.html | 21 + .../examples/SimpleSerial/www/js/index.js | 153 + .../package.json | 31 + .../plugin.xml | 85 + .../com/megster/cordova/BluetoothSerial.java | 453 + .../cordova/BluetoothSerialService.java | 499 + .../src/browser/bluetoothSerial.js | 169 + .../src/ios/BLE.h | 72 + .../src/ios/BLE.m | 638 + .../src/ios/BLEDefines.h | 36 + .../src/ios/CBPeripheral+BTSExtensions.h | 30 + .../src/ios/CBPeripheral+BTSExtensions.m | 61 + .../src/ios/MEGBluetoothSerial.h | 47 + .../src/ios/MEGBluetoothSerial.m | 466 + .../src/wp/BluetoothConnectionManager.cs | 159 + .../src/wp/BluetoothSerial.cs | 344 + .../www/bluetoothSerial.js | 143 + plugins/fetch.json | 10 + resources/android/icon/drawable-hdpi-icon.png | Bin 0 -> 2875 bytes resources/android/icon/drawable-ldpi-icon.png | Bin 0 -> 1155 bytes resources/android/icon/drawable-mdpi-icon.png | Bin 0 -> 1802 bytes .../android/icon/drawable-xhdpi-icon.png | Bin 0 -> 4317 bytes .../android/icon/drawable-xxhdpi-icon.png | Bin 0 -> 7793 bytes .../android/icon/drawable-xxxhdpi-icon.png | Bin 0 -> 11783 bytes .../splash/drawable-land-hdpi-screen.png | Bin 0 -> 13657 bytes .../splash/drawable-land-ldpi-screen.png | Bin 0 -> 3740 bytes .../splash/drawable-land-mdpi-screen.png | Bin 0 -> 7116 bytes .../splash/drawable-land-xhdpi-screen.png | Bin 0 -> 39781 bytes .../splash/drawable-land-xxhdpi-screen.png | Bin 0 -> 58987 bytes .../splash/drawable-land-xxxhdpi-screen.png | Bin 0 -> 89363 bytes .../splash/drawable-port-hdpi-screen.png | Bin 0 -> 13298 bytes .../splash/drawable-port-ldpi-screen.png | Bin 0 -> 3628 bytes .../splash/drawable-port-mdpi-screen.png | Bin 0 -> 7214 bytes .../splash/drawable-port-xhdpi-screen.png | Bin 0 -> 38625 bytes .../splash/drawable-port-xxhdpi-screen.png | Bin 0 -> 55504 bytes .../splash/drawable-port-xxxhdpi-screen.png | Bin 0 -> 81831 bytes resources/icon.png | Bin 0 -> 60857 bytes resources/ios/icon/icon-40.png | Bin 0 -> 1248 bytes resources/ios/icon/icon-40@2x.png | Bin 0 -> 3564 bytes resources/ios/icon/icon-50.png | Bin 0 -> 1902 bytes resources/ios/icon/icon-50@2x.png | Bin 0 -> 4691 bytes resources/ios/icon/icon-60.png | Bin 0 -> 2452 bytes resources/ios/icon/icon-60@2x.png | Bin 0 -> 6042 bytes resources/ios/icon/icon-60@3x.png | Bin 0 -> 10875 bytes resources/ios/icon/icon-72.png | Bin 0 -> 2866 bytes resources/ios/icon/icon-72@2x.png | Bin 0 -> 7793 bytes resources/ios/icon/icon-76.png | Bin 0 -> 3319 bytes resources/ios/icon/icon-76@2x.png | Bin 0 -> 8305 bytes resources/ios/icon/icon-small.png | Bin 0 -> 818 bytes resources/ios/icon/icon-small@2x.png | Bin 0 -> 2287 bytes resources/ios/icon/icon-small@3x.png | Bin 0 -> 3856 bytes resources/ios/icon/icon.png | Bin 0 -> 2112 bytes resources/ios/icon/icon@2x.png | Bin 0 -> 5718 bytes .../ios/splash/Default-568h@2x~iphone.png | Bin 0 -> 31992 bytes resources/ios/splash/Default-667h.png | Bin 0 -> 40444 bytes resources/ios/splash/Default-736h.png | Bin 0 -> 45098 bytes .../ios/splash/Default-Landscape-736h.png | Bin 0 -> 44906 bytes .../ios/splash/Default-Landscape@2x~ipad.png | Bin 0 -> 102289 bytes .../ios/splash/Default-Landscape~ipad.png | Bin 0 -> 22655 bytes .../ios/splash/Default-Portrait@2x~ipad.png | Bin 0 -> 99461 bytes .../ios/splash/Default-Portrait~ipad.png | Bin 0 -> 22692 bytes resources/ios/splash/Default@2x~iphone.png | Bin 0 -> 18852 bytes resources/ios/splash/Default~iphone.png | Bin 0 -> 7214 bytes resources/splash.png | Bin 0 -> 62210 bytes scss/ionic.app.scss | 23 + www/app/app.config.js | 33 + www/app/app.initialization.js | 8 + www/app/app.js | 32 + www/app/app.routes.js | 40 + www/app/history/history.controller.js | 11 + www/app/history/history.module.js | 3 + www/app/history/tab-history.html | 1 + www/app/services/bluetooth-helper.service.js | 76 + www/app/services/bluetooth.service.js | 113 + www/app/services/hex-ascii.service.js | 87 + www/app/services/rfduino.service.js | 87 + www/app/services/settings.service.js | 84 + www/app/settings/settings.controller.js | 118 + www/app/settings/settings.module.js | 3 + www/app/settings/tab-settings.html | 63 + www/app/shell/tab.controller.js | 30 + www/app/shell/tab.module.js | 3 + www/app/shell/tabs.html | 13 + .../workout/modal/set-info-modal.tmpl.html | 56 + www/app/workout/modal/set-info.controller.js | 39 + www/app/workout/tab-workout.html | 33 + .../templates/bluetooth-disabled.tmpl.html | 5 + .../bluetooth-disconnected.tmpl.html | 5 + www/app/workout/templates/waiting.tmpl.html | 12 + .../workout/templates/workout-card.tmpl.html | 26 + .../templates/workout.initialization.js | 9 + www/app/workout/workout.controller.js | 160 + www/app/workout/workout.module.js | 3 + www/css/style.css | 86 + www/css/workout.css | 92 + www/img/icons/OpenBarbell_Icon.svg | 153 + www/img/icons/add.svg | 4 + www/img/icons/bluetooth.svg | 4 + www/img/icons/remove.svg | 4 + www/index.html | 74 + www/lib/ionic-material/ionic.material.css | 2933 + www/lib/ionic-material/ionic.material.js | 957 + www/lib/ionic-material/ionic.material.min.css | 12 + www/lib/ionic-material/ionic.material.min.js | 14 + .../ionic-material/ionic.material.min.js.map | 1 + .../css/bootstrap-3.3.5/bootstrap.min.css | 5 + www/lib/ionic/css/ionic.css | 9729 +++ www/lib/ionic/css/ionic.min.css | 23 + www/lib/ionic/fonts/ionicons.eot | Bin 0 -> 120724 bytes www/lib/ionic/fonts/ionicons.svg | 2230 + www/lib/ionic/fonts/ionicons.ttf | Bin 0 -> 188508 bytes www/lib/ionic/fonts/ionicons.woff | Bin 0 -> 67904 bytes .../angular-material.min.css | 6 + .../angular-material.min.js | 15 + .../ionic/js/angular-ui/angular-ui-router.js | 4232 + .../js/angular-ui/angular-ui-router.min.js | 7 + www/lib/ionic/js/angular/angular-animate.js | 3928 + .../ionic/js/angular/angular-animate.min.js | 56 + .../js/angular/angular-animate.min.js.map | 8 + www/lib/ionic/js/angular/angular-aria.js | 397 + www/lib/ionic/js/angular/angular-aria.min.js | 14 + .../ionic/js/angular/angular-aria.min.js.map | 8 + www/lib/ionic/js/angular/angular-cookies.js | 321 + .../ionic/js/angular/angular-cookies.min.js | 9 + .../js/angular/angular-cookies.min.js.map | 8 + www/lib/ionic/js/angular/angular-csp.css | 21 + www/lib/ionic/js/angular/angular-loader.js | 443 + .../ionic/js/angular/angular-loader.min.js | 10 + .../js/angular/angular-loader.min.js.map | 8 + .../js/angular/angular-message-format.js | 980 + .../js/angular/angular-message-format.min.js | 26 + .../angular/angular-message-format.min.js.map | 8 + www/lib/ionic/js/angular/angular-messages.js | 685 + .../ionic/js/angular/angular-messages.min.js | 12 + .../js/angular/angular-messages.min.js.map | 8 + www/lib/ionic/js/angular/angular-mocks.js | 2470 + www/lib/ionic/js/angular/angular-resource.js | 675 + .../ionic/js/angular/angular-resource.min.js | 13 + .../js/angular/angular-resource.min.js.map | 8 + www/lib/ionic/js/angular/angular-route.js | 991 + www/lib/ionic/js/angular/angular-route.min.js | 15 + .../ionic/js/angular/angular-route.min.js.map | 8 + www/lib/ionic/js/angular/angular-sanitize.js | 683 + .../ionic/js/angular/angular-sanitize.min.js | 16 + .../js/angular/angular-sanitize.min.js.map | 8 + www/lib/ionic/js/angular/angular-scenario.js | 40324 ++++++++++ www/lib/ionic/js/angular/angular-touch.js | 628 + www/lib/ionic/js/angular/angular-touch.min.js | 13 + .../ionic/js/angular/angular-touch.min.js.map | 8 + www/lib/ionic/js/angular/angular.js | 28904 +++++++ www/lib/ionic/js/angular/angular.min.js | 294 + www/lib/ionic/js/angular/angular.min.js.map | 8 + www/lib/ionic/js/angular/errors.json | 1 + www/lib/ionic/js/angular/version.json | 1 + www/lib/ionic/js/angular/version.txt | 1 + www/lib/ionic/js/ionic-angular.js | 14044 ++++ www/lib/ionic/js/ionic-angular.min.js | 18 + www/lib/ionic/js/ionic.bundle.js | 64386 ++++++++++++++++ www/lib/ionic/js/ionic.bundle.min.js | 448 + www/lib/ionic/js/ionic.js | 13298 ++++ www/lib/ionic/js/ionic.min.js | 20 + www/lib/ionic/js/pouchDB/pouchdb-5.2.1.min.js | 11 + www/lib/ionic/scss/_action-sheet.scss | 170 + www/lib/ionic/scss/_animations.scss | 48 + www/lib/ionic/scss/_backdrop.scss | 24 + www/lib/ionic/scss/_badge.scss | 62 + www/lib/ionic/scss/_bar.scss | 404 + www/lib/ionic/scss/_button-bar.scss | 64 + www/lib/ionic/scss/_button.scss | 252 + www/lib/ionic/scss/_checkbox.scss | 180 + www/lib/ionic/scss/_form.scss | 327 + www/lib/ionic/scss/_grid.scss | 159 + www/lib/ionic/scss/_items.scss | 815 + www/lib/ionic/scss/_list.scss | 125 + www/lib/ionic/scss/_loading.scss | 51 + www/lib/ionic/scss/_menu.scss | 70 + www/lib/ionic/scss/_mixins.scss | 640 + www/lib/ionic/scss/_modal.scss | 102 + www/lib/ionic/scss/_platform.scss | 77 + www/lib/ionic/scss/_popover.scss | 168 + www/lib/ionic/scss/_popup.scss | 110 + www/lib/ionic/scss/_progress.scss | 11 + www/lib/ionic/scss/_radio.scss | 47 + www/lib/ionic/scss/_range.scss | 160 + www/lib/ionic/scss/_refresher.scss | 113 + www/lib/ionic/scss/_reset.scss | 365 + www/lib/ionic/scss/_scaffolding.scss | 295 + www/lib/ionic/scss/_select.scss | 142 + www/lib/ionic/scss/_slide-box.scss | 71 + www/lib/ionic/scss/_slides.scss | 529 + www/lib/ionic/scss/_spinner.scss | 100 + www/lib/ionic/scss/_tabs.scss | 528 + www/lib/ionic/scss/_toggle.scss | 198 + www/lib/ionic/scss/_transitions.scss | 188 + www/lib/ionic/scss/_type.scss | 166 + www/lib/ionic/scss/_util.scss | 296 + www/lib/ionic/scss/_variables.scss | 761 + www/lib/ionic/scss/ionic.scss | 54 + .../ionic/scss/ionicons/_ionicons-font.scss | 28 + .../ionic/scss/ionicons/_ionicons-icons.scss | 1473 + .../scss/ionicons/_ionicons-variables.scss | 741 + www/lib/ionic/scss/ionicons/ionicons.scss | 16 + www/lib/ionic/version.json | 6 + 1429 files changed, 526865 insertions(+) create mode 100644 .bowerrc create mode 100644 .editorconfig create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/open-barbell-master.iml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 .project create mode 100644 bower.json create mode 100644 config.xml create mode 100644 gulpfile.js create mode 100644 hooks/README.md create mode 100644 hooks/after_prepare/010_add_platform_class.js create mode 100644 ionic.project create mode 100644 npm-debug.log create mode 100644 package.json create mode 100644 platforms/android/.gitignore create mode 100644 platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties create mode 100644 platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock create mode 100644 platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin create mode 100644 platforms/android/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin create mode 100644 platforms/android/.gradle/2.2.1/taskArtifacts/outputFileStates.bin create mode 100644 platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin create mode 100644 platforms/android/AndroidManifest.xml create mode 100644 platforms/android/CordovaLib/AndroidManifest.xml create mode 100644 platforms/android/CordovaLib/build.gradle create mode 100644 platforms/android/CordovaLib/build/generated/source/buildConfig/debug/org/apache/cordova/BuildConfig.java create mode 100644 platforms/android/CordovaLib/build/intermediates/bundles/debug/AndroidManifest.xml create mode 100644 platforms/android/CordovaLib/build/intermediates/bundles/debug/aapt/AndroidManifest.xml create mode 100644 platforms/android/CordovaLib/build/intermediates/bundles/debug/classes.jar create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/AuthenticationToken.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildConfig.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CallbackContext.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Config.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ConfigXmlParser.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$2.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$3.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaArgs.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaBridge.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaClientCertRequest.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$2.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$3.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$4.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$5.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$6.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$7.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$8.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$9.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$Result.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaHttpAuthHandler.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterface.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl$ActivityResultHolder.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPlugin.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPreferences.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi$OpenForReadResult.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebView.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$Client.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$EngineView.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$2.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$3.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$2.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$3.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$4.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$5.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ExposedJsApi.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaClientCertRequest.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaCookieManager.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaHttpAuthHandler.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/LOG.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$BridgeMode.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$JsMessage.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$NoOpBridgeMode.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$2.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$OnlineEventsBridgeModeDelegate.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginEntry.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginManager.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult$Status.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginResult.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ResumeCallback.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist$URLPattern.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemCookieManager.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemExposedJsApi.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$2.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$3.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$4.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$5.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebView.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewClient.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$1.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine$2.class create mode 100644 platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewEngine.class create mode 100644 platforms/android/CordovaLib/build/intermediates/incremental/compileDebugAidl/dependency.store create mode 100644 platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugAssets/merger.xml create mode 100644 platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml create mode 100644 platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/merger.xml create mode 100644 platforms/android/CordovaLib/build/outputs/aar/CordovaLib-debug.aar create mode 100644 platforms/android/CordovaLib/cordova.gradle create mode 100644 platforms/android/CordovaLib/project.properties create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/Config.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaPreferences.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaResourceApi.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebView.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewEngine.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CordovaWebViewImpl.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/CoreAndroid.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ExposedJsApi.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ICordovaClientCertRequest.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ICordovaCookieManager.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ICordovaHttpAuthHandler.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/LOG.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/NativeToJsMessageQueue.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/PluginEntry.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/PluginManager.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/PluginResult.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/ResumeCallback.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/Whitelist.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemExposedJsApi.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebChromeClient.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebView.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java create mode 100644 platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java create mode 100644 platforms/android/android.json create mode 100644 platforms/android/assets/www/app/app.config.js create mode 100644 platforms/android/assets/www/app/app.initialization.js create mode 100644 platforms/android/assets/www/app/app.js create mode 100644 platforms/android/assets/www/app/app.routes.js create mode 100644 platforms/android/assets/www/app/history/history.controller.js create mode 100644 platforms/android/assets/www/app/history/history.module.js create mode 100644 platforms/android/assets/www/app/history/tab-history.html create mode 100644 platforms/android/assets/www/app/services/bluetooth-helper.service.js create mode 100644 platforms/android/assets/www/app/services/bluetooth.service.js create mode 100644 platforms/android/assets/www/app/services/hex-ascii.service.js create mode 100644 platforms/android/assets/www/app/services/rfduino.service.js create mode 100644 platforms/android/assets/www/app/services/settings.service.js create mode 100644 platforms/android/assets/www/app/settings/settings.controller.js create mode 100644 platforms/android/assets/www/app/settings/settings.module.js create mode 100644 platforms/android/assets/www/app/settings/tab-settings.html create mode 100644 platforms/android/assets/www/app/shell/tab.controller.js create mode 100644 platforms/android/assets/www/app/shell/tab.module.js create mode 100644 platforms/android/assets/www/app/shell/tabs.html create mode 100644 platforms/android/assets/www/app/workout/modal/set-info-modal.tmpl.html create mode 100644 platforms/android/assets/www/app/workout/modal/set-info.controller.js create mode 100644 platforms/android/assets/www/app/workout/tab-workout.html create mode 100644 platforms/android/assets/www/app/workout/templates/bluetooth-disabled.tmpl.html create mode 100644 platforms/android/assets/www/app/workout/templates/bluetooth-disconnected.tmpl.html create mode 100644 platforms/android/assets/www/app/workout/templates/waiting.tmpl.html create mode 100644 platforms/android/assets/www/app/workout/templates/workout-card.tmpl.html create mode 100644 platforms/android/assets/www/app/workout/templates/workout.initialization.js create mode 100644 platforms/android/assets/www/app/workout/workout.controller.js create mode 100644 platforms/android/assets/www/app/workout/workout.module.js create mode 100644 platforms/android/assets/www/cordova-js-src/android/nativeapiprovider.js create mode 100644 platforms/android/assets/www/cordova-js-src/android/promptbasednativeapi.js create mode 100644 platforms/android/assets/www/cordova-js-src/exec.js create mode 100644 platforms/android/assets/www/cordova-js-src/platform.js create mode 100644 platforms/android/assets/www/cordova-js-src/plugin/android/app.js create mode 100644 platforms/android/assets/www/cordova.js create mode 100644 platforms/android/assets/www/cordova_plugins.js create mode 100644 platforms/android/assets/www/css/style.css create mode 100644 platforms/android/assets/www/css/workout.css create mode 100644 platforms/android/assets/www/img/icons/OpenBarbell_Icon.svg create mode 100644 platforms/android/assets/www/img/icons/add.svg create mode 100644 platforms/android/assets/www/img/icons/bluetooth.svg create mode 100644 platforms/android/assets/www/img/icons/remove.svg create mode 100644 platforms/android/assets/www/index.html create mode 100644 platforms/android/assets/www/lib/ionic-material/ionic.material.css create mode 100644 platforms/android/assets/www/lib/ionic-material/ionic.material.js create mode 100644 platforms/android/assets/www/lib/ionic-material/ionic.material.min.css create mode 100644 platforms/android/assets/www/lib/ionic-material/ionic.material.min.js create mode 100644 platforms/android/assets/www/lib/ionic-material/ionic.material.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/css/bootstrap-3.3.5/bootstrap.min.css create mode 100644 platforms/android/assets/www/lib/ionic/css/ionic.css create mode 100644 platforms/android/assets/www/lib/ionic/css/ionic.min.css create mode 100644 platforms/android/assets/www/lib/ionic/fonts/ionicons.eot create mode 100644 platforms/android/assets/www/lib/ionic/fonts/ionicons.svg create mode 100644 platforms/android/assets/www/lib/ionic/fonts/ionicons.ttf create mode 100644 platforms/android/assets/www/lib/ionic/fonts/ionicons.woff create mode 100644 platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.css create mode 100644 platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular-ui/angular-ui-router.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular-ui/angular-ui-router.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-animate.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-animate.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-animate.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-aria.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-aria.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-aria.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-cookies.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-cookies.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-cookies.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-csp.css create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-loader.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-loader.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-loader.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-message-format.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-message-format.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-message-format.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-messages.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-messages.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-messages.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-mocks.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-resource.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-resource.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-resource.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-route.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-route.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-route.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-scenario.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-touch.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-touch.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular-touch.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/angular.min.js.map create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/errors.json create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/version.json create mode 100644 platforms/android/assets/www/lib/ionic/js/angular/version.txt create mode 100644 platforms/android/assets/www/lib/ionic/js/ionic-angular.js create mode 100644 platforms/android/assets/www/lib/ionic/js/ionic-angular.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/ionic.bundle.js create mode 100644 platforms/android/assets/www/lib/ionic/js/ionic.bundle.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/ionic.js create mode 100644 platforms/android/assets/www/lib/ionic/js/ionic.min.js create mode 100644 platforms/android/assets/www/lib/ionic/js/pouchDB/pouchdb-5.2.1.min.js create mode 100644 platforms/android/assets/www/lib/ionic/scss/_action-sheet.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_animations.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_backdrop.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_badge.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_bar.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_button-bar.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_button.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_checkbox.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_form.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_grid.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_items.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_list.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_loading.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_menu.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_mixins.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_modal.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_platform.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_popover.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_popup.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_progress.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_radio.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_range.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_refresher.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_reset.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_scaffolding.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_select.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_slide-box.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_slides.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_spinner.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_tabs.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_toggle.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_transitions.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_type.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_util.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/_variables.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/ionic.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/ionicons/_ionicons-font.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/ionicons/_ionicons-icons.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/ionicons/_ionicons-variables.scss create mode 100644 platforms/android/assets/www/lib/ionic/scss/ionicons/ionicons.scss create mode 100644 platforms/android/assets/www/lib/ionic/version.json create mode 100644 platforms/android/assets/www/plugins/cordova-plugin-bluetooth-serial/www/bluetoothSerial.js create mode 100644 platforms/android/build.gradle create mode 100644 platforms/android/cordova/.jshintrc create mode 100644 platforms/android/cordova/Api.js create mode 100644 platforms/android/cordova/android_sdk_version create mode 100644 platforms/android/cordova/build create mode 100644 platforms/android/cordova/build.bat create mode 100644 platforms/android/cordova/check_reqs create mode 100644 platforms/android/cordova/check_reqs.bat create mode 100644 platforms/android/cordova/clean create mode 100644 platforms/android/cordova/clean.bat create mode 100644 platforms/android/cordova/defaults.xml create mode 100644 platforms/android/cordova/lib/Adb.js create mode 100644 platforms/android/cordova/lib/AndroidManifest.js create mode 100644 platforms/android/cordova/lib/AndroidProject.js create mode 100644 platforms/android/cordova/lib/ConsoleLogger.js create mode 100644 platforms/android/cordova/lib/android_sdk_version.js create mode 100644 platforms/android/cordova/lib/build.js create mode 100644 platforms/android/cordova/lib/builders/AntBuilder.js create mode 100644 platforms/android/cordova/lib/builders/GenericBuilder.js create mode 100644 platforms/android/cordova/lib/builders/GradleBuilder.js create mode 100644 platforms/android/cordova/lib/builders/builders.js create mode 100644 platforms/android/cordova/lib/check_reqs.js create mode 100644 platforms/android/cordova/lib/device.js create mode 100644 platforms/android/cordova/lib/emulator.js create mode 100644 platforms/android/cordova/lib/install-device create mode 100644 platforms/android/cordova/lib/install-device.bat create mode 100644 platforms/android/cordova/lib/install-emulator create mode 100644 platforms/android/cordova/lib/install-emulator.bat create mode 100644 platforms/android/cordova/lib/list-devices create mode 100644 platforms/android/cordova/lib/list-devices.bat create mode 100644 platforms/android/cordova/lib/list-emulator-images create mode 100644 platforms/android/cordova/lib/list-emulator-images.bat create mode 100644 platforms/android/cordova/lib/list-started-emulators create mode 100644 platforms/android/cordova/lib/list-started-emulators.bat create mode 100644 platforms/android/cordova/lib/log.js create mode 100644 platforms/android/cordova/lib/plugin-build.gradle create mode 100644 platforms/android/cordova/lib/pluginHandlers.js create mode 100644 platforms/android/cordova/lib/prepare.js create mode 100644 platforms/android/cordova/lib/retry.js create mode 100644 platforms/android/cordova/lib/run.js create mode 100644 platforms/android/cordova/lib/start-emulator create mode 100644 platforms/android/cordova/lib/start-emulator.bat create mode 100644 platforms/android/cordova/log create mode 100644 platforms/android/cordova/log.bat create mode 100644 platforms/android/cordova/node_modules/cordova-common/.jscs.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/.jshintignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/.ratignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/RELEASENOTES.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/cordova-common.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/bplistParser.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/.gitconfig create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/.zuul.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/.zuulrc create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/BigInteger.min.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/node_modules/big-integer/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/airplay.bplist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/iTunes-small.bplist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/int64.bplist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/int64.xml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/parseTest.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/sample1.bplist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/sample2.bplist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/uid.bplist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/utf16.bplist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/bplist-parser/test/utf16_chinese.plist create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/cordova-registry-mapper/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/cordova-registry-mapper/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/cordova-registry-mapper/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/cordova-registry-mapper/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/cordova-registry-mapper/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/cordova-registry-mapper/tests/test.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/common.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/glob.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/.eslintrc create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/inflight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inflight/test.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inherits/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inherits/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inherits/inherits.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inherits/inherits_browser.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inherits/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/inherits/test.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/minimatch.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/minimatch/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/once.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/once/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/path-is-absolute/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/path-is-absolute/license create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/path-is-absolute/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/node_modules/path-is-absolute/readme.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/glob/sync.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-homedir/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-homedir/license create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-homedir/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-homedir/readme.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-tmpdir/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-tmpdir/license create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-tmpdir/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/node_modules/os-tmpdir/readme.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/osenv.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/test/unix.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/test/windows.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/osenv/x.tap create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/.jshintrc create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/History.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/Makefile create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/dist/plist-build.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/dist/plist-parse.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/dist/plist.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/examples/browser/index.html create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/lib/build.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/lib/node.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/lib/parse.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/lib/plist.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/LICENSE.MIT create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/bench/bench.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/lib/b64.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/test/convert.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/test/url-safe.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/History.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/browser.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/node.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLAttribute.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLBuilder.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLCData.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLComment.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDElement.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDeclaration.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDocType.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLElement.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLNode.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLRaw.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLStringifier.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLText.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/chunk.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/compact.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/difference.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/drop.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/dropRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/dropRightWhile.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/dropWhile.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/fill.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/findIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/findLastIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/first.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/flatten.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/flattenDeep.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/head.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/indexOf.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/initial.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/intersection.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/last.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/lastIndexOf.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/object.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/pull.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/pullAt.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/remove.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/rest.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/slice.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/sortedIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/sortedLastIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/tail.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/take.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/takeRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/takeRightWhile.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/takeWhile.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/union.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/uniq.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/unique.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/unzip.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/unzipWith.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/without.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/xor.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/zip.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/zipObject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/array/zipWith.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/chain.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/commit.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/concat.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/lodash.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/plant.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/reverse.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/run.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/tap.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/thru.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/toJSON.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/toString.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/value.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/valueOf.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/wrapperChain.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/wrapperCommit.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/wrapperConcat.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/wrapperPlant.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/wrapperReverse.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/wrapperToString.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/chain/wrapperValue.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/all.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/any.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/at.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/collect.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/contains.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/countBy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/detect.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/each.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/eachRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/every.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/filter.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/find.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/findLast.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/findWhere.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/foldl.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/foldr.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/forEach.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/forEachRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/groupBy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/include.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/includes.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/indexBy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/inject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/invoke.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/map.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/max.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/min.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/partition.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/pluck.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduce.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reduceRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/reject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sample.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/select.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/shuffle.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/size.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/some.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortBy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByAll.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sortByOrder.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/sum.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/collection/where.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/date/now.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/after.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/ary.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/backflow.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/before.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bind.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindAll.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/bindKey.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/compose.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curry.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/curryRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/debounce.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/defer.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/delay.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flow.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/flowRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/memoize.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/modArgs.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/negate.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/once.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partial.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/partialRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/rearg.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/restParam.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/spread.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/throttle.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/function/wrap.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/LazyWrapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/LodashWrapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/MapCache.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/SetCache.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayConcat.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayCopy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayEach.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayEachRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayEvery.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayExtremum.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayFilter.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayMap.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayPush.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayReduce.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arrayReduceRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arraySome.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/arraySum.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/assignDefaults.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/assignOwnDefaults.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/assignWith.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseAssign.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseAt.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseCallback.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseClone.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseCompareAscending.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseCopy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseCreate.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseDelay.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseDifference.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseEach.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseEachRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseEvery.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseExtremum.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseFill.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseFilter.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseFind.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseFindIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseFlatten.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseFor.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseForIn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseForOwn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseForOwnRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseForRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseFunctions.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseGet.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseIndexOf.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseIsEqual.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseIsEqualDeep.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseIsFunction.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseIsMatch.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseLodash.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseMap.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseMatches.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseMatchesProperty.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseMerge.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseMergeDeep.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseProperty.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/basePropertyDeep.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/basePullAt.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseRandom.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseReduce.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseSetData.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseSlice.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseSome.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseSortBy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseSortByOrder.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseSum.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseToString.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseUniq.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseValues.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseWhile.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/baseWrapperValue.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/binaryIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/binaryIndexBy.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/bindCallback.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/bufferClone.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/cacheIndexOf.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/cachePush.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/charsLeftIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/charsRightIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/compareAscending.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/compareMultiple.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/composeArgs.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/composeArgsRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createAggregator.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createAssigner.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createBaseEach.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createBaseFor.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createBindWrapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createCache.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createCompounder.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createCtorWrapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createCurry.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createDefaults.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createExtremum.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createFind.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createFindIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createFindKey.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createFlow.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createForEach.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createForIn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createForOwn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createHybridWrapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createObjectMapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createPadDir.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createPadding.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createPartial.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createPartialWrapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createReduce.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createRound.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createSortedIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/createWrapper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/deburrLetter.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/equalArrays.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/equalByTag.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/equalObjects.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/escapeHtmlChar.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/escapeRegExpChar.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/escapeStringChar.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/getData.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/getFuncName.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/getLength.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/getMatchData.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/getNative.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/getView.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/indexOfNaN.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/initCloneArray.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/initCloneByTag.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/initCloneObject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/invokePath.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isArrayLike.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isIterateeCall.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isKey.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isLaziable.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isLength.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isObjectLike.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isSpace.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/isStrictComparable.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/lazyClone.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/lazyReverse.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/lazyValue.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/mapDelete.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/mapGet.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/mapHas.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/mapSet.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/mergeData.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/mergeDefaults.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/metaMap.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/pickByArray.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/pickByCallback.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/reEscape.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/reEvaluate.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/reInterpolate.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/realNames.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/reorder.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/replaceHolders.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/setData.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/shimKeys.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/sortedUniq.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/toIterable.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/toObject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/toPath.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/trimmedLeftIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/trimmedRightIndex.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/unescapeHtmlChar.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/internal/wrapperClone.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/clone.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/cloneDeep.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/eq.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/gt.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/gte.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isArguments.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isArray.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isBoolean.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isDate.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isElement.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isEmpty.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isEqual.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isError.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isFinite.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isFunction.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isMatch.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isNaN.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isNative.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isNull.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isNumber.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isObject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isPlainObject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isRegExp.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isString.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isTypedArray.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/isUndefined.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/lt.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/lte.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/toArray.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/lang/toPlainObject.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math/add.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math/ceil.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math/floor.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math/max.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math/min.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math/round.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/math/sum.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/number.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/number/inRange.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/number/random.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/assign.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/create.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/defaults.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/defaultsDeep.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/extend.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/findKey.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/findLastKey.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/forIn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/forInRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/forOwn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/forOwnRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/functions.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/get.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/has.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/invert.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/keys.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/keysIn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/mapKeys.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/mapValues.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/merge.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/methods.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/omit.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/pairs.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/pick.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/result.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/set.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/transform.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/values.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/object/valuesIn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/camelCase.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/capitalize.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/deburr.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/endsWith.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/escape.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/escapeRegExp.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/kebabCase.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/pad.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/padLeft.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/padRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/parseInt.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/repeat.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/snakeCase.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/startCase.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/startsWith.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/template.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/templateSettings.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trim.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimLeft.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trimRight.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/trunc.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/unescape.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/string/words.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/support.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/attempt.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/callback.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/constant.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/identity.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/iteratee.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matches.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/matchesProperty.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/method.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/methodOf.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/mixin.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/noop.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/property.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/propertyOf.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/range.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/times.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash/utility/uniqueId.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/__package__.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/component.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/dom-parser.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/dom.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/readme.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/node_modules/xmldom/sax.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/plist/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/.npmignore create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/.travis.yml create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/bin/semver create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/range.bnf create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/semver.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/test/big-numbers.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/test/clean.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/test/gtr.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/test/index.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/test/ltr.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/semver/test/major-minor-patch.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/underscore/LICENSE create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/underscore/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/underscore/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/underscore/underscore-min.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/underscore/underscore-min.map create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/underscore/underscore.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/unorm/LICENSE.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/unorm/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/unorm/lib/unorm.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/node_modules/unorm/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/package.json create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/.jshintrc create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ActionStack.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigChanges.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigFile.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/ConfigKeeper.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigChanges/munge-util.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/ConfigParser.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/ConfigParser/README.md create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaError.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/CordovaError/CordovaExternalToolErrorContext.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/PlatformJson.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfo.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/PluginInfo/PluginInfoProvider.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/events.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/superspawn.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/util/plist-helpers.js create mode 100644 platforms/android/cordova/node_modules/cordova-common/src/util/xml-helpers.js create mode 100644 platforms/android/cordova/node_modules/elementtree/.npmignore create mode 100644 platforms/android/cordova/node_modules/elementtree/.travis.yml create mode 100644 platforms/android/cordova/node_modules/elementtree/CHANGES.md create mode 100644 platforms/android/cordova/node_modules/elementtree/LICENSE.txt create mode 100644 platforms/android/cordova/node_modules/elementtree/Makefile create mode 100644 platforms/android/cordova/node_modules/elementtree/NOTICE create mode 100644 platforms/android/cordova/node_modules/elementtree/README.md create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/constants.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/elementpath.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/elementtree.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/errors.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/parser.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/parsers/index.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/parsers/sax.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/sprintf.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/treebuilder.js create mode 100644 platforms/android/cordova/node_modules/elementtree/lib/utils.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/AUTHORS create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/LICENSE create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/README.md create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/big-not-pretty.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/example.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/get-products.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/hello-world.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/not-pretty.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/pretty-print.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/shopping.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/strict.dtd create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/switch-bench.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/test.html create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/examples/test.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/lib/sax.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/package.json create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/buffer-overrun.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/cdata-chunked.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/cdata-end-split.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/cdata-fake-end.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/cdata-multiple.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/cdata.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/index.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/issue-23.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/issue-30.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/issue-35.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/issue-47.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/issue-49.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/parser-position.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/script.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/self-closing-child-strict.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/self-closing-child.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/self-closing-tag.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/stray-ending.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/trailing-non-whitespace.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/unquoted.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-issue-41.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-rebinding.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-strict.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-unbound.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-prefix-attribute.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-prefix.js create mode 100644 platforms/android/cordova/node_modules/elementtree/node_modules/sax/test/xmlns-xml-default-redefine.js create mode 100644 platforms/android/cordova/node_modules/elementtree/package.json create mode 100644 platforms/android/cordova/node_modules/elementtree/tests/data/xml1.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/tests/data/xml2.xml create mode 100644 platforms/android/cordova/node_modules/elementtree/tests/test-simple.js create mode 100644 platforms/android/cordova/node_modules/nopt/.npmignore create mode 100644 platforms/android/cordova/node_modules/nopt/.travis.yml create mode 100644 platforms/android/cordova/node_modules/nopt/LICENSE create mode 100644 platforms/android/cordova/node_modules/nopt/README.md create mode 100644 platforms/android/cordova/node_modules/nopt/bin/nopt.js create mode 100644 platforms/android/cordova/node_modules/nopt/examples/my-program.js create mode 100644 platforms/android/cordova/node_modules/nopt/lib/nopt.js create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/.npmignore create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/.travis.yml create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/LICENSE create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/README.md create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/abbrev.js create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/package.json create mode 100644 platforms/android/cordova/node_modules/nopt/node_modules/abbrev/test.js create mode 100644 platforms/android/cordova/node_modules/nopt/package.json create mode 100644 platforms/android/cordova/node_modules/nopt/test/basic.js create mode 100644 platforms/android/cordova/node_modules/properties-parser/README.markdown create mode 100644 platforms/android/cordova/node_modules/properties-parser/index.js create mode 100644 platforms/android/cordova/node_modules/properties-parser/package.json create mode 100644 platforms/android/cordova/node_modules/properties-parser/play-ground.js create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.class create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/ReadProperties.java create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/test-cases-copy.properties create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/test-cases.properties create mode 100644 platforms/android/cordova/node_modules/properties-parser/test/test.js create mode 100644 platforms/android/cordova/node_modules/q/CHANGES.md create mode 100644 platforms/android/cordova/node_modules/q/LICENSE create mode 100644 platforms/android/cordova/node_modules/q/README.md create mode 100644 platforms/android/cordova/node_modules/q/package.json create mode 100644 platforms/android/cordova/node_modules/q/q.js create mode 100644 platforms/android/cordova/node_modules/q/queue.js create mode 100644 platforms/android/cordova/node_modules/shelljs/.documentup.json create mode 100644 platforms/android/cordova/node_modules/shelljs/.jshintrc create mode 100644 platforms/android/cordova/node_modules/shelljs/.npmignore create mode 100644 platforms/android/cordova/node_modules/shelljs/.travis.yml create mode 100644 platforms/android/cordova/node_modules/shelljs/LICENSE create mode 100644 platforms/android/cordova/node_modules/shelljs/README.md create mode 100644 platforms/android/cordova/node_modules/shelljs/RELEASE.md create mode 100644 platforms/android/cordova/node_modules/shelljs/bin/shjs create mode 100644 platforms/android/cordova/node_modules/shelljs/global.js create mode 100644 platforms/android/cordova/node_modules/shelljs/make.js create mode 100644 platforms/android/cordova/node_modules/shelljs/package.json create mode 100644 platforms/android/cordova/node_modules/shelljs/scripts/generate-docs.js create mode 100644 platforms/android/cordova/node_modules/shelljs/scripts/run-tests.js create mode 100644 platforms/android/cordova/node_modules/shelljs/shell.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/cat.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/cd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/chmod.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/common.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/cp.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/dirs.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/echo.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/error.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/exec.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/find.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/grep.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/ln.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/ls.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/mkdir.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/mv.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/popd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/pushd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/pwd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/rm.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/sed.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/tempdir.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/test.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/to.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/toEnd.js create mode 100644 platforms/android/cordova/node_modules/shelljs/src/which.js create mode 100644 platforms/android/cordova/run create mode 100644 platforms/android/cordova/run.bat create mode 100644 platforms/android/cordova/version create mode 100644 platforms/android/cordova/version.bat create mode 100644 platforms/android/platform_www/cordova-js-src/android/nativeapiprovider.js create mode 100644 platforms/android/platform_www/cordova-js-src/android/promptbasednativeapi.js create mode 100644 platforms/android/platform_www/cordova-js-src/exec.js create mode 100644 platforms/android/platform_www/cordova-js-src/platform.js create mode 100644 platforms/android/platform_www/cordova-js-src/plugin/android/app.js create mode 100644 platforms/android/platform_www/cordova.js create mode 100644 platforms/android/platform_www/cordova_plugins.js create mode 100644 platforms/android/platform_www/plugins/cordova-plugin-bluetooth-serial/www/bluetoothSerial.js create mode 100644 platforms/android/project.properties create mode 100644 platforms/android/res/drawable-hdpi/icon.png create mode 100644 platforms/android/res/drawable-land-hdpi/screen.png create mode 100644 platforms/android/res/drawable-land-ldpi/screen.png create mode 100644 platforms/android/res/drawable-land-mdpi/screen.png create mode 100644 platforms/android/res/drawable-land-xhdpi/screen.png create mode 100644 platforms/android/res/drawable-land-xxhdpi/screen.png create mode 100644 platforms/android/res/drawable-land-xxxhdpi/screen.png create mode 100644 platforms/android/res/drawable-ldpi/icon.png create mode 100644 platforms/android/res/drawable-mdpi/icon.png create mode 100644 platforms/android/res/drawable-port-hdpi/screen.png create mode 100644 platforms/android/res/drawable-port-ldpi/screen.png create mode 100644 platforms/android/res/drawable-port-mdpi/screen.png create mode 100644 platforms/android/res/drawable-port-xhdpi/screen.png create mode 100644 platforms/android/res/drawable-port-xxhdpi/screen.png create mode 100644 platforms/android/res/drawable-port-xxxhdpi/screen.png create mode 100644 platforms/android/res/drawable-xhdpi/icon.png create mode 100644 platforms/android/res/drawable-xxhdpi/icon.png create mode 100644 platforms/android/res/drawable-xxxhdpi/icon.png create mode 100644 platforms/android/res/values/strings.xml create mode 100644 platforms/android/res/xml/config.xml create mode 100644 platforms/android/settings.gradle create mode 100644 platforms/android/src/com/ionicframework/testtabs509143/MainActivity.java create mode 100644 platforms/android/src/com/megster/cordova/BluetoothSerial.java create mode 100644 platforms/android/src/com/megster/cordova/BluetoothSerialService.java create mode 100644 platforms/platforms.json create mode 100644 plugins/android.json create mode 100644 plugins/cordova-plugin-bluetooth-serial/CHANGES.txt create mode 100644 plugins/cordova-plugin-bluetooth-serial/LICENSE.txt create mode 100644 plugins/cordova-plugin-bluetooth-serial/README.md create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/.cordova/config.json create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/.npmignore create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/Arduino/Chat_BLEMini/Chat_BLEMini.ino create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/Arduino/Chat_SeeedShield/Chat_SeeedShield.ino create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/Arduino/Chat_Sparkfun/Chat_Sparkfun.ino create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/README.md create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/config.xml create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/merges/.npmignore create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/www/css/index.css create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/www/index.html create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Chat/www/js/index.js create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/.cordova/config.json create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/.npmignore create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/Arduino/Counter/Counter.ino create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/README.md create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/www/config.xml create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/www/css/index.css create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/www/index.html create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/Counter/www/js/index.js create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/.cordova/config.json create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/.npmignore create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/Arduino/PhoneGapLED/PhoneGapLED.ino create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/Arduino/PhoneGapLED_BluefruitLE/PhoneGapLED_BluefruitLE.ino create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/Arduino/PhoneGapLED_Seeed/PhoneGapLED_Seeed.ino create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/BluefruitLE.fzz create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/BluefruitLE.png create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/README.md create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/blue.jpg create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/green.jpg create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/config.xml create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/css/index.css create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/css/topcoat-mobile-light.min.css create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/LICENSE.txt create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceCodePro-Black.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceCodePro-Bold.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceCodePro-ExtraLight.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceCodePro-Light.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceCodePro-Regular.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceCodePro-Semibold.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-Black.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-BlackIt.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-Bold.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-BoldIt.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-ExtraLight.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-ExtraLightIt.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-It.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-Light.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-LightIt.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-Regular.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-Semibold.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/font/SourceSansPro-SemiboldIt.otf create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/index.html create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/js/index.js create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/js/jquery-1.9.1.min.js create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/LED/www/js/underscore-min.js create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/SimpleSerial/.cordova/config.json create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/SimpleSerial/README.md create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/SimpleSerial/platforms/.npmignore create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/SimpleSerial/plugins/.npmignore create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/SimpleSerial/www/config.xml create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/SimpleSerial/www/index.html create mode 100644 plugins/cordova-plugin-bluetooth-serial/examples/SimpleSerial/www/js/index.js create mode 100644 plugins/cordova-plugin-bluetooth-serial/package.json create mode 100644 plugins/cordova-plugin-bluetooth-serial/plugin.xml create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/android/com/megster/cordova/BluetoothSerial.java create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/android/com/megster/cordova/BluetoothSerialService.java create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/browser/bluetoothSerial.js create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/ios/BLE.h create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/ios/BLE.m create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/ios/BLEDefines.h create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/ios/CBPeripheral+BTSExtensions.h create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/ios/CBPeripheral+BTSExtensions.m create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/ios/MEGBluetoothSerial.h create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/ios/MEGBluetoothSerial.m create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/wp/BluetoothConnectionManager.cs create mode 100644 plugins/cordova-plugin-bluetooth-serial/src/wp/BluetoothSerial.cs create mode 100644 plugins/cordova-plugin-bluetooth-serial/www/bluetoothSerial.js create mode 100644 plugins/fetch.json create mode 100644 resources/android/icon/drawable-hdpi-icon.png create mode 100644 resources/android/icon/drawable-ldpi-icon.png create mode 100644 resources/android/icon/drawable-mdpi-icon.png create mode 100644 resources/android/icon/drawable-xhdpi-icon.png create mode 100644 resources/android/icon/drawable-xxhdpi-icon.png create mode 100644 resources/android/icon/drawable-xxxhdpi-icon.png create mode 100644 resources/android/splash/drawable-land-hdpi-screen.png create mode 100644 resources/android/splash/drawable-land-ldpi-screen.png create mode 100644 resources/android/splash/drawable-land-mdpi-screen.png create mode 100644 resources/android/splash/drawable-land-xhdpi-screen.png create mode 100644 resources/android/splash/drawable-land-xxhdpi-screen.png create mode 100644 resources/android/splash/drawable-land-xxxhdpi-screen.png create mode 100644 resources/android/splash/drawable-port-hdpi-screen.png create mode 100644 resources/android/splash/drawable-port-ldpi-screen.png create mode 100644 resources/android/splash/drawable-port-mdpi-screen.png create mode 100644 resources/android/splash/drawable-port-xhdpi-screen.png create mode 100644 resources/android/splash/drawable-port-xxhdpi-screen.png create mode 100644 resources/android/splash/drawable-port-xxxhdpi-screen.png create mode 100644 resources/icon.png create mode 100644 resources/ios/icon/icon-40.png create mode 100644 resources/ios/icon/icon-40@2x.png create mode 100644 resources/ios/icon/icon-50.png create mode 100644 resources/ios/icon/icon-50@2x.png create mode 100644 resources/ios/icon/icon-60.png create mode 100644 resources/ios/icon/icon-60@2x.png create mode 100644 resources/ios/icon/icon-60@3x.png create mode 100644 resources/ios/icon/icon-72.png create mode 100644 resources/ios/icon/icon-72@2x.png create mode 100644 resources/ios/icon/icon-76.png create mode 100644 resources/ios/icon/icon-76@2x.png create mode 100644 resources/ios/icon/icon-small.png create mode 100644 resources/ios/icon/icon-small@2x.png create mode 100644 resources/ios/icon/icon-small@3x.png create mode 100644 resources/ios/icon/icon.png create mode 100644 resources/ios/icon/icon@2x.png create mode 100644 resources/ios/splash/Default-568h@2x~iphone.png create mode 100644 resources/ios/splash/Default-667h.png create mode 100644 resources/ios/splash/Default-736h.png create mode 100644 resources/ios/splash/Default-Landscape-736h.png create mode 100644 resources/ios/splash/Default-Landscape@2x~ipad.png create mode 100644 resources/ios/splash/Default-Landscape~ipad.png create mode 100644 resources/ios/splash/Default-Portrait@2x~ipad.png create mode 100644 resources/ios/splash/Default-Portrait~ipad.png create mode 100644 resources/ios/splash/Default@2x~iphone.png create mode 100644 resources/ios/splash/Default~iphone.png create mode 100644 resources/splash.png create mode 100644 scss/ionic.app.scss create mode 100644 www/app/app.config.js create mode 100644 www/app/app.initialization.js create mode 100644 www/app/app.js create mode 100644 www/app/app.routes.js create mode 100644 www/app/history/history.controller.js create mode 100644 www/app/history/history.module.js create mode 100644 www/app/history/tab-history.html create mode 100644 www/app/services/bluetooth-helper.service.js create mode 100644 www/app/services/bluetooth.service.js create mode 100644 www/app/services/hex-ascii.service.js create mode 100644 www/app/services/rfduino.service.js create mode 100644 www/app/services/settings.service.js create mode 100644 www/app/settings/settings.controller.js create mode 100644 www/app/settings/settings.module.js create mode 100644 www/app/settings/tab-settings.html create mode 100644 www/app/shell/tab.controller.js create mode 100644 www/app/shell/tab.module.js create mode 100644 www/app/shell/tabs.html create mode 100644 www/app/workout/modal/set-info-modal.tmpl.html create mode 100644 www/app/workout/modal/set-info.controller.js create mode 100644 www/app/workout/tab-workout.html create mode 100644 www/app/workout/templates/bluetooth-disabled.tmpl.html create mode 100644 www/app/workout/templates/bluetooth-disconnected.tmpl.html create mode 100644 www/app/workout/templates/waiting.tmpl.html create mode 100644 www/app/workout/templates/workout-card.tmpl.html create mode 100644 www/app/workout/templates/workout.initialization.js create mode 100644 www/app/workout/workout.controller.js create mode 100644 www/app/workout/workout.module.js create mode 100644 www/css/style.css create mode 100644 www/css/workout.css create mode 100644 www/img/icons/OpenBarbell_Icon.svg create mode 100644 www/img/icons/add.svg create mode 100644 www/img/icons/bluetooth.svg create mode 100644 www/img/icons/remove.svg create mode 100644 www/index.html create mode 100644 www/lib/ionic-material/ionic.material.css create mode 100644 www/lib/ionic-material/ionic.material.js create mode 100644 www/lib/ionic-material/ionic.material.min.css create mode 100644 www/lib/ionic-material/ionic.material.min.js create mode 100644 www/lib/ionic-material/ionic.material.min.js.map create mode 100644 www/lib/ionic/css/bootstrap-3.3.5/bootstrap.min.css create mode 100644 www/lib/ionic/css/ionic.css create mode 100644 www/lib/ionic/css/ionic.min.css create mode 100644 www/lib/ionic/fonts/ionicons.eot create mode 100644 www/lib/ionic/fonts/ionicons.svg create mode 100644 www/lib/ionic/fonts/ionicons.ttf create mode 100644 www/lib/ionic/fonts/ionicons.woff create mode 100644 www/lib/ionic/js/angular-material-1.0.0/angular-material.min.css create mode 100644 www/lib/ionic/js/angular-material-1.0.0/angular-material.min.js create mode 100644 www/lib/ionic/js/angular-ui/angular-ui-router.js create mode 100644 www/lib/ionic/js/angular-ui/angular-ui-router.min.js create mode 100644 www/lib/ionic/js/angular/angular-animate.js create mode 100644 www/lib/ionic/js/angular/angular-animate.min.js create mode 100644 www/lib/ionic/js/angular/angular-animate.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-aria.js create mode 100644 www/lib/ionic/js/angular/angular-aria.min.js create mode 100644 www/lib/ionic/js/angular/angular-aria.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-cookies.js create mode 100644 www/lib/ionic/js/angular/angular-cookies.min.js create mode 100644 www/lib/ionic/js/angular/angular-cookies.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-csp.css create mode 100644 www/lib/ionic/js/angular/angular-loader.js create mode 100644 www/lib/ionic/js/angular/angular-loader.min.js create mode 100644 www/lib/ionic/js/angular/angular-loader.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-message-format.js create mode 100644 www/lib/ionic/js/angular/angular-message-format.min.js create mode 100644 www/lib/ionic/js/angular/angular-message-format.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-messages.js create mode 100644 www/lib/ionic/js/angular/angular-messages.min.js create mode 100644 www/lib/ionic/js/angular/angular-messages.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-mocks.js create mode 100644 www/lib/ionic/js/angular/angular-resource.js create mode 100644 www/lib/ionic/js/angular/angular-resource.min.js create mode 100644 www/lib/ionic/js/angular/angular-resource.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-route.js create mode 100644 www/lib/ionic/js/angular/angular-route.min.js create mode 100644 www/lib/ionic/js/angular/angular-route.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-sanitize.js create mode 100644 www/lib/ionic/js/angular/angular-sanitize.min.js create mode 100644 www/lib/ionic/js/angular/angular-sanitize.min.js.map create mode 100644 www/lib/ionic/js/angular/angular-scenario.js create mode 100644 www/lib/ionic/js/angular/angular-touch.js create mode 100644 www/lib/ionic/js/angular/angular-touch.min.js create mode 100644 www/lib/ionic/js/angular/angular-touch.min.js.map create mode 100644 www/lib/ionic/js/angular/angular.js create mode 100644 www/lib/ionic/js/angular/angular.min.js create mode 100644 www/lib/ionic/js/angular/angular.min.js.map create mode 100644 www/lib/ionic/js/angular/errors.json create mode 100644 www/lib/ionic/js/angular/version.json create mode 100644 www/lib/ionic/js/angular/version.txt create mode 100644 www/lib/ionic/js/ionic-angular.js create mode 100644 www/lib/ionic/js/ionic-angular.min.js create mode 100644 www/lib/ionic/js/ionic.bundle.js create mode 100644 www/lib/ionic/js/ionic.bundle.min.js create mode 100644 www/lib/ionic/js/ionic.js create mode 100644 www/lib/ionic/js/ionic.min.js create mode 100644 www/lib/ionic/js/pouchDB/pouchdb-5.2.1.min.js create mode 100644 www/lib/ionic/scss/_action-sheet.scss create mode 100644 www/lib/ionic/scss/_animations.scss create mode 100644 www/lib/ionic/scss/_backdrop.scss create mode 100644 www/lib/ionic/scss/_badge.scss create mode 100644 www/lib/ionic/scss/_bar.scss create mode 100644 www/lib/ionic/scss/_button-bar.scss create mode 100644 www/lib/ionic/scss/_button.scss create mode 100644 www/lib/ionic/scss/_checkbox.scss create mode 100644 www/lib/ionic/scss/_form.scss create mode 100644 www/lib/ionic/scss/_grid.scss create mode 100644 www/lib/ionic/scss/_items.scss create mode 100644 www/lib/ionic/scss/_list.scss create mode 100644 www/lib/ionic/scss/_loading.scss create mode 100644 www/lib/ionic/scss/_menu.scss create mode 100644 www/lib/ionic/scss/_mixins.scss create mode 100644 www/lib/ionic/scss/_modal.scss create mode 100644 www/lib/ionic/scss/_platform.scss create mode 100644 www/lib/ionic/scss/_popover.scss create mode 100644 www/lib/ionic/scss/_popup.scss create mode 100644 www/lib/ionic/scss/_progress.scss create mode 100644 www/lib/ionic/scss/_radio.scss create mode 100644 www/lib/ionic/scss/_range.scss create mode 100644 www/lib/ionic/scss/_refresher.scss create mode 100644 www/lib/ionic/scss/_reset.scss create mode 100644 www/lib/ionic/scss/_scaffolding.scss create mode 100644 www/lib/ionic/scss/_select.scss create mode 100644 www/lib/ionic/scss/_slide-box.scss create mode 100644 www/lib/ionic/scss/_slides.scss create mode 100644 www/lib/ionic/scss/_spinner.scss create mode 100644 www/lib/ionic/scss/_tabs.scss create mode 100644 www/lib/ionic/scss/_toggle.scss create mode 100644 www/lib/ionic/scss/_transitions.scss create mode 100644 www/lib/ionic/scss/_type.scss create mode 100644 www/lib/ionic/scss/_util.scss create mode 100644 www/lib/ionic/scss/_variables.scss create mode 100644 www/lib/ionic/scss/ionic.scss create mode 100644 www/lib/ionic/scss/ionicons/_ionicons-font.scss create mode 100644 www/lib/ionic/scss/ionicons/_ionicons-icons.scss create mode 100644 www/lib/ionic/scss/ionicons/_ionicons-variables.scss create mode 100644 www/lib/ionic/scss/ionicons/ionicons.scss create mode 100644 www/lib/ionic/version.json diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..e28246d --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "www/lib" +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..aca2523 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false \ No newline at end of file diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..270c993 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +open-barbell-master \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..86b3847 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..71829b8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..f822940 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/open-barbell-master.iml b/.idea/open-barbell-master.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/open-barbell-master.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..6564d52 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..14411d6 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1456517364133 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.project b/.project new file mode 100644 index 0000000..eea04e5 --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + testTabs + + + + + + + + diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..4adde03 --- /dev/null +++ b/bower.json @@ -0,0 +1,7 @@ +{ + "name": "HelloIonic", + "private": "true", + "devDependencies": { + "ionic": "driftyco/ionic-bower#1.2.4" + } +} diff --git a/config.xml b/config.xml new file mode 100644 index 0000000..c1e665a --- /dev/null +++ b/config.xml @@ -0,0 +1,72 @@ + + + testTabs + + An Ionic Framework and Cordova project. + + + Your Name Here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..959d78a --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,81 @@ +var gulp = require('gulp'); +var gutil = require('gulp-util'); +var bower = require('bower'); +var concat = require('gulp-concat'); +var sass = require('gulp-sass'); +var minifyCss = require('gulp-minify-css'); +var rename = require('gulp-rename'); +var sh = require('shelljs'); + +var paths = { + sass: ['./scss/**/*.scss'] +}; + +gulp.task('default', ['sass']); + +gulp.task('sass', function(done) { + gulp.src('./scss/ionic.app.scss') + .pipe(sass()) + .on('error', sass.logError) + .pipe(gulp.dest('./www/css/')) + .pipe(minifyCss({ + keepSpecialComments: 0 + })) + .pipe(rename({ extname: '.min.css' })) + .pipe(gulp.dest('./www/css/')) + .on('end', done); +}); + +gulp.task('plugin-overwrite', function() { + // Step 1: Move the edited files back into the plugin folder + gulp.src('./www/plugin/bluetoothSerial.js') + .pipe(gulp.dest('./plugins/com.plugin/src/browser/')); + + // Step 2: Build the project + if (sh.exec('ionic build browser').code !== 0) { + console.log('Failed to build for browser'); + process.exit(1); + } + + // Step 3: Move built files back into webroot + gulp.src(['./platforms/browser/www/cordova.js', './platforms/browser/www/cordova_plugins.js']) + .pipe(gulp.dest('./www/build/')); + + gulp.src('./platforms/browser/www/plugins') + .pipe(gulp.dest('./www/build/')); +}); + +gulp.task('browser:serve', function() { + gulp.src(paths.browser) + .pipe(webserver({ + livereload: {enable: true, port: 35729}, + directoryListing: false, + host: localhost, + port: 8100, + open: true + })); +}); + +gulp.task('watch', function() { + gulp.watch(paths.sass, ['sass']); +}); + +gulp.task('install', ['git-check'], function() { + return bower.commands.install() + .on('log', function(data) { + gutil.log('bower', gutil.colors.cyan(data.id), data.message); + }); +}); + +gulp.task('git-check', function(done) { + if (!sh.which('git')) { + console.log( + ' ' + gutil.colors.red('Git is not installed.'), + '\n Git, the version control system, is required to download Ionic.', + '\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.', + '\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.' + ); + process.exit(1); + } + done(); +}); diff --git a/hooks/README.md b/hooks/README.md new file mode 100644 index 0000000..d2563ea --- /dev/null +++ b/hooks/README.md @@ -0,0 +1,83 @@ + +# Cordova Hooks + +This directory may contain scripts used to customize cordova commands. This +directory used to exist at `.cordova/hooks`, but has now been moved to the +project root. Any scripts you add to these directories will be executed before +and after the commands corresponding to the directory name. Useful for +integrating your own build systems or integrating with version control systems. + +__Remember__: Make your scripts executable. + +## Hook Directories +The following subdirectories will be used for hooks: + + after_build/ + after_compile/ + after_docs/ + after_emulate/ + after_platform_add/ + after_platform_rm/ + after_platform_ls/ + after_plugin_add/ + after_plugin_ls/ + after_plugin_rm/ + after_plugin_search/ + after_prepare/ + after_run/ + after_serve/ + before_build/ + before_compile/ + before_docs/ + before_emulate/ + before_platform_add/ + before_platform_rm/ + before_platform_ls/ + before_plugin_add/ + before_plugin_ls/ + before_plugin_rm/ + before_plugin_search/ + before_prepare/ + before_run/ + before_serve/ + pre_package/ <-- Windows 8 and Windows Phone only. + +## Script Interface + +All scripts are run from the project's root directory and have the root directory passes as the first argument. All other options are passed to the script using environment variables: + +* CORDOVA_VERSION - The version of the Cordova-CLI. +* CORDOVA_PLATFORMS - Comma separated list of platforms that the command applies to (e.g.: android, ios). +* CORDOVA_PLUGINS - Comma separated list of plugin IDs that the command applies to (e.g.: org.apache.cordova.file, org.apache.cordova.file-transfer) +* CORDOVA_HOOK - Path to the hook that is being executed. +* CORDOVA_CMDLINE - The exact command-line arguments passed to cordova (e.g.: cordova run ios --emulate) + +If a script returns a non-zero exit code, then the parent cordova command will be aborted. + + +## Writing hooks + +We highly recommend writting your hooks using Node.js so that they are +cross-platform. Some good examples are shown here: + +[http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/](http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/) + diff --git a/hooks/after_prepare/010_add_platform_class.js b/hooks/after_prepare/010_add_platform_class.js new file mode 100644 index 0000000..bda3e41 --- /dev/null +++ b/hooks/after_prepare/010_add_platform_class.js @@ -0,0 +1,94 @@ +#!/usr/bin/env node + +// Add Platform Class +// v1.0 +// Automatically adds the platform class to the body tag +// after the `prepare` command. By placing the platform CSS classes +// directly in the HTML built for the platform, it speeds up +// rendering the correct layout/style for the specific platform +// instead of waiting for the JS to figure out the correct classes. + +var fs = require('fs'); +var path = require('path'); + +var rootdir = process.argv[2]; + +function addPlatformBodyTag(indexPath, platform) { + // add the platform class to the body tag + try { + var platformClass = 'platform-' + platform; + var cordovaClass = 'platform-cordova platform-webview'; + + var html = fs.readFileSync(indexPath, 'utf8'); + + var bodyTag = findBodyTag(html); + if(!bodyTag) return; // no opening body tag, something's wrong + + if(bodyTag.indexOf(platformClass) > -1) return; // already added + + var newBodyTag = bodyTag; + + var classAttr = findClassAttr(bodyTag); + if(classAttr) { + // body tag has existing class attribute, add the classname + var endingQuote = classAttr.substring(classAttr.length-1); + var newClassAttr = classAttr.substring(0, classAttr.length-1); + newClassAttr += ' ' + platformClass + ' ' + cordovaClass + endingQuote; + newBodyTag = bodyTag.replace(classAttr, newClassAttr); + + } else { + // add class attribute to the body tag + newBodyTag = bodyTag.replace('>', ' class="' + platformClass + ' ' + cordovaClass + '">'); + } + + html = html.replace(bodyTag, newBodyTag); + + fs.writeFileSync(indexPath, html, 'utf8'); + + process.stdout.write('add to body class: ' + platformClass + '\n'); + } catch(e) { + process.stdout.write(e); + } +} + +function findBodyTag(html) { + // get the body tag + try{ + return html.match(/])(.*?)>/gi)[0]; + }catch(e){} +} + +function findClassAttr(bodyTag) { + // get the body tag's class attribute + try{ + return bodyTag.match(/ class=["|'](.*?)["|']/gi)[0]; + }catch(e){} +} + +if (rootdir) { + + // go through each of the platform directories that have been prepared + var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []); + + for(var x=0; x +38 verbose exit [ 1, true ] diff --git a/package.json b/package.json new file mode 100644 index 0000000..bd62c91 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "testtabs", + "version": "1.1.1", + "description": "testTabs: An Ionic project", + "dependencies": { + "gulp": "^3.5.6", + "gulp-sass": "^2.0.4", + "gulp-concat": "^2.2.0", + "gulp-minify-css": "^0.3.0", + "gulp-rename": "^1.2.0" + }, + "devDependencies": { + "bower": "^1.7.7", + "gulp-util": "^3.0.7", + "shelljs": "^0.3.0" + }, + "cordovaPlugins": [ + "cordova-plugin-device", + "cordova-plugin-console", + "cordova-plugin-whitelist", + "cordova-plugin-splashscreen", + "cordova-plugin-statusbar", + "ionic-plugin-keyboard", + "cordova-plugin-bluetooth-serial" + ], + "cordovaPlatforms": [ + "android" + ] +} diff --git a/platforms/android/.gitignore b/platforms/android/.gitignore new file mode 100644 index 0000000..6e52445 --- /dev/null +++ b/platforms/android/.gitignore @@ -0,0 +1,14 @@ +# Non-project-specific build files: +build.xml +local.properties +/gradlew +/gradlew.bat +/gradle +# Ant builds +ant-build +ant-gen +# Eclipse builds +gen +out +# Gradle builds +/build diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties b/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties new file mode 100644 index 0000000..7f09ea5 --- /dev/null +++ b/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties @@ -0,0 +1 @@ +#Thu Feb 25 19:52:25 EST 2016 diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock b/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock new file mode 100644 index 0000000000000000000000000000000000000000..ea55602447208d49573262a82503ad57ba308dca GIT binary patch literal 17 VcmZQp>siE>l631D0~oNz0st*p1U3Kw literal 0 HcmV?d00001 diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin b/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..1c3903aa899d46668ca8e581801a11313461e42d GIT binary patch literal 72349 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 literal 0 HcmV?d00001 diff --git a/platforms/android/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin b/platforms/android/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin new file mode 100644 index 0000000000000000000000000000000000000000..46a5957660ee6ab54c9a1fc2830b6cfff2eb718d GIT binary patch literal 465156 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

kX4R%oI=LrhYf`mckS@D8 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 + + + + + + + + + + + + + + + diff --git a/platforms/android/CordovaLib/AndroidManifest.xml b/platforms/android/CordovaLib/AndroidManifest.xml new file mode 100644 index 0000000..3feb903 --- /dev/null +++ b/platforms/android/CordovaLib/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + diff --git a/platforms/android/CordovaLib/build.gradle b/platforms/android/CordovaLib/build.gradle new file mode 100644 index 0000000..f1c6682 --- /dev/null +++ b/platforms/android/CordovaLib/build.gradle @@ -0,0 +1,61 @@ +/* Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + + + +buildscript { + repositories { + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:1.5.0' + } + +} + +apply plugin: 'android-library' + +ext { + apply from: 'cordova.gradle' + cdvCompileSdkVersion = privateHelpers.getProjectTarget() + cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() +} + +android { + compileSdkVersion cdvCompileSdkVersion + buildToolsVersion cdvBuildToolsVersion + publishNonDefault true + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_6 + targetCompatibility JavaVersion.VERSION_1_6 + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + } + } +} diff --git a/platforms/android/CordovaLib/build/generated/source/buildConfig/debug/org/apache/cordova/BuildConfig.java b/platforms/android/CordovaLib/build/generated/source/buildConfig/debug/org/apache/cordova/BuildConfig.java new file mode 100644 index 0000000..f2feb90 --- /dev/null +++ b/platforms/android/CordovaLib/build/generated/source/buildConfig/debug/org/apache/cordova/BuildConfig.java @@ -0,0 +1,13 @@ +/** + * Automatically generated file. DO NOT MODIFY + */ +package org.apache.cordova; + +public final class BuildConfig { + public static final boolean DEBUG = Boolean.parseBoolean("true"); + public static final String APPLICATION_ID = "org.apache.cordova"; + public static final String BUILD_TYPE = "debug"; + public static final String FLAVOR = ""; + public static final int VERSION_CODE = 1; + public static final String VERSION_NAME = "1.0"; +} diff --git a/platforms/android/CordovaLib/build/intermediates/bundles/debug/AndroidManifest.xml b/platforms/android/CordovaLib/build/intermediates/bundles/debug/AndroidManifest.xml new file mode 100644 index 0000000..90863ed --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/bundles/debug/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/bundles/debug/aapt/AndroidManifest.xml b/platforms/android/CordovaLib/build/intermediates/bundles/debug/aapt/AndroidManifest.xml new file mode 100644 index 0000000..90863ed --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/bundles/debug/aapt/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/bundles/debug/classes.jar b/platforms/android/CordovaLib/build/intermediates/bundles/debug/classes.jar new file mode 100644 index 0000000000000000000000000000000000000000..44923eab10f0946f4688a3dacb92a6a6e1171e5b GIT binary patch literal 123837 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�{mOB9!|?rMiTl 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
bj7h`~;dw=|L+ZP%$W!fpFDt5j#_6F| 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

vsUZ4bm*P%AC0+cPZZszVrNYXcEXes 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 W2Z_#toDj(AA0TR>3Zxi}zWfQRn}!7d literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildConfig.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/BuildConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..4c5619f629da9b6eaca3877bbdc2e3455f4e480b GIT binary patch literal 711 zcmaJ;+iufP5S-1$c8q%q6bP5n(gH~VoAOG9lv|M{lSEBwiM~`P&LMSW?8>qEFT?|g z2R?w0Laft}T0-LGcxTVf?0C+v-#>l=cnwpBf^7{uIv!)Uf-?40JW=tKQ0{bFC+`S! zN?2_U29Disj_iK#%LWOO)&Pn(vvl~^pm%QV!h!KO6_PO z32TlY%3k_uEaQyIy_ zm#}T-m{-osg)@$SBFE{JI1v;N%vXesYho*k0x3d{>QclrxrCebf1jmsiUWRDg|k&q z%S>`rLj^i3-{86cgYilZuQFcC;dRCvs4nMkGQO3&-((HSBH{BcD_ZgObCNu#CL1sqY{#6TB%e;R+*Onz5%^T)?My;rY1uauB%%VZ0tb5*Yg$Ne8 ztCw|aL8Gd4Q$kx|fwpL8YQfahqD5{_LeqH)*%u|8No;qh0W)3G5<*#{NN3yfdRZH* zF3oA?lsZ=;CzdxDz_e=W;_Wd*_JU61$9%!PaG3^Mdtft&sBR6dhY?J4F_4|QmE9Uj z>!i&rjj9#TNb9_2XKQlTk?7hUo`iNwD;KYos!Yp-W>rfz{Yv;bRx8shVpb}fv<|;k ziRE{iU{=NgYiU&r1JEu);dIypWzKDVe9Y{!PYLjOQ+$i!0EvNc5;%y!f(e3FbX?D=48`#*%_E3) zvO6_RYNf)sC7kf9?zT4eQYU7GO+UKUG7;Nw*9tAG<)Ufm#Z1-KOPRdEJtWcVP9OMf z=)GNB5^V$?(X`51OcD9+Q%N_RtuPx9q4!d3D>@=-ilw7&2nc0$R zSsM9)@ev8HweG<%as3U;Zl0c+S-sFW#75D*y)VYBuW@~mo%L0)G1=^v#`4zdj(WOb zd1o7>8Wwl9#^s5L@d>VhgZ#k-!Z?68aR?kfz5;0CANPcF=c?ct65GOgb7An@LD^0u zNW1u&p?r{MTXGdrGW8sRWcoRR&m4s$X^a5it_e}OnTk88nj$Cesv(UNd=bDgD>*k| zI6wm@k@3ukQ+x|2e?sVcUIGx{O%5~V04lD42Pom4b>%@%xs}S{?;wYsA`}!L!5WZE z4M?j8@~*ImKufr8hIPI%oJt}0LYFIp8Dxs#k3{X<0a4Nk_I zUO=8%MI_d|f+(2*90J8q<3K1-6*_N^DgbA-|_pCU4retF_|ss&R* z_ZPGW@ys!E8Y48-gDcKCf-&cG!#;utzr9aq&Y%Tn8QnQbp2rX_;u`vJ8~siwdl(+w z^+FN19%@Mt$>~J+AN0sLGa}>ce`ExC$~Z?30=!DYGJ5}}35mcLybN3sIi+lS@&$Iz z{D@d;6}wi@vC%V8=ld1*M6Sk#_H`H9>0%$z1Zw{)PRunz0#S=~Q7?JEUap6Fa25M}P)kHzs*8HuLml!^FF4f`1MXF8 z75jZaEe^KrfVy+ow%+=~bqjx>PT?QX!N+wSbPGRRx9|ehukc?G^~<`bZsCVfFPR7G fB=akxeq9$;Bs0M26DuNzD$gi6xA@P8-M{~Tn2^Mw literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Config.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Config.class new file mode 100644 index 0000000000000000000000000000000000000000..173ea3dbf5e5948c3698a183a27eca86db593559 GIT binary patch literal 1841 zcmZ`(ZBtuC7(ELi3E@K1NU6~JhJb*|)q=GJ!~%tirY#oARKGaO%@Vd=?qxQc0{$Vt z_@U|yozWRT)){}4O|Wm(o9b62xL~%iW0a~)`@yhKiE}fTkghODV5Vm#yiqzXEzr!c3;;7uDza$3>ilt zFg#h7NyVhPLQ#j|a%A;0ZBG^)YgW=q6M>=5KFoB>%IL@Y^03L=S5=lv#y&Q&z~JOm zr}8+bHDglaor<(J<9bymYY7XeD7+aLc63d%QOik^TIq^Q6+>-BYQ-!BxQaIgMmq|8WnKbY!BBv8 z+zT*`4|Dh`zy`j~;hO+u+|S`bfQQ)R@a<9Od>Dq!mj57YHD$x2qoYtK6?HtbZx7-C z-(pN4uUw1jhV~ioxR@b2~o? zoNAV=Z8RG3J~f;~~2G$`M#LMxOYC zg762VI3byu(;2#~HF(?)NGGPWlbtKYrGy>i_@% literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ConfigXmlParser.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ConfigXmlParser.class new file mode 100644 index 0000000000000000000000000000000000000000..f93e4411046fa303e424a910d216a59a90addd18 GIT binary patch literal 4919 zcma)930xG{8UGIp%&-iCtKvlnS`S#j)x<;*FF++Eh*XGC(;UO@u#7Id>+CFGk|wcf zHEGf`O;2sw*pt@uP!kr9HnmsUCQXmD>7BOrPHfZDo+jr1W`<>f)ynV3dvD(RzVChS z`~KgtPrrKNNdQ+!@S+*}6x>^Y4Y*InTfNA|KJjtCj0e1s@iy`Cpcvk+;2|-;Lktg# z;hkc5mlyBGdlbA^L0m|CpBMXaz>D|e5idS~4~pYQ1>r#jAM)bE_=wp4sFyn*6T`>F zFj$CB;FB^Ac~ODKWPHktxp+)$KBC~$UVH|hRnRBC4=XsLphH2wf};u^SFlCF6AFe3 zkixK_JSN_7T)_zi148ym8K3iF89pzb^Q3|=cyS6}6vLOi_%gmCc)luzr(}H1i?zZY zUl;Q?#PGC&XJmX+#%X)Dz?`ibs-RBf36HaXLAtIaeetBNAvZ zO>K9pk+8%q9Y#2+SxHluuq+$R%4}D*r-kpXUoCDkq6s6UZ_r&y(sl`QLO1)2AmtW1 zx->3w{mKoG;5kxifW z@c9v)iknua7AAnAS}#?~>(e4h&YpxB6o|CUHUdk=wYMejJ|L_)>UUFY1==;s(oOM1xmUADYi6U`=p5C{__mDiNKjS=BQE^C z9kHYt)HfIc>{G{qcagYG#SPd>uy>PWMIaDx{eBB$OSc03{rv$W8qxe6&+|%(J6-O#jpjNWjv?id-y)_Mi4UU zR6LI#$oQd(AK}L`exl;12+8=FiWl&66~918#Wg~~a#K$P=z9TP@-5=B!bnu~8i@pR z;T##iRMCsmDt?7utI)xRCB<+%A~JrX;uTAgdTBZP+S0rjD3(NSUia+6H6@SKGRQwgEDS;0Z z(W&ANypiwD;+WCwvRjz_Zz}$d7m2)^Z`5jUtG%h3J|}Ke`~zoI+>L({K`Q=*f2;Tp z{;T4DI45Dc?Zb>z(U>$MApyo&7lw_BSMaKe^I#e%9)~;$bF-*Afv9Bk-c4OQ^q|Fr zIlARkwh`^@Y&j-svYfb)!g#K15%D+u0$GmX%zU|7PuS7JS}=$Cay+d7S(=0)s*uI4 zNmIt8S9_BL#iP2rbY7AEM?f%b43oP}w#lPxXx|mEg9f;LevDcVPr5Y@@I$cRi-{R!_ z<(af@SCz#~6Sqb{Ya`U|H>iTVzOA{nrQ@1(vzBp6pBGxO)>yx8Hff?9FL1BUq;Z>s zjG!c&hdEn99KUTG2DsPvjaY zQ*=)^Yl`h2+B!c-wg###VzP5BR) zR?HECIqbWe`3s|fKQLG{xXKaL&7N7f?3o1$5;ocEc8;u793g6zJ+oZdGb@%ovuJVl zl7}^w<2HWnVXMyqhc*6TNPb_=5Ip{q$lW%KydmUsDQ_#8It*n91%A&EynbKd5LA0C zvd2kcyZ8u2 ztkB&q^C3RlLrvCIr%>XX?DKJ+lETy!rlnB2s_XzNGESzud+Jfl@Xb7iSx5Zhv@C_$ zDU=D5dTf)6{yI!$Z#9#^Ehix7 z6O5IFY!$n!TCNwf!CJ!p>ME|6(<1^eOOeO(TsB2fN?l^FV)kR}(vPh}9J~0O9Gb*T zKXx+m&ml*eT+kvT(JaG~Ny28zdAD?&g7bL6S-xzZgpD=6`6(>ej~V`4f%R(1x9~VB zJs{)<@fA4=4Hj_Q4c!K#3!a`|YzDo*h83y{6T8%NV+%LF}^6 z7TIUI-xo+r;SOVL5bZU-#rA1+TC<~AlEM{jY0?$B6p~*%GdG1R2XT3gZ>h~tN`k9w zjoNCTqBm=YarG#`wi6#b*7na#%LIQgwtL^>0#P;kVZUA zkDQ`Uo3Ey$#rVbV1sa zXI)Rqcp1BS>cDmq6%ui zqX# z!QzEgeCl0PRJ9+whf0dPQ3TH`m@VT?GVUoZWlDN;x`>qXJ>oClxBhX=5UNOa;&RgV MTzX~GNO<85 z6}fV}9)^lm+ak;OkObUoM7x}dPq`X~JJv`w?EDsaG1wKc?KF>u=n$E>0*<6pxe2%Y z&%G%TgSVsiOe~&CSN`%}cYfQE(LFs;ajG-YvMuaLCuQ995#W}O63RXnuroqcr1G3Ny@NxGV-vYqi>dNiK0~|F{6~LgKz9(eXti;CdzyXJ zX?o{rkXfzf3Z_+o-UU=>B0O3>B7cr-wblLz*4q4x!uuRlrEiHqz&H5xUC9%xID;B_ zlz_8Xq8M|xHzj*URF2GReE@53e!|>4@(P4K*0xsr~R`bkD TxJO^~xq7u0gVl&TG()i|m3T8eZwvj7wqz5o~fNbiHABAucfJ1`9rZC z(=Ii(ufixEkUWPX>BSuzH3vR69o$60LEab#HyjkP;$REgHg+5YAPwE?*W%V0N;6&F zw$DVE(Co9&@ldIWAnVtsqjqC;EJ7hiqO)&S&ER@3*A5VA%MNoF7En zkVwn5e|Iz`F%$;9_<~MHyh|ciz4^+gr<2$)kx_8S`@6LkR_W7UqAll;E|rYP03qpo zg`_@uwWA6#mAyb)1DHCR_rP8gS{_5KIZB+zNycz`-GH0!HNDcy~w!mfh8QZ5j|y zz!UHom2gl&;sN?fm8yQ@Sfs+V#FEc#&z$q^Ip6G`f4~0-;4GRW*n^r8XN>s4h_gn_ z6flW%BbdgIqd1SB3b=rad0et^xqwleGvZ1fKj(4PnAh^SUSRU9g&P*;EZh{xccoue zzv)CktP13e`%DRx8)3XwlaX}SRm}}!FYLSX=dn~n2_d)ElPqMDtl+4QfUfg z=0cCJI@ZvEy4QKuQt^G+@);>MLRb1t8EfMYf*Au@00MSB2vj`h%XV8aa$*OV$}^lo zI__{lX~*>5wUS8p>7tAV)e9?OCwA2>ZTe4sHt5r4qy#!2xPI8?3>Q_h9(oq$ZQR0b z8{c5c#y;$~allvyamdDDBaXnaaR+q^3pVbeVPVn6JuC@K%tn!~U1_#fnvdf!7TEv! z>TYzj@2S|vFZfj;RdUFZij8Hg&|A7|<31jcD_^Hdc}8G-yZTb=iE>G~;&y1c69ik+ zKlb%r+Y|Or!qZcs#Dn>vekFU{mz^ej#B1$ z65=_I(YB4vI>&K>THt#)lqK4)k?lWQsJ=z&4d$uRZ(;p`JZYHU#E1zL3m-80=pAf2 znN92}?xvufHTD?ACdP{s45T(uGzijt1Vv=nYy*~ffdk?t>f+VE&@2qlRG3c;f1%D} YRXQo0#3||wKftH)9jyW(?xE)IADPa6IRF3v literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity$4$1.class new file mode 100644 index 0000000000000000000000000000000000000000..3ce42f1c7775b92f8a63955b7d6a7f624c39981a GIT binary patch literal 1083 zcma)5%Wl&^6g@Xd<2+m%LV2Y?Uv5cKsGCwAQV|jgAVo^)qNodY6MLFW>y9hi4e%8R z5DPv7seoX?2k=pdJ4x8UBC+JT_a0xL`N~g}Q|`LN@8C*lAd}O#s1eX)U8>AmUiYgw=K!bzN~Hyq-MlVDsV5Hm*JrV4SNEv$sW=y7p z$@rZHCuN1Y87S|Fuu^Rc?MI>VxeA>~ow!ew2*PfQjp#sla=T?R%K8J8usGJAF!idZ zydHsCgz3FRct<f-qLPyCaic=-XI_Yoma3 zHfG>j*s#$s$R_UC*uq^4_iWsU%X67zEKY+^GNIf+=&rllIh0;PaL07Q*&TMRtzvGJ zj5yK%5NDG3gmiSO`K+4O&W{Pp+pD$2~-x-t`J)2-;nw|@G0||WgpO6TwvWc zIy21TB1^(0TplrKmTAW3*1jW6sGot(kokn^p*HmuSwoqIp)4cAf4@VP-lIexP@#_l z`h_9Ih@Q!C1y=_l=TKoQg=+&2s<7jAR#Uivd6pTz_Y0V2&3q}cG>&zLaA#_H_!kUKN_Sqp=fDJE2)jGir#E4$-=T5cW-KW z^~D*#URChjXJ$;8kr|&I{~_NT&)tN!LnqT@Cg+@c_ndRj*YDnc{`>PU0GCipU>t8N z@{S_!Dl)G~UXd$Fr174Hg(QaYz9Nf?6cj0HxRyi;OKNdlkq;F4P{VQ(mvKYGiiVPg zRR%EV%dRW@qQiqg1Pt*V?ilw4gHiJQdX6`_)et$$^K0G?&lS6T(USI#Eg$3=M!Nbz z!0Ti*R=Uec&Eal6SC+o*)=4FyRHQ8(Qb;Pf+LF?98HUwD?AnrnZPU@RVF$(q60X>; zEw3_slNlt4fpiYVbvV+)JKHmx46&kDqsWhyY**ZD-LDFNgI859V(TgzNSm;4qakFLxaVTd)C7N!#RMVJ{FjyM<7kt_lt;+jw(z7 z#0i!mCuD}4z!`GFXUGY_^teRmKZV!G+8}A2)*A6?Gus9;&$SUT&$kgZCt_{H%!#2k zhRk%ljkx&)+T+mvb)s>y2m2P&Bv)M?6L^>05Z2q$!feiK}0#%jmVeigRSV4USLaiT?pi C(-D0D literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaActivity.class new file mode 100644 index 0000000000000000000000000000000000000000..a83b757b1ac514b99992fcb616a5852b67015b8f GIT binary patch literal 11399 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 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaArgs.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaArgs.class new file mode 100644 index 0000000000000000000000000000000000000000..8b2d611ac9c39bbf5b8f6f6f9dbc614a6a080949 GIT binary patch literal 2561 zcma)-Yje{^6o%imjfGStp$Q40+yX7&go_L14gunXK!S0AK!9+SZN(^Kq>OBL=zpS9 zI#Vvw5B&lBs7~J_IZjxj+8=yYXZ7mYvuDp9fBE?{Uh zEx+0b{QUglLTM@to!>4iWUqL>*SxB*E4P(kd`TfQ9aLR~fuiTTrPiCW8$NK#b;b-|A#clIpQ^0*~cRehFe!RAPy}oGHYm{2`xXDx68OkzEfEs#E&-M&u*(X4^ z>(GlmLwSu7pyuydPA7YY@>(W9Ej`kyo}s+vEUc~S^gA6o`@c{n%_0G1>t{aS1;v(= zfa=q0veX5|#+88T*Q2`M1;zH4fEv(qwbTX0CYpfSp`(_&pxBBNP~Ypd_M!`l4Lt!h zs7F=qg5uvo0%}N4`$`woRa|S={XLG-ga_KK)Vgy#{TVwqVzVd!>g>;NBIsBw?=;nc Uc2hNx#dSqN_RmA1#enng9R* literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaBridge.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaBridge.class new file mode 100644 index 0000000000000000000000000000000000000000..a729b2b3a9f0296e2e08b49ca11cd9024952d985 GIT binary patch literal 5456 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 c(pbg@HYob%7 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$3.class new file mode 100644 index 0000000000000000000000000000000000000000..4b4f63090670a6adbe0d5ce09fc9c0032204ae1a GIT binary patch literal 1318 zcma)6ZBG+H5Pr5jdbS+4)&>PpK&!On9=WX3PO87Va z0KS+=jDGM3_@j)o*HYtKxJzz#W_IS;nP+GB`;V{R04(EC8Y8%?hkF^MFgJ=cN+!xC zDkc^fGCl4Ul?aZ!(8Ll$>Qy8&SPkD7s_yY15CKEADOKC%UG8**?MT&4ZURS7MAD~81VaE-MRfclhSRJ(L`fj+!@TL?yDz4*sYUN!9qb^&5A=`9)@$%^1 zzEH3EzDJgPQ##z+<;vCiz-Z`F7{D+ed$Sd)W<>fg#0kS{smcA8l5UH*^F!f>cAvBc zDe5hEM6EIO=(*z9rm&43`PIsML`o}Sm|=G4^gkE|^H7}hi(?JSKxh<(Ys1Lj;Tgtu zLhc-H@$R73%#J)#j@WcH8x#LJ;-v%L zsC!K$ayfl60L^qv^hPA;&mu>wS4et7dQw{|^Jid{g)<~7pOO3+Ip%59Fu-G6rO}Gy zED9JWjhYPC2Qcpm#2{N?%KU&_fgc5Ph4ZHc1Q#1r^FyQ%Gq(N*qcrD2PiaB9hxw6!n0(Y@BVf#r0NeC;eSW zR0t0I0Dcr=)=AVuk!nkx-5JlkotZc5KYxGy2C$7+c`V_n5zh*+P%R>l4I9sGY}%+Z z6sA0=Y7tF>*hZ7V`k3q)oL(3T-3@pYiHM=?DLr!e8TZG+^_3o~DR;ZG^_}E_8bu#O za3*wh2GAj>cr2r8o1vaI)&#wgp^V=$e5s|5O6#~tt$xIi>#Ct(D0wmz`;*gw(4Y7q zAj`6+d>$NeEsZ`m=1eIJU}&a3Y=^3`RoD%r|CM2*=J9Z-l^jy{!dQf{J8N5y6n)Hn z(dn7ItYOkjhV^Ux8J5n+(jPOh9uaw{CfXP8r72?df6TN__>@!0yP+SbNQR?55s%f- z#+HK@XgRovTMll(aZrNmppBQrU0T|A7|P}VH{jvO?GH|bPZPDx;9gUAwLj~TCnIW$ z(3Ig7ODk;_i|O4=8Ng7C#_GJQ!egmV8Fp*lWf6z5rY?0-Gd`buLu0mPWPYULMMf*N z&sU+1)7mxtL4_`_MWbgUQ!X2R09uJGy5JdlODNOV+q8R4de&GP%?q%`)&(++AIN@7 z9G6KN7+?=~NIJ>Bgu7TFjo}{d&tdin#K1U>@5toXPvo+=#3&?(_EE$^f>W9K&T$Ox sDjp=*4j$rBlG0;B%isytXw6YU>l6+0%F^Gcf`VoKPqW8H4Gk;*55s~(@&Et; literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$5.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$5.class new file mode 100644 index 0000000000000000000000000000000000000000..6fd19bf4c7366ab6d7f0e7c4a4cc72905eb8435a GIT binary patch literal 1216 zcma)6-)|B@5dIb@CvXZ@Q?0*BmD&R;hc$gL7+0NTOJ99JN&dfJ^fBydZ4PX~93RuBoBc2qIN3Dbcwk$lgux+8v zP@M6grbRRjVhc@%{D)-EVE4jM=x)HHNJI?nzS0wypK{L^uBY@^&A8j0uWuv|)FgT* zf>WVubAS#(#lDPcZH9W#DI}DEDP34yGp~p+E9b zK$g|M@^~=hS{i*}%$ZUcz|c&6*dA45sjwSJ?<>QW)92w>D>9;L8}M-A9*&NMM-#Qn;9gO8?Qq_szKp0X zLQ{s9EUmOzET?xnWdK7d^3_>ag-24KFzh@1iy{WGrY?0-GrpL7Lu1x4vM^EcGNU!; z^JQq`v~fj$P^HV8r_r;JsZqD<~dkn=Ny^F4`jb3 zj;kaM3^2egl6JB$<2KevW4MF63z!1}F)()HJ2F}J6S*udFp9~cpHRXu!Ku!D7dQrY s9rqG!8~5=bN$DY>W$*|awC1RwO^OD2W$ABJMKN#wPxHrugGRpa575O#1poj5 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$6.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$6.class new file mode 100644 index 0000000000000000000000000000000000000000..5624455273a760e473c19a6e9a464be49e4707cb GIT binary patch literal 1196 zcma)6ZEw>s5Psa0WNia20~N;0ULdfv9ZliGBvizgZiq>RNeoQ__Qg%THdAI#PFj8! z5)*#Ov6L|+}qC@c}GKsJJkB#;TpK>a5SB9}lA~|{|(yQgs2&-3$c$g_MSOCyyoGOGKZFGCxrwJSP= zb-J=P9XJPtTFo#7&`5OAwJy+KMU7T(((EPama#Nj=U~mPa}=6CV13IRmq{8J;1h0< zbhCLCw^1jJ;STQ3VRi__0K3iaC|K+#iWV*~%Guf%RB)8x)MvhP9D}=pdxT`+K4BE_ e01s&_Viju?16s4_PpK&$ixIK&rXO8inWHWo?5@PQbUFgJ=UDkiEX zY9{6xa((WXl?V_0$iyN;=5;JHSgjxss_FAE6d}V>TdI!Dd)(;?+mXtZeQq}g^D~e8 zvJ<`#eov_K0H8roQP&I0OAOVdu{vng3%uwl!`n*YsHBc(sa3Za(oN|KhJ4!##H+)D z9iiUv9iJ@4wsg3^#g(V^p)svXVE{ut@n$Pj&4>(MierY=N}C6+lAcT41(66Mdq7%? z6t&A8(P*7}^gVH8Q`lOc{2JA5BE^jvW|%#9`X3B~xi5|f#jzG;AT$cYwe!f|;Tgs@ zBkt_4^WL!5+@?HKj(F~AHYWac#EW~p&xyOW!0~111)X&fb){>sU;01v4NlJ?IELqTs~`#k8_8#{Z#q1JrFuy6r|yt4f_w04@lfE&!v z3y`7yHIXV5^w|J3(?QWIk)l730&9j?-7 z#d01cjFU!fhU-I^_XLtATWQMtfI{sPQU?2iv;pHJeL{8v8mk!la7xah1YFWPF>Y-T zJH#avOkgtJtArbvic>D(CToLF-p=Ttz=2dW%N5Z_)OHX Hkjef8u&-Y6 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$8.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$8.class new file mode 100644 index 0000000000000000000000000000000000000000..1126a350f0b8d7205c822a4ab7824b4c0eb08432 GIT binary patch literal 1499 zcma)6Yg5xe6g}IPhL#8wE4985Ez*`p5ML;WkBVbwDmcR6jNd}Cwu>R#NmB5mqy8ah zERKHg2l%5L?$SOaN`yD6HaEBrN zDzq8&y6bYU=9s?EeTLbF^qPj*Hmw#nEa};D$24lu{8X5ZZ2Hf+)8<|&NLJ65IzyfJ;HosXC^L+-a(j%89+?>ExG&BliO|L`gQpz*~jd} zO#Zh*lVzocLXV4o&NOL@j(F7XV!3i4mVgux9(<)B6P25gr{s8Fyl)wN0 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$9.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$9.class new file mode 100644 index 0000000000000000000000000000000000000000..c6a1762b084fc35582a3aebb012b39027c53006c GIT binary patch literal 1233 zcma)6ZEw>s5PsZr4ebIg0}aO8I_Oy1j;4%HRS{nbh)QLf7#b4di<_D@Ba161?S2A+ ze}lw?-~&H^AB8w4t%kHoO{Cbq^WEdS=g$7~_t$R#J9v`E67K8aK>;~bmXXJ%iH9b( zOjH>PQ|?!k2q%7IqRxP6V5jyC*F_iQHj?aUkv)4ZoE_KungR>y-%3i`z z&kKnbp(w(0nnv0v=H0uM(t&sjNAhG}$>VXv@Xqd?UWeTq!& z2aIpA;R=l!2KbC?G+Obxi0fD-iQxur&R}*4M8jCM@5mVJC$a|4FbeUZU$Bg?F-|$L wo#ANQHQb7^E!@VPIHbFTmcc!&)10M*Hpm-fWzh3fMj@vktmHFcqn6A61C$U;4gdfE literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$Result.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper$Result.class new file mode 100644 index 0000000000000000000000000000000000000000..c4dd999765e42e72699a8e022739d08743f6f015 GIT binary patch literal 277 zcma)1Jr4mv6rAVd&K(k!L@z;O6Rna6i9|x8(5>^bPByo)d;Bm%F#(-)#f=o_nqJj!IxB6%ytFGu_HHTaO)EX&xAv~-Rgq4BM<*d93X h1v`Ic2LwXF4+W@1D5B(90p-^X5POWhf)FAKq6aYEOa1@= literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaDialogsHelper.class new file mode 100644 index 0000000000000000000000000000000000000000..67d736da4cebcf7f4a93390440304db45ec79a8b GIT binary patch literal 3745 zcmbVPYgZFj6x~A-28KZqEjE>^Xw(phQGAQqDr!LkSU?c8wnH)`10ji%3HYeBPy4d1 z)?d=KYFMju^`js9sej0>?mIIH0bzAwveum3JNKNs_c{AM^7p@g`~{!~&lN;)tr4C0 zP{ybNAI8MvdIQFVoe+;3KFJS7#-suTQ=;dlj9UttoyJEpZYyYU8Xt?-pNM!`1Eysp z6trPV1b~dBf}k@@mocND9aAz=3U&&cRuZ}q8Ex8OM*I(&FW@fMk^Hbf&@sA6S=IV-{retT+1fSoRN&#U0EyE=e+8bu!SC0 zKi_Bcxdn|_ZR;Q?^y`_tZW2gi zA)Q;au}QcTj?Zcwn$fbU*r;V1*;KFBP$4ISy#lm6uNMkh%0~HGKyo+TWFM+ExCCD^ z!_3MTibf`>n-V%I*;|w2kUNAFn*>FcYQ`|>- zSy{fYm_ixN70rZx*${dNu2*`r9ERkTEm3LRD4?# zrQL(2wL-dc|JjkN3>AhIR|TnWxB#LO%N5cTt|*^^N=|=6ph~-RatP*9KkN=Gqq5HoI2H cLVSD_!gU)4AM2g8K&k^lez literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaHttpAuthHandler.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaHttpAuthHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..c912f928ac45d1b2a2632ac6138003c40a993030 GIT binary patch literal 821 zcma))QBT`26ot=COH)iXpo|U11}!{L+KC7r_QHgOkPt`_dtl<-O{~@slFCitcOfy5 z_P`I|MP~J}?MVJnBqK=0b z9c6yWPRuj4APr@FDvh>!G+EAidO&Cgsp=CvS}}(YgpD_Ejxh5K^RsiN!i>-wV?P?tL0JCx|3rf?MFo6l z{MIZhUzie)1*W+5SRKIO2N110P^wZIC>sI#-d8u(aLV;VE8*q5gg zr|}7lGQV?A{H@x$fpd$}bE3%I>&(;4)4ZZ?lt%UdM;QUHZC4jIqy6m`<-b$5m}xst XsTY+mnC6+&5(s?Ci3tm=94tNos=@}O+L5@=bn3R-riqc0qkL;gjxyfgmq(?wnyB`zO>H`rO$=QQ%g9kHUY zLaua2^;vj4U@OfNnMF;Ob+nQlcb!?0*)aBq;^307WyDB#AbQNw^oH?!!p=X$3yrzt zOM|dk4@MnXuNQv0jtCW%oeE=EA_)8S<{fihQZ}As_S>r z)q-_eN~MIl>*%#|E7M|1o@-qUdh#TAZk28e-IrWA2g_PK=EB&P&=1lWsWR{6&kW-+ zA49XntTVG-fp6#c&ngx?7qR5Ij1{LqSas(F G);<6Z^W2C4 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl$ActivityResultHolder.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl$ActivityResultHolder.class new file mode 100644 index 0000000000000000000000000000000000000000..a060b1a614c558f98570e61ca05c5487abde8110 GIT binary patch literal 1064 zcmbtSU2D`p6g`uq**1-Kt*f@S)vBv*1Ddt3mO@z&1B-%6@pX1Gwo}riPO^*sCm$4C zL?7zMqd!W#GikwxEf)6We&ybC&fMJJf4&_9*u=d#%wWx!8^+uW;A6dk+YQ`dnAh^{ zP?lA%NF@VH7y>QJVRlmRRbI)wVp!_)Jk^CtV^P>roLKjm!QWE3s9;tAq+1Q|EU=`$3aGaT&kRq-s>p;}Tkw5t8L) zHZshPjSRQjoW&Kws+nW*rfVkp4EF;C4h)rVi(f5tSU2FBfu`Z5iNntMhL>@j;LMx< aWo94$&rHfzY}YD18uaTKt>YFJ5&Q-1Me(x$ literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaInterfaceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..799def23f2fd60df4a366b808489f19867d877a5 GIT binary patch literal 7251 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 JIb1-`e*vTr_vQcq literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPreferences.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaPreferences.class new file mode 100644 index 0000000000000000000000000000000000000000..ed0b3da58fea604155d29b193bf4555f4444c204 GIT binary patch literal 3223 zcma)8Yje|95IyoEij5!-oCJeupuylc2?h$~5t`=V00xuL8bTAwL$QS;Fp?|FK;JEG zXWHox=@(|8onn|W)9EKZ^fz@n-Mvy|#daa%nJek;-aTh`&r1IL-#`8Ya0K5+u?smF z=c5SVLIgXJ=jCDq3s{U|J1()|0~sGi5kamS1-@S9T62x#WX%kbqL{Nw@Ea zJPh@oU@dCxFB>)DzFMi1kx<*LD|}d5>1@miW3IC?D~ws?Pw@HR%M>}})4hO&YLb}QI}y)xDm=(wZcE-DJ{feJd*s)X6PUMX?@P++3U z%O?sf)D(I&}TfrQ@H^D-VP_!QF$=5a>GX9_;Y7Ye?_S2Dg<@D09I@Ce^Y zNN#F&HXtmn-qDIQ4xyA#q=PL)CWe$sB+oCL&F2c|cy62JaI7?jTWm9LKG3W=wMNeS z-M;uDOm^%-uv#b74Q+I&_}@kDjz56AMWdlstC~@gFwsE@{u7R5+#V3&L~7-A=5E_u z7g=n5z%~jfL8WTbnm>N_b><+cxLGF=`E_YJ3KVYM#41(Qs%hTiwx(Y4rctKSl(eFF z_3nE^Y1o}A5~8Yj9}Xpd%()_wFejS$@d{pshB(k~HM?u|W1@EJnCigQU?`O^su zljk1nr#p^7CvX5Mx=I*D+Ko0vp6uI|9(#sxYlM9WBPk*bI$mxB^2Zo)qnA0)s~f9; zApL;8^zR6b{f4dv&P&j;Eu$wMTj6sr$I5Kf3RDoC=x}Pb}20o66?1oJtj3U@CtJ1 z7leXM3QmS+1f(P49uKm|h2-#I1h!6djb@z5(M@z4wGXdwP1 z^@JS#y|_%ou3!L5{9l{iDa$@$Nsn04BbFp$tfc`OSsutxvlk-{G5P?z#2&fzN^~H` z@(52n9cStJ`CKPHHz@6!RH$3TY1PLk;qgg$d=kWmUkfoh$9#O+*y->&O9%m+`wy)k BnyCN) literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi$OpenForReadResult.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaResourceApi$OpenForReadResult.class new file mode 100644 index 0000000000000000000000000000000000000000..15ab1f62eb90d6e90214c792bcde28f0c9762a43 GIT binary patch literal 905 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 F;(r``$wB}C literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebView.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebView.class new file mode 100644 index 0000000000000000000000000000000000000000..4994e6649faf4342e4e8d5f7bb32108b8aca5694 GIT binary patch literal 2239 zcmbVNYj+bx7=E{ugr-;NMG-{{6%)ZOML{$bY_|ncQ`*yLJf~kclg*F}-OS|7&QkH4 zf6EX40DqLnXJ)s}_OM0tL-J&1-s|&T^4H&g{7FQ2X}3&I%JkHu*Ffxx=^hhdQ|Rl(-!>Lqs3~i$z)e6(e+>9#<$nt za5hq``?HQfib^Gys&8_AXj7hyjT$x~4)&b`OGC)y6Sc|0BabR!#F-8(e*RZ4rx3#5bf=h8ck(dbE^tI?_RaQ_kvBlt<~;2%-aDqf;L_MSPzn zF?>!c`HUai@=El;)#_=&p>lVA`sC_2m1-XFI2l;g^w=^?L$z{pQbTlEdf4Kz(FzgF z#9VfF(2a4Z#Sqeq1%#!1_0{n&ytB`G@Nlz0>hLhvfxB$zB5S^b;Cha&Y#eeod!3g& zH0U22#k`1v1mq2Dbz6wYRc|K7uhD&(e#DH8&H;-eOEleRThes&Y(qpS>ixo*&dX%mBfpX?-*ZSJ z729PJmDe7v6sK`U3K>j5b6aBk(Ji-%Rk95Rf^9WZVQ5<7atrF;h|7sW*#;aabtL#{ zz_*LNH!}BUq+y{13s@nj0rU#?bj5kV2>$BEa7K*;^o_#@^sU41sP1r` ozIXVL9y$DhHXLpu51V&DTi|Dmw%zw*x&^Etj~eaJ7o~}R0I7j%N&o-= literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$Client.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$Client.class new file mode 100644 index 0000000000000000000000000000000000000000..deb6dfda96896cb9b474ef3391448dbfca1b954c GIT binary patch literal 549 zcma)3!A=4(6r3XN3W6wziFXs1#IT81PKuBai5fAOcq_XvOUcrbZdv26dGG`LC}Ve# zXaWZ>o!55eb>8&z>-_`3B~Dx%xj1I1D|sW51vkO;mfm_PNyBjA4Y>@p5}}_8diB>g zoz`&1Q|`xHM*g)@F>%>pXa=^>L&d`c6j*=f|LpBBFcj>E0#4E9jUr%i7fy~Y_Hrztoa6q_ XzJjV%6mXEQH8d=iZ71smb*JY literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$EngineView.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewEngine$EngineView.class new file mode 100644 index 0000000000000000000000000000000000000000..1149bf247468320f70575ad89d005aebfee41a23 GIT binary patch literal 308 zcma)2!3u&<5S%sBG=n;JFRDuqympj=Am|X(`Du$O@(eZmw+?+k9~D_%@>G|dU1oM> z*~jyC2jHS-qGO^<7=&DSX?9FYd0>AZ@s%*1&NgWl3VD{niA7M;qA6Pt>|J`v0$xQ4 z6NXKCslrI{JeH+2;Sk)PhV{m%hWZfudvMlDapom5&p9Xb-_|0LDim8k=Aa-<{>(54 c1g-i5KsuoXz3McyKh=O;p6DO!ttd_pyXq7skqhxq zp!;0sO4FgDF9IE<6|;WELu2zqj%50olGNDDjAhbq@FN}9era{(Ew!vMD_ssfo0`qT-9}N-cA;6B%!0sm63*Ub|g#j%n{Is;IYhD6o`MdH#L^ zkK(NcGUhHPzSYbqjLbgR zLSQW(o=BcXA$6YYmsaV#cT`_t)|F;7WE!6c%*6Fsz{Xy+!oL5=c=%~S()Q~y^KSUy zm0}T#`&ueW#u>;C*^i??vw$9L-gobRsx-os_aWsYaKicSzAU<`xk EH_%ud{Qv*} literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4f24ba918e387dd5592988277ab13e0550feae5a GIT binary patch literal 1690 zcma)7TXWk)7(MHlNKw?rD2-bv6ah|~*dngTn2dHxid8F(3!r&PvQaiRxu61X2zcJUe7uE-FEf+pT9l@a0wqx;1n+F=1mJT zxME=mS4}LNxMtxxZWvgxVB(62Ro%a3;--nW_3#}N?;3bd6V^<;Z=r&91Gfx(V4%ui z?DL?IsDQz#?eTqH4tUrtw_@do-4%xMc-M~#iwqZPQgzF`$Gu%q_N3}a!mb_m+hS+S z7x%08dV!{_`k^1+WLTXWku!Mk{1!uYO?CvsRLu{?MsjaQs5ajTXvL{Xj|W>^`Fh@8 z%xXg!z+hLyP^h(lN0FeF`O%ChERpGBDha8b)5kM9=}gMqi)2{7-D+%9KKDc~_GL)W zY=_63VdglZv9l+3FLJp^a2@C z66zw}l^p}OZQMc4#tV4S#%Y|faTc>S>X@a74C*kPJHB|sZCC4+#%9~CG@Fg)s|Ge~ zoJWIUT4(l|lZP%aObDf<(mAkk7auZAc0}YUKMerGLVH)Zo}^HFIwEc?-I!J)q4tGx z@AJq_!YJ`P5k;RS!GhLkQfSjk%O5-NSyXMb&?eVq*c6`d_eH0oO)#)&V+-3Zv{Msc0WhA0fzM)c$;xqav0(px!0&p{rUTuxsYfO@(; z^qywue-!j@oeo0$<=2YVCA9Me?uHjG=(p zzRYhVqGi^LzknSe>pbU-KZfxH=EsjPQ7buC?vDdZZkHU}IdOoKG?*f2Mh|~RwytT9 z@x0@d4lup_fK>CijH}3zsA6>9~Z~Xk-!T I6!rA`8wWVK!vFvP literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$2.class new file mode 100644 index 0000000000000000000000000000000000000000..8463ca108304c31e6eb0596afa15d4f4929fc864 GIT binary patch literal 1553 zcma)6T~icC6g|B=FtQ9nkbr%IvJo`% z(*ozbSg)65L;4%4?8mwuGkSj4-%@L}Ky6ny8=*K100E~OMM}?yve{IeDRu`WUm^UgZbh^O zv%TO>QwOkBqeN-lY9y+@@TIRBNf1X&8CXfAe{WGXQXCz6J|>3(xs|x3eRVA`sK@@@ zu#2YcJmEs*hjBBA))!T>5!Y?ZI+(*12d`q(!4O_?Fl@{*j5rv>X$SMTDsXb2wZp(U zSTLd2@QH)#sM@&U;8S=u79A{MnY4DrYQ7>cw7=8x+Fj)*Bw>H5BN>5X`;)61I^N#p z>ugv1un&7;=3!!^DS^?#0RmPM%@)mkk!oXG1_WUhZkW+vgDXi&#HyA)o1K%subR#L zrD@97?N*CL-kVNl#bhpZo%uf^OS!p2SX9fI|8B+0FoFJcmCX4`uoWa<2^=pJJsH(? z9MpLS8|BUl%Z(g1Pfb$B%hAn%94J|*^bWSM!`4i(hABQgM|ouiVGRu#p#k*NTIwmc z)Ki6gwle%5!*NEB^Xn?dJ@gZ9sSV+tXd~mk)<)JHx7x7WN9cKw=1kD`G6%SiNm?iU zp1=v5;)pj4r}rxUi7bD>oO|2*-E|)#^YspTOV94($YSZ)`QPZh(hiPrMf{3By6iU? z-5uo~qn|uKgtY_b0n1oC(lCn+^9mVnpil5k&C&vIppW)jMt#Qye9yI?IR66y{zzCq z;{txcEZQmHQ66-Xk+0)S3Vm)5dY%;~(eoF}XKb9cSyb3K_Z-$08wG2MTNN3Sfr}Eo R#b^8iPVy_qG6VGd`x`O}hdclP literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$3.class new file mode 100644 index 0000000000000000000000000000000000000000..e520dd9524da1287404d3cb51b5e36fae9de271a GIT binary patch literal 1461 zcma)6ZBG+H5Pr5TJt>D&vsGd4 zF!Zf#^F5xnxl>7R_>RL%wwPzol%+3ihTax~f+sDfLfd_6`-2pw6xp#x zhunnT6Dp3Ebl49MzT$xd<&=( z)GcdGpj)XTLnP~#DgT}o%Mok-Zb`^Zm88ndHMw2n(o*y0Vno4b0E3=)93itduh#{w zq}qd)n4^Tk(sxKERrv0L$IYEpUTX%36H#kgsTdOb0lAttT0 zON;Y*L_vl8$W6uWv9kf6m{I2{!rQD8!^`WgOE)2zOdX;1JpG2=X&xm#YD_l3jFARH##94g zV>r@4#OUv6pu_lv=-0q=gk+RFfdkwisR!dx+{7)KG2F%&Np)@w;b3pZ*hlCKhDfpR z&<=2kfyUtjbcWP`?IT7iLVw2ry24O_!cc*F5h3{#8h+9I5E=Y#2|CjZnh5OK2sw?@ WFoZjpARVEHHbwOTVuV8{P2WEWhX&~7bI?E+$LgYgAx(g@mEL!XCb0^4k7$?j5rmkEBv z2Y-M+%6JDzz}N@MCcF2}*_m_C+wXU;86-`JWgR5+XgJ`B=IDP zT?2U(bQE>$>3GVJh?5K4d3BjiwCY6Pr$g^8^hs3@kXL!!9X&^@+!7*<_`i#ymeK)_5ZiLf5ERf zX*-sV=ZCKBHbvC)J0`Yp*My0TiB;v_u{Il^N1Xi|ujQwLi2kghSQLOrehhDaUE6+&ln7_2!F|rg5i{Q(d4Qs)0tGT4LCp zZ#^y9nM)~^mOG9JL#tFG`ge2oXRUCZj#F9lG%x)3yaS8<2XHS(%7R)|sD`wCY4 z4(-cmPL{q2ngcD1b@EN+6W0bd$uiZ!6NWd4js9heL$D!YL&SgJRwj|rzae=(WiwP9 rZ3AoC<_u$Y!WhFn;?-~;56H&po_dHC^0tV5neM9FBa8rgQe*QMC?HIa literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b87507883bc2e314396cef6182482e6bccff4221 GIT binary patch literal 1524 zcmbVMT~pIQ6g?XXu^~Y1KtaB&(n>)GxO&*U2GbFsPMh}VVfY9((uDz5Ly(y|E3u5DrlcT9Am%R~%=I%ZAG;jW2!+|zO2!~!1Z$eDPEJl*l^8A)Ul zSp~hQ73d_T(kdE78Wj&N5uw}eII6+Kcttx4I);>6kE8M<8ggqJA3((%i} zF1p;NAd)_HEM04XN6J~1$zx>J%bwsiL$hBIqDtkJT2dB`LLX-sK3(Nd-jku=@WR=3-Kkl1hE+UKa1aH46P**ELefF;{Z`1Q%$2c zhHldKkTgkqr7=cEKY)#Vg0@??xkTRCz|%r zJhBJ2hn9WlpK*cVE5a`b)%b|k_Xrht>o9Q)5nvOPlNe~)YF%j2Vu)+~7}ENX&<5&G zV+5Qao6B?& Blez!^ literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl$EngineClient.class new file mode 100644 index 0000000000000000000000000000000000000000..705d3781312048c854b56df610548511f217a8a8 GIT binary patch literal 4946 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 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CordovaWebViewImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ada59ef8ed591d0029921479fd7d5bd5bd23d200 GIT binary patch literal 16092 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 hKg!?ZA5fK=OHFECd6im(KL)!mI!Q literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b7e026ae0853ced6ccdc67e4a2e2788ab5618477 GIT binary patch literal 1020 zcmah|Yi|-k6g>mT!m_nU#QLm#paRvdXg`=>Od6tz23jKuO}`DxWLaEi$n0)gf0jwr z=m&p*KgxI)NT3GWO?Dn2n2Tl$rN<0wO{HC%kGL}swxe`k9dWy%wAht>t-OAnxX(T5g)bO3%NLO= z9fnjx^##Ln)01K^`qUHpJ@5I16q?H6eurx>-cP|)oCpILtk+Ts-SBx32tqb4h*hdl zYDpbQ8q0B9v#lcSh*w@5D?eAl_K+WOO6a9@d=+@oZHaK8`UWZ%s@SrSgJod}D;6H& zk%4UsHpm(y7oqxf-5+vn1?_j^O(gjD_vdKXDK@nrRU zDM~_|2qy}uq*l2(Q)q{p3aO7h8U{+*Z`%8NyIS+l6YSp$<-XtJ&c}w5p*RWal|xcK z7QK!qj_F?iV|Dx%x)Tz4y}mfrITDraitw!;xt?rs$=%qyQn|87{tS!M7kPSy!;l-P zAZ&>sAYq1Qi|m*gG;zINne%K4QB!27Md-nR<@537Q}ZO~U&3WVmua;_`xr5+TVKJd z-;ww-=HzKi69@Q!D>Pc;wTS|Xv}3r2m8n7l$?;jSdJ1-mH7<2GXmED literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$2.class new file mode 100644 index 0000000000000000000000000000000000000000..bc6bacfe2b5880ff1179a23b6a5abe8989fbc47b GIT binary patch literal 741 zcmah{-AWrl6#gdJWX-z9m}<4PO`}Geq~Mm|ok1v}g+gpWOA5W4><-CMXL*Y=A4gnzVrL%@7+Cs8p;`@@Y+Kf>lv)!%{<57rZ$~`pYpIPf>4`Ck9g3~Mto9{(K6a6-?~(CaKNxte$KhlVsIKd5)6w? zsl>P8Nn4m7yd4vgZ|ac8EpDW>r=VjCVE}{wRViT_G4J;UA)C+SD%Gg8q!}ubWt-PK z)W8wESnx`jI zs!VBXl%WYSMb)X(}o{j0HChy9EaKOtf24oYBPpGX%S(pA#pV z!p6VZXPjs&g z5B>ljOZ#`Ecang4u(~jFKR9#ly=U+3-SrKCJ#6PNgB2H9yv$(Um& zQi;>vMO&C}yd6=d)YJiwTHHt*Pm&qi2m=_rPf7{Xhg;!&pl_6n^26RFD)ra-rS3H-)$y1kL_ zViqNe7+#<}VK^XbafSL2Y>4zPWEk#A+!6gBBKSK+RG1K@F;7oZSimCL3@z+3=E!r2 Ja)vB@{{RiVs4V~h literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$4.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid$4.class new file mode 100644 index 0000000000000000000000000000000000000000..7ab6b2cf6c1ea0f4e36da7bae0f867c4ca5eb671 GIT binary patch literal 741 zcmah{ZA%+L5Pmj^x#n`l)cR7j)u?Hkrr=4*w@N{RVj*pzN`!vfyIYdA*WI#rQT$ng zBKn~}pg*G6KO)Ya0rSD?!R^dE%sw;o?EJaD{0-ne8YPTj-bE1$B|OKAGG1cQ!IFcT zgJp(d+LuXvouSszrswltJnRcU)F#r0+;3|mHdSP_j6P8AhEy{B$gtXYEctDhq0rWm zV3_DgCB6)P2Ey#|ASPt8qeC8dxsf&=f(6?M0~owdN(s}Bd6Ec1RvxKUZ&7P`Gf;Fk zY+ZL(4@@YwrL9#R8DZ^!A98AFONFscr0RVZXb3~dTY2m};rm0C?9Tx>{?#8B%6PbPs0N%s7;;(-EdaJg9x>EOjkxxa&)@Tt5M9zQP?Y zE8OQqzsAii{TT_7(R!%*Jg`oSizyWADz83K9h z(ALGOAq5I{=sqheAr;f6Ub7lh$)<3sR#`zo!>1@}cpYzOxP+pD9SwKz8N-A}f3{i5 zEY}^wGH18ebJ_H6zK|-UDW!(H_?+QP!{Lt5@CClq@D+9ye64{aN)=HN(gdk`o#9+T z)I_~%nIgQskzJ!pK}my-vIc=Y1r-fd7^I@p0+L`-IJy+86 zO;BrZuWDHb8cYcpK2Eo>l1Y=7jItCae7Z*?i^t^Kdw@x5|2S9LpD#=DB#%am~FZJu1RUx%x9)h{k&PYCwE*$ZO>Ek!Z(quCy<7XDN1< zL9OyeTAK3&#B-*E3{#rs&;w3(#%cjO!na+0xm9^<;~pj3EH}ByD}n?&pT1MrPBp!= z>luJZ_s}epTVr5kgsC0{bmy1aDGx-cXov^&UiqJ+E^WBe1kpL1=#kd*st2MSCOx)l zhvdFChX|?PLK3WNrKg%*DX z_6$S6VVGWap${n7n-;z;YM8CIK{izjeAYvBpV+jn`;=N!XpT> zs~BUG2(u}~SrqduhIKYgU$g|h0cTKWNqo!Z@I9NyW47qBj}yZ%4l#u&MI)}B4zd?R w+|}j@rjZ~mXJ}o6?;oryn4S8Y^ztD|bA6b@JhlDwrF{ois28B;MyaLWf6vnfG5`Po literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/CoreAndroid.class new file mode 100644 index 0000000000000000000000000000000000000000..beec67fc60a73f06f877e37cdf72dcba311e7c4c GIT binary patch literal 8195 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 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ExposedJsApi.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ExposedJsApi.class new file mode 100644 index 0000000000000000000000000000000000000000..6e6752057948d69c7b9e1a0499d45efa10154c25 GIT binary patch literal 442 zcmbV|y-veG5QJwFCx-Bsq<|7ir@;~}Rgi*YizI~+1ro(^UYWBjpLJ&}KO03JfQLey zC6q*hithH?ncJQH{QB4cxWUxNsgE;)$1O|3OAtNeq7h*s$}CK3qsr{|e`NOCMi?zx z$yKd%X?=`+Ob8d2>y@Zg!;d<)cSfZdFLlaY0GJB=astdk`XSo$wE;H`NpBtCe<$PzKk&5onZZ%v#i~?&XikS zhHYI1|NOO1I@!G9(as?%F`#BlO|9df=*|qeJ+P9pLbXb-j*^aI{a{ K``9^pIQa(1vv*Jc literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaClientCertRequest.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaClientCertRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..18ad39ecc082b2a95f340025cc21d070226af701 GIT binary patch literal 443 zcmZ{g%}N6?6opS}ozd3%TX*7m3SvZXA>COJi-KZB1XnS=jw!=rn#mOA)m-=hK9qQ8 zTB-}(P$zJsMNCtWz>OS$~!B7uoh z>xkRQoYh2Qfs1Hf=Qlr7p17C(qJ`y`Cg_Tg|~ z-Pq35ATgBsioK_4LAgJ!<`y`zE|w}&`i-QXqw-&m!1m9!ZeJ#(eIOvv;B^CGlQ)4T fz`BZ{)(~s8uA^0J8ymHD7ThMb*vYwkHn8&zI1hE^ literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaCookieManager.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ICordovaCookieManager.class new file mode 100644 index 0000000000000000000000000000000000000000..142b69c954bc0811883a6e2c143312b1ccf03a5c GIT binary patch literal 345 zcmZvY&rZTX5XQg3mdZb^S06yj#ZA0=B#@Y3JdkkkHZ0>(+;qvd@Ngb{03XV*Eh-1N z%rBYwzR5T9{qy++;1Owps|44Cn^LNgb04{sCH^uLETdoM*ncI3TliUj7_Ic#|((U*l ze&K?R_=h?iA#>g+-mqSY(g&G3t0$z#b6yu~(N&v3XocqhaTFpT0s>>S8z#7H*g>~p MuV!%cLv3NO2fR*NeENwbi=#0Pa=?1FlXYNCm;6;2zV^A3{<>+J|%S0emPi#lbyqWp*1FvNlA)92rn5pG zYb6Pb)4|xn^gMH}-FL3axGt2mn_-NwHnwEE<)V^Ie1hyxgE0RJTyBjNE+P;D{{Rq# RUKt_a?--FMUVh-1ya7mPJv#sZ literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/LOG.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/LOG.class new file mode 100644 index 0000000000000000000000000000000000000000..55f006da6f5185a3563b1978bdc254588f7a368f GIT binary patch literal 3423 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�GAuvl(jyZnW%@~?PF{zm5i9T(*vcw7F759D8D`M-+{ug4WT zV~g=Rd%wyU0V`(qx}90oEN8-7bBi}PRmvWbS+l172el0NQSLdg8Et$ADcy&!qLqw_ L^Izf@x@P|$NQ|ON literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode$1.class new file mode 100644 index 0000000000000000000000000000000000000000..81ff380240c41c89d43a898eae1fdfe6cc556485 GIT binary patch literal 1587 zcmbtVTW=CU6#fQ~rF1J4D^;sjEn02`>b=s76x+lGYP1!jZ^P~cwq18|cfkjLm5FV= zBtH7!Z!*R+fN2ySXu8SHIkPkKednC{X7=aruipXO#^xAQBxREdV*=?gGRTGz!-9fb z7(t{%$V*$0&EhyMxuf8&f_nfpRyQNX4+kcKdBzIJ>-VQhKq9t#Px)9Ygl}9|N)` z3}9Froo6uJ#3Ci^ciI-UNg0K2k5FTkJx&{9a;uTw@f^cy(5#6ak8Ar?-s(o6;2}eJ z$8I~C*feCAGsE{UC!rW38E1d)ital4AEoeXZ1ayc~p|)PcPb* z)!UikDR};2=@psbvTY4ivDD#)+2hNdK#*NcrA7{r!fDy9lBLr=kq%4l7U^IrnHr{q zFxNCXp@~AFz|cHFOoP=friQ7v+`AE8iF(Zt?>DRl9SM0bd8;KXonaw47}j8m&jM8PjEB1LYCnwX8SN72t)!eq(8xTh(IOt z19RlF&p7i9!PiGnVxdEfW#~Ob*#8CNen=8OBuNYb!b>B>GEi9-S(fV(#(SWB!Vqp! pX4i@G2CWH!{X$m39APA=@1xOMWCMgYkEt%IkNgbILH-)L&mZXYv$p^M literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$LoadUrlBridgeMode.class new file mode 100644 index 0000000000000000000000000000000000000000..bad68ffe97d65feb88d8cd55b08f654739e1ce6a GIT binary patch literal 1565 zcmbtUYflqF6g{(jEL|3X3I%y6kD`4bTM+dFYJx-)Ou?Xl;p4D7wxe|xw-5DSX(AFe z@dx;$jCZybFx?Oc{m_{^bMHC#?7ee;|M~F?z!L7K(1U3UDa`2IY%j8yGjY>G0=F#W zkT+2@G0!kq_PMtc)E)=YtB4KX6AbpcQX*KZ@p@g<8NiSfsv;F#<;#9hargmutHN>p z!1G(&S!=Ja#Qv@nAD)D+D-34mo?-5csCCs4!E5dciby_?N;V!bY~{{~_@Czt#}nxM zE<=1R6xUxSA)C#2`y$xp`!&*(F8eO8?eaisyK@+CR3&MD7zMw{8?q&~{b%(JQLpog z*lLQV$aZ~6QZ(VKF7MSAm$f$aLZr^Fh!B58i%7iJR1C%Q=S5jq+;u6_Y^hXYs9u0G zLeoV$!1zdf)=R$`xZ&qd>O=bK&B zh)X8!*jUD06ZaTaE`i6eeE#UukIFi2#B#crvk^$0w{+aP480Z6Saqr6WaAUVXf9vo z$_sqy(K9@7{@qZO-(Ie;7w9OR{7_UD41GaUJy$z&yBY}YF^uHOy0%V@tBUiYsg!Q~ zu$A)>>Z7ZQX_{dv8f*sAx<_c2)*V7?jE2)7SqxXn+9Qt`t^I`~7=_{?SYiGUu`hIF zV2J+Hh|@TmMx4zc#b$AZWid?WQ|&NhFhUjqgfukzXs3w`A{fQB4$US_QG@O>g|CQx zCoud(Vy{p8T6E;hGu^fh3DP+mCqmEfJ7{fT&Ko2G`*}-;b)w~J9W}j)(PCTg( m*<=V~w;gajOxD1S&}$04w2qOG9u%NQe}ZiNOObs$p85-f`KY!4 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$NoOpBridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$NoOpBridgeMode.class new file mode 100644 index 0000000000000000000000000000000000000000..c50880695f675c210c8b5eecf105b72743a661b9 GIT binary patch literal 712 zcmbV~QA+|r5Xb*}o?c$2Wu-~I1U+bh2T>3iK?y;jMkKzk=b{_et=)O|y?P3I=mYej zqS@02%NOflXLkNGzq#3EKfm5T034%YBZW;1+ZIX;nG5O5$t6RoTI(^GO*IezQaP_z>~ckBBiXnH&h1?A6MDi}I^ z%-xZ2Tonvd%$*LO$XImMUDy_3$cN$~5|KFg*{Z>?r~HM|tC&k~I#<2AeDj7rVfsb? zhvDcC9E1I+qQDh5Qs2ey!a&LF^(P+l989Dw>@b}D_s|R{%cJwxZqEm`rF&o>20aP= z8K5VCG}#PA4tYjCefS3UnxrkV87;ChR%oA_79dMI60wFnSq-1kGPL#^tR!G*nw)_e bEnuCjfsF(#VwHT6Vgp;SsV+snY-Ya!N-nnl literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$1.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$1.class new file mode 100644 index 0000000000000000000000000000000000000000..18c4a1a227ed3b03c2d18cf8fe7bdd9a7700a561 GIT binary patch literal 1400 zcmb_cZEw<06n-vrbaYjanK?Jza8?DTE3kdj7~NoT3$UmQCVVlMa#K2MYx;t}$RA*$ z5&hr~@JAWXWf=T`#-wY~bI(1!eV+4n&ySzqz5}RZFAEhnH7sI7!xA>7C`xf_30t_W z!ccKX#a)I>G;~6vs-ncOa^ks;Cz>PSMd5zn3~bT%2ZBLA@;nh7xI7F+$gtn?1KZ^9 zxHS}}SGvu0{<@%xH*=-RG{eg}$R&{8&tRpA23bu9Jm*N3T6;&NI)TstZOJLL(^3n&> z<(_Sx^v{G9QL<*H7qREbjH%dVc#@QlVIdHqAPS9J7PW{`t5O_?7f}6Pxi>?tOVr;K zyVWYg#{3>^2v^uVq6&Su03XW9yXfC;Qj5J#T7$pb##ttosX!eOz4wDRPedCGy|2I8~G=3K8Ze_vpdD+Y~l~VNPkSFUE()MUCEm~#!Gg##dQXeO03M4ah2CRW) z(sij5!d0x$%5V*%q+dxz8AF*UV=O3Nkx5~OTYy3khsd&LD6k`J qvg1EEic^j>t`lksYgngMp`m#Lmq=Sfn)G|*ksPk)&lXvBGTC2Wn2Y@Y literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$2.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode$2.class new file mode 100644 index 0000000000000000000000000000000000000000..fd50fa80eba9c5f60b1dc6ae626cfc96b8a8d86a GIT binary patch literal 1726 zcmb_d>rN9v6#k~IUAru{QbmIZUMjQ&+fuw?@dlJcLqVabN&lE(JC=oIw(f3gd=>xu z04Ad74~C3KBBvqCFuW#hONwGkNZ(s6DhwbHi>Vt2P*2y7 z%6Nd@I4;oYMY85-9Hc&)p4tOTPwyd+{)XV^_Qqjq!?Y3XB`%R|D4UA>WsFcyMF686 zn70I@)+WlOYbWu%q rsIIp6vkCfWjLZPWDMZkxQC!D)vPNhnN`Ipm1sY5PcKRoQa9X2wDhM7D?lQtxfy{#pF<3zP7rtkioG;bh5EeQn2Vt;qPc;DQe;ZHOM> zS(_{puOgXqlxUM`?^&-oh*d5XUzDtzJvB1Tc&tHGzo-;e;d#U2rCExkE>`_8-zc74IPhtKew=n Lb>GQXx7qpz-D{Sp literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue$OnlineEventsBridgeMode.class new file mode 100644 index 0000000000000000000000000000000000000000..26547d7d7bf176e306d0dc957ac2edf8bf505960 GIT binary patch literal 2622 zcmcIlU2hXd6g_usXYI8^z=5O?H+(dd*r9Q3QlOZIkPjnTCn*p<5>Z7Hd*Wa=_nY8;<}C*9XAL=D^|_4h3oGzHVBkH$$k5e{wPD2ZZpv zpSpn(XLPy#WK%k;Vzb7XNtW!gs67ylsoFtj*xNQ;!rY;yaUvp)bfrfKjVm1~+xjTc zHygsNHPuWWAR7gR7x_i)5@DiysjR8rvORO_*~(V18`*=N_jf+5Ofw$oT{Do-dLfTn}P3hQb1llF8<6}f%Q*ffG2Mz@RFIFv`Y1 z^!<=iNb?CSV6hi)c?DP0!H$|etTw`Q_Ykf3uF=}q=pLixn6%vE|Kkiox@(3W`G${m zzf-qXto!Ebwj)J_Fg#vTF3Hw}Rn6Y5Tb8<}{EKI&2Ttw&bTK8)^0OJ|w={&LGA-9M zWm!M6e>q0^nH$0|m!EN~$p1BtM&=E|nTgk+Km4&Lxje!spc#be24XaeQ`|Sy9E}mA zxW)5)7Jk6+IYtA_S%kR;Br|`4-XgNb*nNLN*RYRmC>&bAF)I1EiRO#|mv9 z?N&{rLRw1WaoA{!`D zQSDWM++i{QnaqpL`xKYZ&oRThZs1!a5Mv)280d?!bDLiz Lh;jZu8;*Sd;0dK~ literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/NativeToJsMessageQueue.class new file mode 100644 index 0000000000000000000000000000000000000000..fadc8b477a8e5edf933cbc75210ed30db02025d3 GIT binary patch literal 7408 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 CA2*u- literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginEntry.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/PluginEntry.class new file mode 100644 index 0000000000000000000000000000000000000000..4adc8d0357d94dc5b42e292731a8f491ee52b471 GIT binary patch literal 1042 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 VoNHx_%v<>Nad!(JPIv8G{$I|2?jZmG literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ResumeCallback.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/ResumeCallback.class new file mode 100644 index 0000000000000000000000000000000000000000..bf5db0bf475b82d0d5a572abef6f4215674cdea5 GIT binary patch literal 2995 zcma)8>sJ(I82=4>nPnLS$1A0|C@NPW%u9eK5)ulm2|{4EVRwMRWoDb51+h%CGP_^w zX8AckcJu^T9IKPx`jCH1Upt-Z_s;CX0!w;!&wH8od4A9P{GQ9q@BjStGk`{X8$vXU zN}LSg*+T5bDKYelp-&8_W%P#;!hjf_3t=#fEf^A;GhsZB7i7E`MhON&cuCAJhoBWw zVpxd9LWqZ;hcF^zG=wpsV8|FR#91VSz=RAljBOYwf`w!VuY_SECBqSi=`boVDPu~; zISIbL)(#13*SI#R)h9G_w7%D|4Rf?vLUEgArX0<5`n5z_mr#__?MWl1_h=K`6(OJX+VcqW2h7)|Ec3Ckk(XZKt*k>O4oiQUNVMjjfQ+g^rp|@#?#IP1S%iEQv zbTjTI)-HuSn;^Zf|frJQ$j$W z)J!YP_HYvh)WXMBAVmq6G=ypM;t36G9;pLidkG_ZHtqo2E$^Ta3WJ$swtx2 z4O~|6CN9f(OTpW?LZ3vnEF?=dfNQ;|_AVBhf_HFrA%n=9lTImk7w;)}A0M!yw3tXT zE<8F!Ve*cwVDAQu-4aU+X(^%cv?(e@Ts~&&nxjWNh=}DTS!BerBdtWAG@NPIy@aFS zpt$_DRZHD7D&s>1pWstLI5MGnfirr>jY!KBSeH5p$j_zGW3cr1^J z96^D6UBNdvAfY^usJO>s#;`l(k;zs*+nl4HW381g=0i3h-qqc{*f(ZdQ(mh%_>kQz zlZylTaKE8Xxt$_3!VZ`k)8lL!Lu|j5qJ0EejSQNEx;(&DD>`K+O<73cQQhg*Qz^D! z3F|9Yic%)zSYAudq{6Zm-4$j3m!>4_&SQIpY1ao|GEKIc|6kr?u(@iL{;T zqSu{SX^ee}4tkO`h2eS*M(=>IvEup1SIt>*>Pe^!RThG9dzatMV zo7Ytl-!+Q`Aab9sXmLh+LoS0^zL*q|Rb5&_DEw}BFm zb2mZ>ALq^0swB;!pj!3Kz+YW6gFtod41%{@jYf_e5#YETGPa@^J7}i@o3Imm`848T z;0f&Gj%cn;$z2Jn1+=yw2Rxh7pG1;*cE5VC`?u;JAYVtN>YGPsa1Mps2WAmgi#XKG zLg6%v;yYMVd+%1Ye+F{xy_*R2)ZVN6WgaEeDDBS7J$33@Pg@`d5g_;V!jEb$*=m~;ioI?yu6qj(AD<2VCh}%q!8$>yRR)*;= z!+aEN2;yntDAe@M+Ie=2Pj(^jHyUJgbjo<%J@7Cmh(Ew@`<6faRoh+#q^$+i>%BoIRq#}HzW<0K|Aabln?b>t3mw`jFY zSZCPxZP;R9h7cApGa2?ME>bMThkT&OXMPJ+6mVWkmIP8!RM~Gi@80|FJ@>xb`u>+M zzXq@gp9gSA#={SJSet*7sEe< zqApes$#^(`M-*%jjy#ITWIQ3`NeTXZYEGZmC4`g5v;{3uaExri)-(F?#9qyDblV)3 z;GMJb4yT-Db6QcB%xY#PF=jfHwS`PhbLJ#;y1Kh;Yrdi`VMC-&VbZY;Gc!CLZNz9} z)JoHpj-+AgdkXWjx_yf_n%g!XUoW`INDa%e<40&qKaP+K^ch=Q38Ia6?MEv4*ml`+VivJSY zwQSb9d&3 zGOoHKNzF{#mXS`Fx|29y8^ck$+*4<_sz?$&1)JIFYS3Xh@`_2TV5jt5hDdRHH4SmW zwuIo3_~DuR9*9J5Tep4SehGblOhSc56*u8&Qm5h>Jgee4JkL<$Dqg^gDqg}r#p-1h zui#bUF%_@jbrnOP#1*(w#t9XRctb@3aS1Ik!f)a&)^X&pHgxaCp=;tpGqEG_=ynzV z!oO8)#N{&HR&f&Vs5pgpsgt15O~T$H-jlGl=4MlZC0y)E2=>Oc>`~IMr&)Ma)=1`F zzO(-MLf+}0)%&%6(|rme&i7?}prVLZReXs5$oQ{{efXb>(*pUw2>&Ay=8BpRb!JlbYFy*<*T&y`T;%zYL~4B8ttQ)y<4(2;A~*`cre7JtBHY zWGu=z>(_EQ-AqduYEt5jy`lDEWW!AB$0v@KEz$Do$mpNR2OMkJvF=EtAWPJ*-&N4E zEbX3pSIPmpwOuZ}#>U8Jk+SAU?!Ow-Aw7jjZBWa4M}`>8q!laa!ZdS%Dij0 z`~4Ct@wCbqzY(Oqw@LLUCvIe`U~xA4a@94u0 ze&fz;DDKP-!r8-L3T#U}zluUW?qs4fA!*M!v>ZAM&sMKzv#-ZDP=faqb`JFTO7Ly= z_xL+wClOk`i1x5I7(zc@J%2Z|9K`TBpKZ0kuv&>XVAUo(p?RP(E?5 z-OMqLHjW$UL180 zGq@JpIg8Z}>PqfvCq@~R2h+Hon1}c5!wuL)YHs9tH@v@~L&k0yW75x9FNJ8|$q#=D6BZ5iJ} zytj<^5?@EIOSo(iYl*KaMR+}@$3qdOKe~jN=QKS4bR2aHTyPv>Ou#Kf zZbb%%_)~e><*A=J$nYs7G3hd4S9!82eSmgEsRkjh?Cb0E?2vZII7q=Mf-N+)jk7|b K0X)uRDZc^up!&H0 literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/Whitelist.class new file mode 100644 index 0000000000000000000000000000000000000000..02a123d10671e46c16a4b2ffb91da63cba42621b GIT binary patch literal 2952 zcmb7G`EwIx7=D%ZV z0v>o29mj)_afV-*(Nbk}oRN_ke{n|n2mIZC0rB}ZX-R2haN61Z_Wj=Td7t;4{Pxce zKLL0gBSD1GBcnHnY3Qj!1GWY5Vi4QW7r>4Hb_THvy90PBh?k*?M}H70q{TxEV2{wu z1TY{&4`48e5cUdB*#L4fi~vj-dEsJT5Eg84wl!Nq)zE0!~G@Xf2~&ePqxQ9`KbD61Noc$Z`8Mut~2+DyZC zRKw|2vjs-;uhI?OSxuWrv{!<+%}i5Tlhh5Zvyki8tZubGOGzkcrqpb&YU$#;B=kB1 zIxC!i&*T_%rkYN>$%=B<8;(WD>LXLr>k}#XZPu7$Nbi6tF!Sb3%YCWNfCOJ&wH(F_ zm!V{78ErUT!k^)!T&4RC)uCfc+|zlf6D~OGhf`YK(M^MQe$&!3I=dLO3;k&`r|Jfy zNqt1F%TZH%JJh^eJlihgpo~K@4wESoYIVEE%1%_Nr5U3_iBWoz@)Dx=#H_rbY)!$^ z$q`m=Yv~?wo|#mQv}Nk)xS=_5ikP`4uM?)aGF;lpN7XS!$@P=lcOXCB!j=m9|A%Zc zj>tGlxVp@OmC`oof-Kb&%v>(`t{{d+39~A2U%?|-L_}f)Q^6~Em32-SOIX}vWc3_b zo^DW6Db2PU9J7HX51H2921~Qun6`{#3SPr;39ENUB0FP;ceFP3sZ9r)b~Q#5k$61X z5^WJ;akq1Mv}MQcSUkZyN)wTtY4;Fc9*efHoeECibp-oH7kZGYI$6`y5NbX2;13B+e>0C!F|%fZQs=GMR`H=4?fj@H7-z*|3=U zwJwaV{^tHcE#-*X-(epVyo>h~ypQwjh=LD9>L21GQN+g*=G`mPNnVS)f+^hT*Q5!n za8sHsE{?l+$;ENU%Qzp|VYH_16R}R%t6bh? zWm5&4Xc_${70H>AbH$AzVMV!R+kk3yY5NMAkY${KqWHzJmi&x#C`ePQRZ|!A-WLD*yg-1 zuHYnEVMPTv$?irH>%Sbjab^hA2UNRL8x|Yia9?%fnq`!yUR`8LfM_2U@)tmuzYM1F zkDCR|&HY+J=~6`a9d*BDczEVo;&T}#Yu#_4Hg=WE=o+SNzY5QH@LqAXoA|7z2KcMN zi!^GWVL87PTGIw`Jj%C($M}oH^(Xxe8C8_sjC~95ulT(&6;&VG3$5U`A-Bdm4cf_TPXU@+JIX zZ*4$m$vjkvLm=$Cft4ceHH5Z@W`+G>IUKl(x>3yDHX*K`B)){X<2Pa7T{p8jnezkQ z9}(W}Y3v%q+$*e6#?SZ#bBKw+W-IFWv?<+BG=?Z2#sVB7_J@h?5v;^ftm1ZGhhtE= ztp;(N+9#-WlDqH}zQJkwJ4cUaa2;pyCpVeEcMpQJJAoDKoR8Lr=_vv~?R)VAPcpr9 z;7OhWjP(hg!qd!X8P4MwB-p9z>{K&7h|b+CbxE9_rG@C+O{_)>nX-oG1mp#`X)nuY zm9bWm(I#UZPy7c0x3IBzzKwc#N;>3?jP*72wE-K8oyQ;a=M(+}pf}+2UTz%2gB{{) z6!SWpzQ;onMlg?u`4X!RiM}rz#exx`d+GLHp3AiMy0|WJIrJ%?pOJr`Gx8V2^-J>h zD`Iky7<|o)FS%H)WYid@<2kg`TGUfyr8qtB)>}Ny!5=p-(isVP`olx(47 j4JFm^R^5Uk;{_R8=ZjhDqI4R%@i5;(>W4UI3laPm$_VPi literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemCookieManager.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemCookieManager.class new file mode 100644 index 0000000000000000000000000000000000000000..044e5345b941ca77bfd64fd5d16e99bef114707b GIT binary patch literal 1731 zcmb7E+fv(B6kW$Q2pJJOBv2Y?LM{Yf0%}Q1+c+U{9FnRS$ixhp$xG)TpPCbd#7MF; zdF`L{586)ScKXl{=ts5PM-qZ4?n57RF8l1g_S!f7_4glt0$9WIBBt<}4g+gN+{NeW z^o5Rfe5tNqspV_6+*3Fn(XUGTdO8uVhtEQLFn5g_hS945hYo#ZLeDK=^z7 zz#++W+q1c|&wZ)xiLekJ%7DRadw$R4C)_?1rtSG%Z@^9A_6Wo5ybVHeoMoe897Hir zbwX|*ZS#`|GD<^}NWSR1p*$9rJCK1ShfUY@LLN%bC4XnZ@>Fc@ala?R=82?W#|GT# zi#%0ihT&o$!q|VX=_>MF3bXP`MLW)ITbzUp>=lEa>M<-=+OIhU;c&NSc0ymey~c+U z1(EOjj>^sl>I6u9V#f@(M*vnw85y=CxS#MP_=<8e_Px^&4jGCaukYL9sZ@)tQaVvtl_bN7M>Wmh-nQ^4OsZrz!usDwsF(IZ7dt8p>AMDnXF=kVdZ}nlc9VT z`tHGNVN*IQBOt6++!*h*0>kX+7H3$AQ04RTIb2uch=4x^@zoAg?gkJ^~~O(^t;cw zAHGd%weX*l6*XHawT&%k%6xI`4Mfv%P9^0mLoCt{WC{!yki%tFQ)=pIRZiN+Nq&i> zIn2=Q2juAlEY*GktJU8jSNk3LcPRXVvGUB1DAj&NfxcW}i1D9EF^^eVuMiAy3k57e zr-mq_f;m)4QpZR1G8==E>|?qSJXw^<@jRVNVE>R}PQ!wRPe^c;zDat#M&F`^>$Kg# zOuVHFcF&pFjor#g9AA{ZJZEGKYn3P6o`QNh*k3^9?# zTcd#PMtF;{W{Ov&AghE!)|BBYd1q=2666PTPl?ut(0@vas+5C%=VzHYPcjB&xPz4h zYMpjvF`-BfQOr`j2Mvt~&4~39icHO7g0U6R1IkGuqkxB)Jgeb_D7+0y-$SZN^Bi6| b!Bf@BgOv!%jDqGwA;U@Sbvg literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemExposedJsApi.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemExposedJsApi.class new file mode 100644 index 0000000000000000000000000000000000000000..8511795f9630335ceac358120f7b6c550fc4579c GIT binary patch literal 1433 zcmbVLZBNrs7(I7vtCUF*5S*ZnH{AxT3cdzIf&^lh0SO~~Ao0UpcPV#t?b3D=|CJ_+ zi68s{{wU+qmJEa;iCKEzcAn=s=REiR`u*c4fF-<9p`g%@G>R(bu@DZ6;ZRbbD|o8l z8AH0}$+{&NrYo*z>Ac0wBcYqFS9d#HUytW^5oU$ZZ>1xHRff6z&G5oLLvr1%Q*x~$ z9kJbR)`YjmYc`z>S6q|Z``nY^{_HRr97&&{)GN1eEXtu*Kly=ZZk)7SU)0O~T1yhG zq&N{K!-u?4X>g)#bH~!FfhQen<^N6!SHl=Gu~$`LdLm$827}@YuOrP!(3R5U7dHdx zIt(g_wQJlwHtG!h+_TzE;RK{r-8eBtD+KupmJ}>AWOv(6Ae&-e`jWg^a~wC|5rSd1 z!kxP3%DVnh)Q)AKmr1X0da@N5P9VHPZVEDF+!w(%#dO4;TlVAjZAG0(XG5%H6c|YqT#!a zUaszJcYSBboo6#_TUgv)Gfgt%0;De=nwINPu#fj4d2MSTb)fn1Ms9_X$ zqyIH3HXfDJaF13Y84X!lg%UK}r&S6Qv`!Oh5)be&T2td_CTlTuMyNt_7_CNxCQp$( z7pX=SN+d&%_~c?_myg=zqhgwvC8CN+%73}u4A~SL@cweW)Mf3d;Z4?CjL9J2>vQ+fKU`$Na2q~Iat%SSjc5DZ>Gh}uP@lkvN zuT4Y~FMI$W%6Mj5Vj{(aP4>*0Gv|DBe!ltj`^QfJ_wg_b2e+)aor8;V4tH?ZibWR{ z7fUXd8FGg_EE^FG!kA&U!Bxj-+3}A=dtb)>R`e!0+F)?vo{Y+C47G+fU7sKDpeOu5 zn~px@zEEAMgx~xa#iIXSwCg>i`=TC7p<)~SSSlGmVc4#mJNnF=mRby%y6y;uLW6F9 zHR!j6dCS`&SxOBZ@UX>=wEK}UV{2dlgSV-aF!hi}ks!VXNw3uz0Q z8{6Ae3q$okS3#&Fx^r8^J>79}&%-Kw4;SEh$Rg(RzSR7N!xGrFU-lR(`oJ6Wv zw9^4-rBTtlP0^pn6rC1Gdqn#*t%d6HF<5ow7^&)aq`xGNMUoCV0!>^b=_PsrC0wQ* zaS}5lm_1r8%=G*x-xC~NL4tZW9J%#JIk=Pb+6PHLUkX+ZL|pZgIc8&WTEJV!FW?ON?J{E(==)3%odwt=0 zI_&8q?h55gCEWJMC>FzaqTA?)dMFx!6e>2skEN3F6NXmx!qMk)TI(=m8oDPK3QfBG z)o9oi;alDf$Wm%*j|UwdO0%CBGbRTHFgP!j5@93YQ6$K+b5T~6I%Sphbv&*QL%F)& z9B`^cz?JW|<4`Jp*D$oBk>`nsE@Ar&GgR(TLhp<-L%tnz@1VsGCvw ze%&1iFShZ3VRH&nV>}v9B@eV8y%52n2rH-MvQ8CuO632BiD6Ewy{Mtp2N@0--dF#f z51PJ?6vw+~+cCv*-n_3-uhLc1zlC#LsI%TF3CrWk69L2Olx(Ke0W0(>ZJNVbq>4q; zAAnYB7QNgQ{dvsOX@Rsyv`^DosI8xX)izF$s(nZLOX650X^|t)!zGeVq8CuY7245M zVqpR^pw+;Xmp>t2`-;>zWIiJ|)@BS^8V0R|3`w74pC}9nCrFT2#?cdG!ogK6CbyNb ogk>Umjp8y$&0FMoo%9rL;AUc5!7W@Stwc79R`boGh7BwG2L*;U$N&HU literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$3.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$3.class new file mode 100644 index 0000000000000000000000000000000000000000..849cf96b8d6dedd84d57a95a3bdbb86ca52080c6 GIT binary patch literal 1263 zcmb7D-EI;=6#fS2Zo#D>v7)WDsAwszY%6MFYP>;>8mdN2O?o#hBTT!@klm$?cP1L+ zEBFLno7kFo;REXv%~#zAi|*^G0Zo)>I7PL++ES$mXZ4;d>-ijAbJrytT9+oPln|chSjDH zx-K7ZuP0nj2OYh`U7@;C3Agnoj70yHXg7KkEgHTQDl)-$rIOJ-hF0ao(f_Dyaf2b% z&>g{$Yf=qQhyAt)Uh=k2mO@i|+~44VH20A)WjbL1gY#G^5j1=rhJq~hlh#(QQ*Y_6 z9!-hiY-O{##c3WsS6#Oi1yXg_Ooeth^gIz#61K@OL8BkWbjQYZ2Q|13PQh`IM#e!FD>hagB1zrBO_+V2 zaGm8kL;g?Q&)QqUi)`FtsEt8t91!HbCNDx)}p*&e|ZXFp-8`W1=geWX4kW7K_27`P-1TmdPP??}F<{2vJ7 zV+>u2t0<13LBQv5K2BG}3}y-b0>!0}$XVn$M|uJmF(2DXxP&vL7071MX?~NaV%bXn E2BD-+bN~PV literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$4.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient$4.class new file mode 100644 index 0000000000000000000000000000000000000000..9c249e7a4b6a6c557b77a54408a3722685e47700 GIT binary patch literal 1669 zcmb7E+j0{}5IrLatt_uCBb$p82b3T{5}4)UB*@~v7!b%@Y%rC_(P|&0@GMD=1dkjI9Z&< zxeU%*xR6B}P6kV6{oa@#jQKH(i>OXw88r)+EL>)o>T$mqcYVcMt5KWbNP`EhP|23_ zt7tx#+S%ZKEL`sUP3}FfF{E`zM#ZxX=Nc+(JG{%ij&M8`wp5QhB52D%IO{JWEjFKu zrrQbCrf_{J0&RjX$w2BW3~Qx5NAFIoyupxiRZB4B8bslKyxA1tW8U=1lW!=G`x`uz z<~($!Od$+lu>sVA#KXClK0s5=x>pwXSJqtGwH< z*aG!EyRPEU6St&k%U5H^bmkfFaq8kq;Q1<&L3>r`j%r!BYU3KN+sI?q#tin`n8OVV zu8o^mVK^`rjp2~Nb9^4Oopl`&-i=uLEfG@wHQ@=_6NR6NPQmLa6^XF$WUaAWuyG5w zjk#l^j=L7_*=S(Z!hIVL@Q~EENAVSx7z$%z+<|Z(`Y{QYsvfC-*hL0sOwevBCk)jU zf$6Y2sEA>uv^|}%UsdD(EvoJG7{Me<#vUAT{9IBDR$J(sT+{GoOXcm1pY)LCU1HW^ zSS*df-{Bh0iG=jo{Rhow!qc_#F84E94Mxo{M@)89M_4LN({vH|7l+B({e2GeSfCTV12{5-c|{=m$X8u_kIX{i zB`o$Eti>&)mQ(qCZ;}4#4Xk`-3lsCHEo8Sa`6ukBl|PV}PyL0d1WdvtOu{@;1{<@C z=ED-W$ddi!OM?W%;ZAmj z-_T#v83+_+_yPPVrYpas#4%yw8Ef}eyN`CY&+6l+cOL*;!ms0)#09g=$B{rGjs>`5 zShR65ju;AKxMbvIvs^LDQXE%tZ35SE!^X0WBEzvZ_cMP&x(FZ4%t1?(6RTm723Z?M4wOJG4Z@lJ{B~?)#_p3aV z=DTOKOd$+laLPd-!jjLUNRZ|7VN=U2QE5pPtaw_srGB|4qL!~2zRQ-&yIFfG&~yoI zxg&}u--%GXXo*O7(`IFcc-RT;8e+2J%5dUKAatSK04nj%U8g{3_h~38r}(;Rg`T)a zZDu$*v?&YEd7IOn-3>fnMKWkS61u7CHf}n&g&!TH@Qs5crW{P;CmVMhl<+h0XDAxO zaf9djJZQMMoZla$oARSDi8T4 zacCpE+m7BG(J)k{*e(v*_s-Yg?!X9T_8nEs{lPGr%~frzGAs@Z?^nZ#gj+m}M4z&S z?3WokjA1dpwIzZ&Lm^uk?0hk|&(tFWQFD*~liG9P=>z@8wCeJSVLH1X*bHF5_Li2u zTTu-LMv0vtlGwhyia8p-**-w8V|zNoFsXtbgF72E0-q!IOQ5ly8^9T80@CzwC+Hy` zNhZx;0VHY4jD`NwI7Uy>x1`;m?@^M8{Ds$G`T5rv$-lwqKOM*8w8qF0%)trL9itQM z3}#8v+k?3t%-;lZglvV`!dqC&R_e%m#D0GRJ2ke0@fm9e@f}ROh4U=`3L`Vtzc@OA z{|`yQBD@4_mc(f`g?X0h9C)P*+B=Zo@jX>$k|^LbX{MF}&fo_+-o`m(aF&opNi%hx ZN0y|89P&6tT8eCwB+YLDE4Xcq{|92Y>QDdx literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebChromeClient.class new file mode 100644 index 0000000000000000000000000000000000000000..bd20a86ddeb970ea333ec0d876699b80ccbd09d4 GIT binary patch literal 10933 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 Q;UQMz38MZG-^LTK0OH}4x&QzG literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewClient.class b/platforms/android/CordovaLib/build/intermediates/classes/debug/org/apache/cordova/engine/SystemWebViewClient.class new file mode 100644 index 0000000000000000000000000000000000000000..d2310258f42d74f41165390cbd7f171fb6e6e816 GIT binary patch literal 9501 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

pV|wr-bvF0!;D?9 z-viVk>pBIZOPcPwnRH>2dS$dv2Kwugw0>Cu5EYhf;3R!$Sz%@2VN&ZV3zIakhfZ^5 zE^=myDvJ)2mXc5}CqkEikBCX%^J~L>Rz4 zD1Qx0UNZu3xr6Ql*1PCh=+BMl-vq6_89wkf^zVQV+zBtZ3;o@6FM4~R z%lAX49-sqI%O{{;Ptn8lBic_tp@Z}eJwpFVkJ9hyar%Is;HmT^m(f#v0zJ)h=^3t~ zXStf5<9d3Ym(mM-4!y`N^b)tx%iKe+@@4cIhv;>_hTh~G=`DP%c$;shcX&7bmdELL zj)va?kGC8S;9=~U2Tsm|hq@lTUki?tpeoPdJqc>^K)Z}Rg5Et&?@`Lb9`ooBAd2uK zrle<~v+&X4Tl5&r>>cp&IA-%e|0Ce<+msI~ucjw4RsdRU`VM-9pst?23*KEPaR#aH z(+-8cw^E_Q>lAt#|KG>|4+0hH2ed+=XB7J32Xukcd8Yn-IzxfXevEUPjy<2n|8o~p zUW}fPVf#EOK%*6RVdE)brW^(o-b1DBunWVnizE&01)Ml21-jt6(AmNj{Q+Zt!RQ~s z^Pivte@3MJt0OxJMgc@*k&eKYd;E)|Qz&mWC|4b_N-+I1A*+pEK%~T%B)kYgJFt^P z)p?Eu-c2e98a_xP8}=R|Q-amy9kq+gHYX{PaqKQtf5Xo2Qz^Ec&UrMO^Qnpp9ID*N zI}fqyMPLSQ`Fw@_W&`3SdKokeefh*9tXJq&kCb(o5K@Z8SYV=~nHcHBc2+6CQ?hm_ z_P7NIy@pd12^7=o^h+RODG7Usm*OdN0oMwn6Fe=**o9fw#|J!|EY)NW{;XVhYa(40 zgr6|_;&?NS<7|f}k2!dev583LfVsI@NK(wP6tn#axnd#?4TMx>;m9z9TDXT}f-vj{ zz^DDuI83OXNgavApF8~J{>;^I5P`zww^){ zB+>h4de@_H6P{ut6?1kXX>o#Cd=F9;r(#^dV#Zro1s;tm7{{5 zgGz8J`cIX>j?%xk+k?O+yR8xY`)Ny(wz@lQ!(-E7TI#;F$Xk-O@4;^@G6D0$2m;X5 ztK3*ncaV0#v7BG literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/compileDebugAidl/dependency.store b/platforms/android/CordovaLib/build/intermediates/incremental/compileDebugAidl/dependency.store new file mode 100644 index 0000000000000000000000000000000000000000..8b8400dcf9e65fb815794fe016943dc09d0e8a05 GIT binary patch literal 5 Mcmb + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml new file mode 100644 index 0000000..35922c7 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/merger.xml b/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/merger.xml new file mode 100644 index 0000000..ed0b778 --- /dev/null +++ b/platforms/android/CordovaLib/build/intermediates/incremental/packageDebugResources/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/platforms/android/CordovaLib/build/outputs/aar/CordovaLib-debug.aar b/platforms/android/CordovaLib/build/outputs/aar/CordovaLib-debug.aar new file mode 100644 index 0000000000000000000000000000000000000000..77b2905e08c4b6903bb5e80a058831f75c2b650d GIT binary patch literal 114391 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

EH+@Fhs} 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 akIv;JLBakR2=ZsU0|Wq={`njL;Qs++H6mdE literal 0 HcmV?d00001 diff --git a/platforms/android/CordovaLib/cordova.gradle b/platforms/android/CordovaLib/cordova.gradle new file mode 100644 index 0000000..7465266 --- /dev/null +++ b/platforms/android/CordovaLib/cordova.gradle @@ -0,0 +1,201 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +import java.util.regex.Pattern +import groovy.swing.SwingBuilder + +String doEnsureValueExists(filePath, props, key) { + if (props.get(key) == null) { + throw new GradleException(filePath + ': Missing key required "' + key + '"') + } + return props.get(key) +} + +String doGetProjectTarget() { + def props = new Properties() + file('project.properties').withReader { reader -> + props.load(reader) + } + return doEnsureValueExists('project.properties', props, 'target') +} + +String[] getAvailableBuildTools() { + def buildToolsDir = new File(getAndroidSdkDir(), "build-tools") + buildToolsDir.list() + .findAll { it ==~ /[0-9.]+/ } + .sort { a, b -> compareVersions(b, a) } +} + +String doFindLatestInstalledBuildTools(String minBuildToolsVersion) { + def availableBuildToolsVersions + try { + availableBuildToolsVersions = getAvailableBuildTools() + } catch (e) { + println "An exception occurred while trying to find the Android build tools." + throw e + } + if (availableBuildToolsVersions.length > 0) { + def highestBuildToolsVersion = availableBuildToolsVersions[0] + if (compareVersions(highestBuildToolsVersion, minBuildToolsVersion) < 0) { + throw new RuntimeException( + "No usable Android build tools found. Highest installed version is " + + highestBuildToolsVersion + "; minimum version required is " + + minBuildToolsVersion + ".") + } + highestBuildToolsVersion + } else { + throw new RuntimeException( + "No installed build tools found. Please install the Android build tools version " + + minBuildToolsVersion + " or higher.") + } +} + +// Return the first non-zero result of subtracting version list elements +// pairwise. If they are all identical, return the difference in length of +// the two lists. +int compareVersionList(Collection aParts, Collection bParts) { + def pairs = ([aParts, bParts]).transpose() + pairs.findResult(aParts.size()-bParts.size()) {it[0] - it[1] != 0 ? it[0] - it[1] : null} +} + +// Compare two version strings, such as "19.0.0" and "18.1.1.0". If all matched +// elements are identical, the longer version is the largest by this method. +// Examples: +// "19.0.0" > "19" +// "19.0.1" > "19.0.0" +// "19.1.0" > "19.0.1" +// "19" > "18.999.999" +int compareVersions(String a, String b) { + def aParts = a.tokenize('.').collect {it.toInteger()} + def bParts = b.tokenize('.').collect {it.toInteger()} + compareVersionList(aParts, bParts) +} + +String getAndroidSdkDir() { + def rootDir = project.rootDir + def androidSdkDir = null + String envVar = System.getenv("ANDROID_HOME") + def localProperties = new File(rootDir, 'local.properties') + String systemProperty = System.getProperty("android.home") + if (envVar != null) { + androidSdkDir = envVar + } else if (localProperties.exists()) { + Properties properties = new Properties() + localProperties.withInputStream { instr -> + properties.load(instr) + } + def sdkDirProp = properties.getProperty('sdk.dir') + if (sdkDirProp != null) { + androidSdkDir = sdkDirProp + } else { + sdkDirProp = properties.getProperty('android.dir') + if (sdkDirProp != null) { + androidSdkDir = (new File(rootDir, sdkDirProp)).getAbsolutePath() + } + } + } + if (androidSdkDir == null && systemProperty != null) { + androidSdkDir = systemProperty + } + if (androidSdkDir == null) { + throw new RuntimeException( + "Unable to determine Android SDK directory.") + } + androidSdkDir +} + +def doExtractIntFromManifest(name) { + def manifestFile = file(android.sourceSets.main.manifest.srcFile) + def pattern = Pattern.compile(name + "=\"(\\d+)\"") + def matcher = pattern.matcher(manifestFile.getText()) + matcher.find() + return Integer.parseInt(matcher.group(1)) +} + +def doExtractStringFromManifest(name) { + def manifestFile = file(android.sourceSets.main.manifest.srcFile) + def pattern = Pattern.compile(name + "=\"(\\S+)\"") + def matcher = pattern.matcher(manifestFile.getText()) + matcher.find() + return matcher.group(1) +} + +def doPromptForPassword(msg) { + if (System.console() == null) { + def ret = null + new SwingBuilder().edt { + dialog(modal: true, title: 'Enter password', alwaysOnTop: true, resizable: false, locationRelativeTo: null, pack: true, show: true) { + vbox { + label(text: msg) + def input = passwordField() + button(defaultButton: true, text: 'OK', actionPerformed: { + ret = input.password; + dispose(); + }) + } + } + } + if (!ret) { + throw new GradleException('User canceled build') + } + return new String(ret) + } else { + return System.console().readPassword('\n' + msg); + } +} + +def doGetConfigXml() { + def xml = file("res/xml/config.xml").getText() + // Disable namespace awareness since Cordova doesn't use them properly + return new XmlParser(false, false).parseText(xml) +} + +def doGetConfigPreference(name, defaultValue) { + name = name.toLowerCase() + def root = doGetConfigXml() + + def ret = defaultValue + root.preference.each { it -> + def attrName = it.attribute("name") + if (attrName && attrName.toLowerCase() == name) { + ret = it.attribute("value") + } + } + return ret +} + +// Properties exported here are visible to all plugins. +ext { + // These helpers are shared, but are not guaranteed to be stable / unchanged. + privateHelpers = {} + privateHelpers.getProjectTarget = { doGetProjectTarget() } + privateHelpers.findLatestInstalledBuildTools = { doFindLatestInstalledBuildTools('19.1.0') } + privateHelpers.extractIntFromManifest = { name -> doExtractIntFromManifest(name) } + privateHelpers.extractStringFromManifest = { name -> doExtractStringFromManifest(name) } + privateHelpers.promptForPassword = { msg -> doPromptForPassword(msg) } + privateHelpers.ensureValueExists = { filePath, props, key -> doEnsureValueExists(filePath, props, key) } + + // These helpers can be used by plugins / projects and will not change. + cdvHelpers = {} + // Returns a XmlParser for the config.xml. Added in 4.1.0. + cdvHelpers.getConfigXml = { doGetConfigXml() } + // Returns the value for the desired . Added in 4.1.0. + cdvHelpers.getConfigPreference = { name, defaultValue -> doGetConfigPreference(name, defaultValue) } +} + diff --git a/platforms/android/CordovaLib/project.properties b/platforms/android/CordovaLib/project.properties new file mode 100644 index 0000000..2342a16 --- /dev/null +++ b/platforms/android/CordovaLib/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Indicates whether an apk should be generated for each density. +split.density=false +# Project target. +target=android-23 +apk-configurations= +renderscript.opt.level=O0 +android.library=true diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java b/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java new file mode 100644 index 0000000..d3a231a --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/AuthenticationToken.java @@ -0,0 +1,69 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +/** + * The Class AuthenticationToken defines the userName and password to be used for authenticating a web resource + */ +public class AuthenticationToken { + private String userName; + private String password; + + /** + * Gets the user name. + * + * @return the user name + */ + public String getUserName() { + return userName; + } + + /** + * Sets the user name. + * + * @param userName + * the new user name + */ + public void setUserName(String userName) { + this.userName = userName; + } + + /** + * Gets the password. + * + * @return the password + */ + public String getPassword() { + return password; + } + + /** + * Sets the password. + * + * @param password + * the new password + */ + public void setPassword(String password) { + this.password = password; + } + + + + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java new file mode 100644 index 0000000..4c0d7b9 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CallbackContext.java @@ -0,0 +1,144 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import org.json.JSONArray; + +import android.util.Log; + +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.PluginResult; +import org.json.JSONObject; + +public class CallbackContext { + private static final String LOG_TAG = "CordovaPlugin"; + + private String callbackId; + private CordovaWebView webView; + protected boolean finished; + private int changingThreads; + + public CallbackContext(String callbackId, CordovaWebView webView) { + this.callbackId = callbackId; + this.webView = webView; + } + + public boolean isFinished() { + return finished; + } + + public boolean isChangingThreads() { + return changingThreads > 0; + } + + public String getCallbackId() { + return callbackId; + } + + public void sendPluginResult(PluginResult pluginResult) { + synchronized (this) { + if (finished) { + Log.w(LOG_TAG, "Attempted to send a second callback for ID: " + callbackId + "\nResult was: " + pluginResult.getMessage()); + return; + } else { + finished = !pluginResult.getKeepCallback(); + } + } + webView.sendPluginResult(pluginResult, callbackId); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(JSONObject message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(String message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(JSONArray message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(byte[] message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + * + * @param message The message to add to the success result. + */ + public void success(int message) { + sendPluginResult(new PluginResult(PluginResult.Status.OK, message)); + } + + /** + * Helper for success callbacks that just returns the Status.OK by default + */ + public void success() { + sendPluginResult(new PluginResult(PluginResult.Status.OK)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(JSONObject message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(String message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } + + /** + * Helper for error callbacks that just returns the Status.ERROR by default + * + * @param message The message to add to the error result. + */ + public void error(int message) { + sendPluginResult(new PluginResult(PluginResult.Status.ERROR, message)); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/Config.java b/platforms/android/CordovaLib/src/org/apache/cordova/Config.java new file mode 100644 index 0000000..048960b --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/Config.java @@ -0,0 +1,72 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova; + +import java.util.List; + +import android.app.Activity; +import android.util.Log; + +@Deprecated // Use Whitelist, CordovaPrefences, etc. directly. +public class Config { + private static final String TAG = "Config"; + + static ConfigXmlParser parser; + + private Config() { + } + + public static void init(Activity action) { + parser = new ConfigXmlParser(); + parser.parse(action); + //TODO: Add feature to bring this back. Some preferences should be overridden by intents, but not all + parser.getPreferences().setPreferencesBundle(action.getIntent().getExtras()); + } + + // Intended to be used for testing only; creates an empty configuration. + public static void init() { + if (parser == null) { + parser = new ConfigXmlParser(); + } + } + + public static String getStartUrl() { + if (parser == null) { + return "file:///android_asset/www/index.html"; + } + return parser.getLaunchUrl(); + } + + public static String getErrorUrl() { + return parser.getPreferences().getString("errorurl", null); + } + + public static List getPluginEntries() { + return parser.getPluginEntries(); + } + + public static CordovaPreferences getPreferences() { + return parser.getPreferences(); + } + + public static boolean isInitialized() { + return parser != null; + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java b/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java new file mode 100644 index 0000000..01a97f2 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/ConfigXmlParser.java @@ -0,0 +1,145 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +import android.content.Context; + +public class ConfigXmlParser { + private static String TAG = "ConfigXmlParser"; + + private String launchUrl = "file:///android_asset/www/index.html"; + private CordovaPreferences prefs = new CordovaPreferences(); + private ArrayList pluginEntries = new ArrayList(20); + + public CordovaPreferences getPreferences() { + return prefs; + } + + public ArrayList getPluginEntries() { + return pluginEntries; + } + + public String getLaunchUrl() { + return launchUrl; + } + + public void parse(Context action) { + // First checking the class namespace for config.xml + int id = action.getResources().getIdentifier("config", "xml", action.getClass().getPackage().getName()); + if (id == 0) { + // If we couldn't find config.xml there, we'll look in the namespace from AndroidManifest.xml + id = action.getResources().getIdentifier("config", "xml", action.getPackageName()); + if (id == 0) { + LOG.e(TAG, "res/xml/config.xml is missing!"); + return; + } + } + parse(action.getResources().getXml(id)); + } + + boolean insideFeature = false; + String service = "", pluginClass = "", paramType = ""; + boolean onload = false; + + public void parse(XmlPullParser xml) { + int eventType = -1; + + while (eventType != XmlPullParser.END_DOCUMENT) { + if (eventType == XmlPullParser.START_TAG) { + handleStartTag(xml); + } + else if (eventType == XmlPullParser.END_TAG) + { + handleEndTag(xml); + } + try { + eventType = xml.next(); + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + public void handleStartTag(XmlPullParser xml) { + String strNode = xml.getName(); + if (strNode.equals("feature")) { + //Check for supported feature sets aka. plugins (Accelerometer, Geolocation, etc) + //Set the bit for reading params + insideFeature = true; + service = xml.getAttributeValue(null, "name"); + } + else if (insideFeature && strNode.equals("param")) { + paramType = xml.getAttributeValue(null, "name"); + if (paramType.equals("service")) // check if it is using the older service param + service = xml.getAttributeValue(null, "value"); + else if (paramType.equals("package") || paramType.equals("android-package")) + pluginClass = xml.getAttributeValue(null,"value"); + else if (paramType.equals("onload")) + onload = "true".equals(xml.getAttributeValue(null, "value")); + } + else if (strNode.equals("preference")) { + String name = xml.getAttributeValue(null, "name").toLowerCase(Locale.ENGLISH); + String value = xml.getAttributeValue(null, "value"); + prefs.set(name, value); + } + else if (strNode.equals("content")) { + String src = xml.getAttributeValue(null, "src"); + if (src != null) { + setStartUrl(src); + } + } + } + + public void handleEndTag(XmlPullParser xml) { + String strNode = xml.getName(); + if (strNode.equals("feature")) { + pluginEntries.add(new PluginEntry(service, pluginClass, onload)); + + service = ""; + pluginClass = ""; + insideFeature = false; + onload = false; + } + } + + private void setStartUrl(String src) { + Pattern schemeRegex = Pattern.compile("^[a-z-]+://"); + Matcher matcher = schemeRegex.matcher(src); + if (matcher.find()) { + launchUrl = src; + } else { + if (src.charAt(0) == '/') { + src = src.substring(1); + } + launchUrl = "file:///android_asset/www/" + src; + } + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java new file mode 100644 index 0000000..868b243 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaActivity.java @@ -0,0 +1,508 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import java.util.ArrayList; +import java.util.Locale; + +import org.json.JSONException; +import org.json.JSONObject; + +import android.app.Activity; +import android.app.AlertDialog; +import android.annotation.SuppressLint; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.res.Configuration; +import android.graphics.Color; +import android.media.AudioManager; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.webkit.WebViewClient; +import android.widget.FrameLayout; + +/** + * This class is the main Android activity that represents the Cordova + * application. It should be extended by the user to load the specific + * html file that contains the application. + * + * As an example: + * + *

+ *     package org.apache.cordova.examples;
+ *
+ *     import android.os.Bundle;
+ *     import org.apache.cordova.*;
+ *
+ *     public class Example extends CordovaActivity {
+ *       @Override
+ *       public void onCreate(Bundle savedInstanceState) {
+ *         super.onCreate(savedInstanceState);
+ *         super.init();
+ *         // Load your application
+ *         loadUrl(launchUrl);
+ *       }
+ *     }
+ * 
+ * + * Cordova xml configuration: Cordova uses a configuration file at + * res/xml/config.xml to specify its settings. See "The config.xml File" + * guide in cordova-docs at http://cordova.apache.org/docs for the documentation + * for the configuration. The use of the set*Property() methods is + * deprecated in favor of the config.xml file. + * + */ +public class CordovaActivity extends Activity { + public static String TAG = "CordovaActivity"; + + // The webview for our app + protected CordovaWebView appView; + + private static int ACTIVITY_STARTING = 0; + private static int ACTIVITY_RUNNING = 1; + private static int ACTIVITY_EXITING = 2; + + // Keep app running when pause is received. (default = true) + // If true, then the JavaScript and native code continue to run in the background + // when another application (activity) is started. + protected boolean keepRunning = true; + + // Flag to keep immersive mode if set to fullscreen + protected boolean immersiveMode; + + // Read from config.xml: + protected CordovaPreferences preferences; + protected String launchUrl; + protected ArrayList pluginEntries; + protected CordovaInterfaceImpl cordovaInterface; + + /** + * Called when the activity is first created. + */ + @Override + public void onCreate(Bundle savedInstanceState) { + LOG.i(TAG, "Apache Cordova native platform version " + CordovaWebView.CORDOVA_VERSION + " is starting"); + LOG.d(TAG, "CordovaActivity.onCreate()"); + + // need to activate preferences before super.onCreate to avoid "requestFeature() must be called before adding content" exception + loadConfig(); + if (!preferences.getBoolean("ShowTitle", false)) { + getWindow().requestFeature(Window.FEATURE_NO_TITLE); + } + + if (preferences.getBoolean("SetFullscreen", false)) { + Log.d(TAG, "The SetFullscreen configuration is deprecated in favor of Fullscreen, and will be removed in a future version."); + preferences.set("Fullscreen", true); + } + if (preferences.getBoolean("Fullscreen", false)) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + immersiveMode = true; + } else { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + } else { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); + } + + super.onCreate(savedInstanceState); + + cordovaInterface = makeCordovaInterface(); + if (savedInstanceState != null) { + cordovaInterface.restoreInstanceState(savedInstanceState); + } + } + + protected void init() { + appView = makeWebView(); + createViews(); + if (!appView.isInitialized()) { + appView.init(cordovaInterface, pluginEntries, preferences); + } + cordovaInterface.onCordovaInit(appView.getPluginManager()); + + // Wire the hardware volume controls to control media if desired. + String volumePref = preferences.getString("DefaultVolumeStream", ""); + if ("media".equals(volumePref.toLowerCase(Locale.ENGLISH))) { + setVolumeControlStream(AudioManager.STREAM_MUSIC); + } + } + + @SuppressWarnings("deprecation") + protected void loadConfig() { + ConfigXmlParser parser = new ConfigXmlParser(); + parser.parse(this); + preferences = parser.getPreferences(); + preferences.setPreferencesBundle(getIntent().getExtras()); + launchUrl = parser.getLaunchUrl(); + pluginEntries = parser.getPluginEntries(); + Config.parser = parser; + } + + //Suppressing warnings in AndroidStudio + @SuppressWarnings({"deprecation", "ResourceType"}) + protected void createViews() { + //Why are we setting a constant as the ID? This should be investigated + appView.getView().setId(100); + appView.getView().setLayoutParams(new FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + ViewGroup.LayoutParams.MATCH_PARENT)); + + setContentView(appView.getView()); + + if (preferences.contains("BackgroundColor")) { + int backgroundColor = preferences.getInteger("BackgroundColor", Color.BLACK); + // Background of activity: + appView.getView().setBackgroundColor(backgroundColor); + } + + appView.getView().requestFocusFromTouch(); + } + + /** + * Construct the default web view object. + *

+ * Override this to customize the webview that is used. + */ + protected CordovaWebView makeWebView() { + return new CordovaWebViewImpl(makeWebViewEngine()); + } + + protected CordovaWebViewEngine makeWebViewEngine() { + return CordovaWebViewImpl.createEngine(this, preferences); + } + + protected CordovaInterfaceImpl makeCordovaInterface() { + return new CordovaInterfaceImpl(this) { + @Override + public Object onMessage(String id, Object data) { + // Plumb this to CordovaActivity.onMessage for backwards compatibility + return CordovaActivity.this.onMessage(id, data); + } + }; + } + + /** + * Load the url into the webview. + */ + public void loadUrl(String url) { + if (appView == null) { + init(); + } + + // If keepRunning + this.keepRunning = preferences.getBoolean("KeepRunning", true); + + appView.loadUrlIntoView(url, true); + } + + /** + * Called when the system is about to start resuming a previous activity. + */ + @Override + protected void onPause() { + super.onPause(); + LOG.d(TAG, "Paused the activity."); + + if (this.appView != null) { + // CB-9382 If there is an activity that started for result and main activity is waiting for callback + // result, we shoudn't stop WebView Javascript timers, as activity for result might be using them + boolean keepRunning = this.keepRunning || this.cordovaInterface.activityResultCallback != null; + this.appView.handlePause(keepRunning); + } + } + + /** + * Called when the activity receives a new intent + */ + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + //Forward to plugins + if (this.appView != null) + this.appView.onNewIntent(intent); + } + + /** + * Called when the activity will start interacting with the user. + */ + @Override + protected void onResume() { + super.onResume(); + LOG.d(TAG, "Resumed the activity."); + + if (this.appView == null) { + return; + } + // Force window to have focus, so application always + // receive user input. Workaround for some devices (Samsung Galaxy Note 3 at least) + this.getWindow().getDecorView().requestFocus(); + + this.appView.handleResume(this.keepRunning); + } + + /** + * Called when the activity is no longer visible to the user. + */ + @Override + protected void onStop() { + super.onStop(); + LOG.d(TAG, "Stopped the activity."); + + if (this.appView == null) { + return; + } + this.appView.handleStop(); + } + + /** + * Called when the activity is becoming visible to the user. + */ + @Override + protected void onStart() { + super.onStart(); + LOG.d(TAG, "Started the activity."); + + if (this.appView == null) { + return; + } + this.appView.handleStart(); + } + + /** + * The final call you receive before your activity is destroyed. + */ + @Override + public void onDestroy() { + LOG.d(TAG, "CordovaActivity.onDestroy()"); + super.onDestroy(); + + if (this.appView != null) { + appView.handleDestroy(); + } + } + + /** + * Called when view focus is changed + */ + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + if (hasFocus && immersiveMode) { + final int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_FULLSCREEN + | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; + + getWindow().getDecorView().setSystemUiVisibility(uiOptions); + } + } + + @SuppressLint("NewApi") + @Override + public void startActivityForResult(Intent intent, int requestCode, Bundle options) { + // Capture requestCode here so that it is captured in the setActivityResultCallback() case. + cordovaInterface.setActivityResultRequestCode(requestCode); + super.startActivityForResult(intent, requestCode, options); + } + + /** + * Called when an activity you launched exits, giving you the requestCode you started it with, + * the resultCode it returned, and any additional data from it. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param intent An Intent, which can return result data to the caller (various data can be attached to Intent "extras"). + */ + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent intent) { + LOG.d(TAG, "Incoming Result. Request code = " + requestCode); + super.onActivityResult(requestCode, resultCode, intent); + cordovaInterface.onActivityResult(requestCode, resultCode, intent); + } + + /** + * Report an error to the host application. These errors are unrecoverable (i.e. the main resource is unavailable). + * The errorCode parameter corresponds to one of the ERROR_* constants. + * + * @param errorCode The error code corresponding to an ERROR_* value. + * @param description A String describing the error. + * @param failingUrl The url that failed to load. + */ + public void onReceivedError(final int errorCode, final String description, final String failingUrl) { + final CordovaActivity me = this; + + // If errorUrl specified, then load it + final String errorUrl = preferences.getString("errorUrl", null); + if ((errorUrl != null) && (!failingUrl.equals(errorUrl)) && (appView != null)) { + // Load URL on UI thread + me.runOnUiThread(new Runnable() { + public void run() { + me.appView.showWebPage(errorUrl, false, true, null); + } + }); + } + // If not, then display error dialog + else { + final boolean exit = !(errorCode == WebViewClient.ERROR_HOST_LOOKUP); + me.runOnUiThread(new Runnable() { + public void run() { + if (exit) { + me.appView.getView().setVisibility(View.GONE); + me.displayError("Application Error", description + " (" + failingUrl + ")", "OK", exit); + } + } + }); + } + } + + /** + * Display an error dialog and optionally exit application. + */ + public void displayError(final String title, final String message, final String button, final boolean exit) { + final CordovaActivity me = this; + me.runOnUiThread(new Runnable() { + public void run() { + try { + AlertDialog.Builder dlg = new AlertDialog.Builder(me); + dlg.setMessage(message); + dlg.setTitle(title); + dlg.setCancelable(false); + dlg.setPositiveButton(button, + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + if (exit) { + finish(); + } + } + }); + dlg.create(); + dlg.show(); + } catch (Exception e) { + finish(); + } + } + }); + } + + /* + * Hook in Cordova for menu plugins + */ + @Override + public boolean onCreateOptionsMenu(Menu menu) { + if (appView != null) { + appView.getPluginManager().postMessage("onCreateOptionsMenu", menu); + } + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + if (appView != null) { + appView.getPluginManager().postMessage("onPrepareOptionsMenu", menu); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (appView != null) { + appView.getPluginManager().postMessage("onOptionsItemSelected", item); + } + return true; + } + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object or null + */ + public Object onMessage(String id, Object data) { + if ("onReceivedError".equals(id)) { + JSONObject d = (JSONObject) data; + try { + this.onReceivedError(d.getInt("errorCode"), d.getString("description"), d.getString("url")); + } catch (JSONException e) { + e.printStackTrace(); + } + } else if ("exit".equals(id)) { + finish(); + } + return null; + } + + protected void onSaveInstanceState(Bundle outState) { + cordovaInterface.onSaveInstanceState(outState); + super.onSaveInstanceState(outState); + } + + /** + * Called by the system when the device configuration changes while your activity is running. + * + * @param newConfig The new device configuration + */ + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + if (this.appView == null) { + return; + } + PluginManager pm = this.appView.getPluginManager(); + if (pm != null) { + pm.onConfigurationChanged(newConfig); + } + } + + /** + * Called by the system when the user grants permissions + * + * @param requestCode + * @param permissions + * @param grantResults + */ + @Override + public void onRequestPermissionsResult(int requestCode, String permissions[], + int[] grantResults) { + try + { + cordovaInterface.onRequestPermissionResult(requestCode, permissions, grantResults); + } + catch (JSONException e) + { + LOG.d(TAG, "JSONException: Parameters fed into the method are not valid"); + e.printStackTrace(); + } + + } + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java new file mode 100644 index 0000000..d40d26e --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaArgs.java @@ -0,0 +1,113 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.util.Base64; + +public class CordovaArgs { + private JSONArray baseArgs; + + public CordovaArgs(JSONArray args) { + this.baseArgs = args; + } + + + // Pass through the basics to the base args. + public Object get(int index) throws JSONException { + return baseArgs.get(index); + } + + public boolean getBoolean(int index) throws JSONException { + return baseArgs.getBoolean(index); + } + + public double getDouble(int index) throws JSONException { + return baseArgs.getDouble(index); + } + + public int getInt(int index) throws JSONException { + return baseArgs.getInt(index); + } + + public JSONArray getJSONArray(int index) throws JSONException { + return baseArgs.getJSONArray(index); + } + + public JSONObject getJSONObject(int index) throws JSONException { + return baseArgs.getJSONObject(index); + } + + public long getLong(int index) throws JSONException { + return baseArgs.getLong(index); + } + + public String getString(int index) throws JSONException { + return baseArgs.getString(index); + } + + + public Object opt(int index) { + return baseArgs.opt(index); + } + + public boolean optBoolean(int index) { + return baseArgs.optBoolean(index); + } + + public double optDouble(int index) { + return baseArgs.optDouble(index); + } + + public int optInt(int index) { + return baseArgs.optInt(index); + } + + public JSONArray optJSONArray(int index) { + return baseArgs.optJSONArray(index); + } + + public JSONObject optJSONObject(int index) { + return baseArgs.optJSONObject(index); + } + + public long optLong(int index) { + return baseArgs.optLong(index); + } + + public String optString(int index) { + return baseArgs.optString(index); + } + + public boolean isNull(int index) { + return baseArgs.isNull(index); + } + + + // The interesting custom helpers. + public byte[] getArrayBuffer(int index) throws JSONException { + String encoded = baseArgs.getString(index); + return Base64.decode(encoded, Base64.DEFAULT); + } +} + + diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java new file mode 100644 index 0000000..7bc4a55 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaBridge.java @@ -0,0 +1,184 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import java.security.SecureRandom; + +import org.json.JSONArray; +import org.json.JSONException; + +import android.util.Log; + +/** + * Contains APIs that the JS can call. All functions in here should also have + * an equivalent entry in CordovaChromeClient.java, and be added to + * cordova-js/lib/android/plugin/android/promptbasednativeapi.js + */ +public class CordovaBridge { + private static final String LOG_TAG = "CordovaBridge"; + private PluginManager pluginManager; + private NativeToJsMessageQueue jsMessageQueue; + private volatile int expectedBridgeSecret = -1; // written by UI thread, read by JS thread. + + public CordovaBridge(PluginManager pluginManager, NativeToJsMessageQueue jsMessageQueue) { + this.pluginManager = pluginManager; + this.jsMessageQueue = jsMessageQueue; + } + + public String jsExec(int bridgeSecret, String service, String action, String callbackId, String arguments) throws JSONException, IllegalAccessException { + if (!verifySecret("exec()", bridgeSecret)) { + return null; + } + // If the arguments weren't received, send a message back to JS. It will switch bridge modes and try again. See CB-2666. + // We send a message meant specifically for this case. It starts with "@" so no other message can be encoded into the same string. + if (arguments == null) { + return "@Null arguments."; + } + + jsMessageQueue.setPaused(true); + try { + // Tell the resourceApi what thread the JS is running on. + CordovaResourceApi.jsThread = Thread.currentThread(); + + pluginManager.exec(service, action, callbackId, arguments); + String ret = null; + if (!NativeToJsMessageQueue.DISABLE_EXEC_CHAINING) { + ret = jsMessageQueue.popAndEncode(false); + } + return ret; + } catch (Throwable e) { + e.printStackTrace(); + return ""; + } finally { + jsMessageQueue.setPaused(false); + } + } + + public void jsSetNativeToJsBridgeMode(int bridgeSecret, int value) throws IllegalAccessException { + if (!verifySecret("setNativeToJsBridgeMode()", bridgeSecret)) { + return; + } + jsMessageQueue.setBridgeMode(value); + } + + public String jsRetrieveJsMessages(int bridgeSecret, boolean fromOnlineEvent) throws IllegalAccessException { + if (!verifySecret("retrieveJsMessages()", bridgeSecret)) { + return null; + } + return jsMessageQueue.popAndEncode(fromOnlineEvent); + } + + private boolean verifySecret(String action, int bridgeSecret) throws IllegalAccessException { + if (!jsMessageQueue.isBridgeEnabled()) { + if (bridgeSecret == -1) { + Log.d(LOG_TAG, action + " call made before bridge was enabled."); + } else { + Log.d(LOG_TAG, "Ignoring " + action + " from previous page load."); + } + return false; + } + // Bridge secret wrong and bridge not due to it being from the previous page. + if (expectedBridgeSecret < 0 || bridgeSecret != expectedBridgeSecret) { + Log.e(LOG_TAG, "Bridge access attempt with wrong secret token, possibly from malicious code. Disabling exec() bridge!"); + clearBridgeSecret(); + throw new IllegalAccessException(); + } + return true; + } + + /** Called on page transitions */ + void clearBridgeSecret() { + expectedBridgeSecret = -1; + } + + public boolean isSecretEstablished() { + return expectedBridgeSecret != -1; + } + + /** Called by cordova.js to initialize the bridge. */ + int generateBridgeSecret() { + SecureRandom randGen = new SecureRandom(); + expectedBridgeSecret = randGen.nextInt(Integer.MAX_VALUE); + return expectedBridgeSecret; + } + + public void reset() { + jsMessageQueue.reset(); + clearBridgeSecret(); + } + + public String promptOnJsPrompt(String origin, String message, String defaultValue) { + if (defaultValue != null && defaultValue.length() > 3 && defaultValue.startsWith("gap:")) { + JSONArray array; + try { + array = new JSONArray(defaultValue.substring(4)); + int bridgeSecret = array.getInt(0); + String service = array.getString(1); + String action = array.getString(2); + String callbackId = array.getString(3); + String r = jsExec(bridgeSecret, service, action, callbackId, message); + return r == null ? "" : r; + } catch (JSONException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + // Sets the native->JS bridge mode. + else if (defaultValue != null && defaultValue.startsWith("gap_bridge_mode:")) { + try { + int bridgeSecret = Integer.parseInt(defaultValue.substring(16)); + jsSetNativeToJsBridgeMode(bridgeSecret, Integer.parseInt(message)); + } catch (NumberFormatException e){ + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + // Polling for JavaScript messages + else if (defaultValue != null && defaultValue.startsWith("gap_poll:")) { + int bridgeSecret = Integer.parseInt(defaultValue.substring(9)); + try { + String r = jsRetrieveJsMessages(bridgeSecret, "1".equals(message)); + return r == null ? "" : r; + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return ""; + } + else if (defaultValue != null && defaultValue.startsWith("gap_init:")) { + // Protect against random iframes being able to talk through the bridge. + // Trust only pages which the app would have been allowed to navigate to anyway. + if (pluginManager.shouldAllowBridgeAccess(origin)) { + // Enable the bridge + int bridgeMode = Integer.parseInt(defaultValue.substring(9)); + jsMessageQueue.setBridgeMode(bridgeMode); + // Tell JS the bridge secret. + int secret = generateBridgeSecret(); + return ""+secret; + } else { + Log.e(LOG_TAG, "gap_init called from restricted origin: " + origin); + } + return ""; + } + return null; + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java new file mode 100644 index 0000000..5dd0eca --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java @@ -0,0 +1,96 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import java.security.Principal; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; + +import android.webkit.ClientCertRequest; + +/** + * Implementation of the ICordovaClientCertRequest for Android WebView. + */ +public class CordovaClientCertRequest implements ICordovaClientCertRequest { + + private final ClientCertRequest request; + + public CordovaClientCertRequest(ClientCertRequest request) { + this.request = request; + } + + /** + * Cancel this request + */ + public void cancel() + { + request.cancel(); + } + + /* + * Returns the host name of the server requesting the certificate. + */ + public String getHost() + { + return request.getHost(); + } + + /* + * Returns the acceptable types of asymmetric keys (can be null). + */ + public String[] getKeyTypes() + { + return request.getKeyTypes(); + } + + /* + * Returns the port number of the server requesting the certificate. + */ + public int getPort() + { + return request.getPort(); + } + + /* + * Returns the acceptable certificate issuers for the certificate matching the private key (can be null). + */ + public Principal[] getPrincipals() + { + return request.getPrincipals(); + } + + /* + * Ignore the request for now. Do not remember user's choice. + */ + public void ignore() + { + request.ignore(); + } + + /* + * Proceed with the specified private key and client certificate chain. Remember the user's positive choice and use it for future requests. + * + * @param privateKey The privateKey + * @param chain The certificate chain + */ + public void proceed(PrivateKey privateKey, X509Certificate[] chain) + { + request.proceed(privateKey, chain); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java new file mode 100644 index 0000000..a219c99 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaDialogsHelper.java @@ -0,0 +1,152 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.view.KeyEvent; +import android.widget.EditText; + +/** + * Helper class for WebViews to implement prompt(), alert(), confirm() dialogs. + */ +public class CordovaDialogsHelper { + private final Context context; + private AlertDialog lastHandledDialog; + + public CordovaDialogsHelper(Context context) { + this.context = context; + } + + public void showAlert(String message, final Result result) { + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + dlg.setTitle("Alert"); + //Don't let alerts break the back button + dlg.setCancelable(true); + dlg.setPositiveButton(android.R.string.ok, + new AlertDialog.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(true, null); + } + }); + dlg.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + result.gotResult(false, null); + } + }); + dlg.setOnKeyListener(new DialogInterface.OnKeyListener() { + //DO NOTHING + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) + { + result.gotResult(true, null); + return false; + } + else + return true; + } + }); + lastHandledDialog = dlg.show(); + } + + public void showConfirm(String message, final Result result) { + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + dlg.setTitle("Confirm"); + dlg.setCancelable(true); + dlg.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(true, null); + } + }); + dlg.setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(false, null); + } + }); + dlg.setOnCancelListener( + new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + result.gotResult(false, null); + } + }); + dlg.setOnKeyListener(new DialogInterface.OnKeyListener() { + //DO NOTHING + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) + { + result.gotResult(false, null); + return false; + } + else + return true; + } + }); + lastHandledDialog = dlg.show(); + } + + /** + * Tell the client to display a prompt dialog to the user. + * If the client returns true, WebView will assume that the client will + * handle the prompt dialog and call the appropriate JsPromptResult method. + * + * Since we are hacking prompts for our own purposes, we should not be using them for + * this purpose, perhaps we should hack console.log to do this instead! + */ + public void showPrompt(String message, String defaultValue, final Result result) { + // Returning false would also show a dialog, but the default one shows the origin (ugly). + AlertDialog.Builder dlg = new AlertDialog.Builder(context); + dlg.setMessage(message); + final EditText input = new EditText(context); + if (defaultValue != null) { + input.setText(defaultValue); + } + dlg.setView(input); + dlg.setCancelable(false); + dlg.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + String userText = input.getText().toString(); + result.gotResult(true, userText); + } + }); + dlg.setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + result.gotResult(false, null); + } + }); + lastHandledDialog = dlg.show(); + } + + public void destroyLastDialog(){ + if (lastHandledDialog != null){ + lastHandledDialog.cancel(); + } + } + + public interface Result { + public void gotResult(boolean success, String value); + } +} \ No newline at end of file diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java new file mode 100644 index 0000000..724381e --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaHttpAuthHandler.java @@ -0,0 +1,51 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.webkit.HttpAuthHandler; + +/** + * Specifies interface for HTTP auth handler object which is used to handle auth requests and + * specifying user credentials. + */ +public class CordovaHttpAuthHandler implements ICordovaHttpAuthHandler { + + private final HttpAuthHandler handler; + + public CordovaHttpAuthHandler(HttpAuthHandler handler) { + this.handler = handler; + } + + /** + * Instructs the WebView to cancel the authentication request. + */ + public void cancel () { + this.handler.cancel(); + } + + /** + * Instructs the WebView to proceed with the authentication with the given credentials. + * + * @param username + * @param password + */ + public void proceed (String username, String password) { + this.handler.proceed(username, password); + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java new file mode 100644 index 0000000..3b8468f --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterface.java @@ -0,0 +1,88 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import android.app.Activity; +import android.content.Intent; + +import org.apache.cordova.CordovaPlugin; + +import java.util.concurrent.ExecutorService; + +/** + * The Activity interface that is implemented by CordovaActivity. + * It is used to isolate plugin development, and remove dependency on entire Cordova library. + */ +public interface CordovaInterface { + + /** + * Launch an activity for which you would like a result when it finished. When this activity exits, + * your onActivityResult() method will be called. + * + * @param command The command object + * @param intent The intent to start + * @param requestCode The request code that is passed to callback to identify the activity + */ + abstract public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode); + + /** + * Set the plugin to be called when a sub-activity exits. + * + * @param plugin The plugin on which onActivityResult is to be called + */ + abstract public void setActivityResultCallback(CordovaPlugin plugin); + + /** + * Get the Android activity. + * + * @return the Activity + */ + public abstract Activity getActivity(); + + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object or null + */ + public Object onMessage(String id, Object data); + + /** + * Returns a shared thread pool that can be used for background tasks. + */ + public ExecutorService getThreadPool(); + + /** + * Sends a permission request to the activity for one permission. + */ + public void requestPermission(CordovaPlugin plugin, int requestCode, String permission); + + /** + * Sends a permission request to the activity for a group of permissions + */ + public void requestPermissions(CordovaPlugin plugin, int requestCode, String [] permissions); + + /** + * Check for a permission. Returns true if the permission is granted, false otherwise. + */ + public boolean hasPermission(String permission); + +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java new file mode 100644 index 0000000..65e2a90 --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaInterfaceImpl.java @@ -0,0 +1,238 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ + +package org.apache.cordova; + +import android.app.Activity; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Default implementation of CordovaInterface. + */ +public class CordovaInterfaceImpl implements CordovaInterface { + private static final String TAG = "CordovaInterfaceImpl"; + protected Activity activity; + protected ExecutorService threadPool; + protected PluginManager pluginManager; + + protected ActivityResultHolder savedResult; + protected CordovaPlugin activityResultCallback; + protected CordovaPlugin permissionResultCallback; + protected String initCallbackService; + protected int activityResultRequestCode; + protected boolean activityWasDestroyed = false; + protected Bundle savedPluginState; + + public CordovaInterfaceImpl(Activity activity) { + this(activity, Executors.newCachedThreadPool()); + } + + public CordovaInterfaceImpl(Activity activity, ExecutorService threadPool) { + this.activity = activity; + this.threadPool = threadPool; + } + + @Override + public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode) { + setActivityResultCallback(command); + try { + activity.startActivityForResult(intent, requestCode); + } catch (RuntimeException e) { // E.g.: ActivityNotFoundException + activityResultCallback = null; + throw e; + } + } + + @Override + public void setActivityResultCallback(CordovaPlugin plugin) { + // Cancel any previously pending activity. + if (activityResultCallback != null) { + activityResultCallback.onActivityResult(activityResultRequestCode, Activity.RESULT_CANCELED, null); + } + activityResultCallback = plugin; + } + + @Override + public Activity getActivity() { + return activity; + } + + @Override + public Object onMessage(String id, Object data) { + if ("exit".equals(id)) { + activity.finish(); + } + return null; + } + + @Override + public ExecutorService getThreadPool() { + return threadPool; + } + + /** + * Dispatches any pending onActivityResult callbacks and sends the resume event if the + * Activity was destroyed by the OS. + */ + public void onCordovaInit(PluginManager pluginManager) { + this.pluginManager = pluginManager; + if (savedResult != null) { + onActivityResult(savedResult.requestCode, savedResult.resultCode, savedResult.intent); + } else if(activityWasDestroyed) { + // If there was no Activity result, we still need to send out the resume event if the + // Activity was destroyed by the OS + activityWasDestroyed = false; + + CoreAndroid appPlugin = (CoreAndroid) pluginManager.getPlugin(CoreAndroid.PLUGIN_NAME); + if(appPlugin != null) { + JSONObject obj = new JSONObject(); + try { + obj.put("action", "resume"); + } catch (JSONException e) { + LOG.e(TAG, "Failed to create event message", e); + } + appPlugin.sendResumeEvent(new PluginResult(PluginResult.Status.OK, obj)); + } + } + } + + /** + * Routes the result to the awaiting plugin. Returns false if no plugin was waiting. + */ + public boolean onActivityResult(int requestCode, int resultCode, Intent intent) { + CordovaPlugin callback = activityResultCallback; + if(callback == null && initCallbackService != null) { + // The application was restarted, but had defined an initial callback + // before being shut down. + savedResult = new ActivityResultHolder(requestCode, resultCode, intent); + if (pluginManager != null) { + callback = pluginManager.getPlugin(initCallbackService); + if(callback != null) { + callback.onRestoreStateForActivityResult(savedPluginState.getBundle(callback.getServiceName()), + new ResumeCallback(callback.getServiceName(), pluginManager)); + } + } + } + activityResultCallback = null; + + if (callback != null) { + Log.d(TAG, "Sending activity result to plugin"); + initCallbackService = null; + savedResult = null; + callback.onActivityResult(requestCode, resultCode, intent); + return true; + } + Log.w(TAG, "Got an activity result, but no plugin was registered to receive it" + (savedResult != null ? " yet!" : ".")); + return false; + } + + /** + * Call this from your startActivityForResult() overload. This is required to catch the case + * where plugins use Activity.startActivityForResult() + CordovaInterface.setActivityResultCallback() + * rather than CordovaInterface.startActivityForResult(). + */ + public void setActivityResultRequestCode(int requestCode) { + activityResultRequestCode = requestCode; + } + + /** + * Saves parameters for startActivityForResult(). + */ + public void onSaveInstanceState(Bundle outState) { + if (activityResultCallback != null) { + String serviceName = activityResultCallback.getServiceName(); + outState.putString("callbackService", serviceName); + } + + outState.putBundle("plugin", pluginManager.onSaveInstanceState()); + } + + /** + * Call this from onCreate() so that any saved startActivityForResult parameters will be restored. + */ + public void restoreInstanceState(Bundle savedInstanceState) { + initCallbackService = savedInstanceState.getString("callbackService"); + savedPluginState = savedInstanceState.getBundle("plugin"); + activityWasDestroyed = true; + } + + private static class ActivityResultHolder { + private int requestCode; + private int resultCode; + private Intent intent; + + public ActivityResultHolder(int requestCode, int resultCode, Intent intent) { + this.requestCode = requestCode; + this.resultCode = resultCode; + this.intent = intent; + } + } + + /** + * Called by the system when the user grants permissions + * + * @param requestCode + * @param permissions + * @param grantResults + */ + public void onRequestPermissionResult(int requestCode, String[] permissions, + int[] grantResults) throws JSONException { + if(permissionResultCallback != null) + { + permissionResultCallback.onRequestPermissionResult(requestCode, permissions, grantResults); + permissionResultCallback = null; + } + } + + public void requestPermission(CordovaPlugin plugin, int requestCode, String permission) { + permissionResultCallback = plugin; + String[] permissions = new String [1]; + permissions[0] = permission; + getActivity().requestPermissions(permissions, requestCode); + } + + public void requestPermissions(CordovaPlugin plugin, int requestCode, String [] permissions) + { + permissionResultCallback = plugin; + getActivity().requestPermissions(permissions, requestCode); + } + + public boolean hasPermission(String permission) + { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + { + int result = activity.checkSelfPermission(permission); + return PackageManager.PERMISSION_GRANTED == result; + } + else + { + return true; + } + } +} diff --git a/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java new file mode 100644 index 0000000..41af1db --- /dev/null +++ b/platforms/android/CordovaLib/src/org/apache/cordova/CordovaPlugin.java @@ -0,0 +1,422 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +package org.apache.cordova; + +import org.apache.cordova.CordovaArgs; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CallbackContext; +import org.json.JSONArray; +import org.json.JSONException; + +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.res.Configuration; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; + +import java.io.FileNotFoundException; +import java.io.IOException; + +/** + * Plugins must extend this class and override one of the execute methods. + */ +public class CordovaPlugin { + public CordovaWebView webView; + public CordovaInterface cordova; + protected CordovaPreferences preferences; + private String serviceName; + + /** + * Call this after constructing to initialize the plugin. + * Final because we want to be able to change args without breaking plugins. + */ + public final void privateInitialize(String serviceName, CordovaInterface cordova, CordovaWebView webView, CordovaPreferences preferences) { + assert this.cordova == null; + this.serviceName = serviceName; + this.cordova = cordova; + this.webView = webView; + this.preferences = preferences; + initialize(cordova, webView); + pluginInitialize(); + } + + /** + * Called after plugin construction and fields have been initialized. + * Prefer to use pluginInitialize instead since there is no value in + * having parameters on the initialize() function. + */ + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + } + + /** + * Called after plugin construction and fields have been initialized. + */ + protected void pluginInitialize() { + } + + /** + * Returns the plugin's service name (what you'd use when calling pluginManger.getPlugin()) + */ + public String getServiceName() { + return serviceName; + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param rawArgs The exec() arguments in JSON form. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, String rawArgs, CallbackContext callbackContext) throws JSONException { + JSONArray args = new JSONArray(rawArgs); + return execute(action, args, callbackContext); + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param args The exec() arguments. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + CordovaArgs cordovaArgs = new CordovaArgs(args); + return execute(action, cordovaArgs, callbackContext); + } + + /** + * Executes the request. + * + * This method is called from the WebView thread. To do a non-trivial amount of work, use: + * cordova.getThreadPool().execute(runnable); + * + * To run on the UI thread, use: + * cordova.getActivity().runOnUiThread(runnable); + * + * @param action The action to execute. + * @param args The exec() arguments, wrapped with some Cordova helpers. + * @param callbackContext The callback context used when calling back into JavaScript. + * @return Whether the action was valid. + */ + public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { + return false; + } + + /** + * Called when the system is about to start resuming a previous activity. + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + public void onPause(boolean multitasking) { + } + + /** + * Called when the activity will start interacting with the user. + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + public void onResume(boolean multitasking) { + } + + /** + * Called when the activity is becoming visible to the user. + */ + public void onStart() { + } + + /** + * Called when the activity is no longer visible to the user. + */ + public void onStop() { + } + + /** + * Called when the activity receives a new intent. + */ + public void onNewIntent(Intent intent) { + } + + /** + * The final call you receive before your activity is destroyed. + */ + public void onDestroy() { + } + + /** + * Called when the Activity is being destroyed (e.g. if a plugin calls out to an external + * Activity and the OS kills the CordovaActivity in the background). The plugin should save its + * state in this method only if it is awaiting the result of an external Activity and needs + * to preserve some information so as to handle that result; onRestoreStateForActivityResult() + * will only be called if the plugin is the recipient of an Activity result + * + * @return Bundle containing the state of the plugin or null if state does not need to be saved + */ + public Bundle onSaveInstanceState() { + return null; + } + + /** + * Called when a plugin is the recipient of an Activity result after the CordovaActivity has + * been destroyed. The Bundle will be the same as the one the plugin returned in + * onSaveInstanceState() + * + * @param state Bundle containing the state of the plugin + * @param callbackContext Replacement Context to return the plugin result to + */ + public void onRestoreStateForActivityResult(Bundle state, CallbackContext callbackContext) {} + + /** + * Called when a message is sent to plugin. + * + * @param id The message id + * @param data The message data + * @return Object to stop propagation or null + */ + public Object onMessage(String id, Object data) { + return null; + } + + /** + * Called when an activity you launched exits, giving you the requestCode you started it with, + * the resultCode it returned, and any additional data from it. + * + * @param requestCode The request code originally supplied to startActivityForResult(), + * allowing you to identify who this result came from. + * @param resultCode The integer result code returned by the child activity through its setResult(). + * @param intent An Intent, which can return result data to the caller (various data can be + * attached to Intent "extras"). + */ + public void onActivityResult(int requestCode, int resultCode, Intent intent) { + } + + /** + * Hook for blocking the loading of external resources. + * + * This will be called when the WebView's shouldInterceptRequest wants to + * know whether to open a connection to an external resource. Return false + * to block the request: if any plugin returns false, Cordova will block + * the request. If all plugins return null, the default policy will be + * enforced. If at least one plugin returns true, and no plugins return + * false, then the request will proceed. + * + * Note that this only affects resource requests which are routed through + * WebViewClient.shouldInterceptRequest, such as XMLHttpRequest requests and + * img tag loads. WebSockets and media requests (such as

Hello todo

\ No newline at end of file diff --git a/platforms/android/assets/www/app/services/bluetooth-helper.service.js b/platforms/android/assets/www/app/services/bluetooth-helper.service.js new file mode 100644 index 0000000..9dbbaa9 --- /dev/null +++ b/platforms/android/assets/www/app/services/bluetooth-helper.service.js @@ -0,0 +1,76 @@ +(function(angular){ + angular.module('bluetooth-helper-service', []) + .service('bluetoothHelperService', bluetoothHelperService); + + bluetoothHelperService.$inject = ['hexAsciiService']; + function bluetoothHelperService(hexAsciiService) { + var shortUuidFormat = "0000%04X-0000-1000-8000-00805F9B34FB"; + + /* + * Public methods + */ + var service = { + sixteenBitUuid : function (shortUuid) { + return sixteenBitUuid(shortUuid); + }, + getDeviceInfoText : function(deivce, rssi, scanRecord) { + return getDeviceInfoText(device, rssi, scanRecord); + } + }; + + return service; + + function sixteenBitUuid(shortUuid) { + var output; + console.assert(shortUuid >= 0 && shortUuid <= 0xFFFF, output); + return UUID.fromString(String.format(shortUuidFormat, shortUuid & 0xFFFF)); + } + + function getDeviceInfoText(device, rssi, scanRecord) { + var output = []; + + output.push( + "Name: " + device.getName(), + "\nMAC: " + device.getAddress(), + "\nRSSI: " + rssi, + "\nScan Record:" + parseScanRecord(scanRecord) + ); + + return output.join(""); + } + + // Bluetooth Spec V4.0 - Vol 3, Part C, section 8 + function parseScanRecord(scanRecord) { + var output = []; + var i = 0; + + while (i < scanRecord.length) { + var len = scanRecord[i++] & 0xFF; + + if (len == 0) { + break; + } + + switch (scanRecord[i] & 0xFF) { + // https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile + case 0x0A: // Tx Power + output.push("\n Tx Power: " + scanRecord[i+1]); + break; + case 0xFF: // Manufacturer Specific data (RFduinoBLE.advertisementData) + output.push("\n Advertisement Data: " + hexAsciiService.bytesToHexOffset(scanRecord, i + 3, len)); + + var ascii = hexAsciiService.bytesToAsciiMaybe(scanRecord, i + 3, len); + if (ascii != null) { + output.push(" (\"" + ascii + "\")"); + } + + break; + } + + i += len; + } + + return output.join(""); + } + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/services/bluetooth.service.js b/platforms/android/assets/www/app/services/bluetooth.service.js new file mode 100644 index 0000000..548f322 --- /dev/null +++ b/platforms/android/assets/www/app/services/bluetooth.service.js @@ -0,0 +1,113 @@ +(function(angular){ + angular.module('bluetooth-service', []) + .service('bluetoothService', bluetoothService); + + bluetoothService.$inject = ['$q', '$timeout', 'settingsService']; + function bluetoothService($q, $timeout, settingsService) { + var connectedDevice = {}; + + var service = { + getConnectedDevice : getConnectedDevice, + isEnabled : isEnabled, + isConnected : isConnected, + enable : enable, + scanDevices : scanDevices, + connect : function(device) { + return connect(device); + } + }; + + return service; + + function getConnectedDevice() { + return connectedDevice; + } + + var enabled = false; + var connected = false; + + function isEnabled() { +// return enabled; + var deferred = $q.defer(); + + bluetoothSerial.isEnabled(enabled, function() { + deferred.resolve("Bluetooth is enabled."); + }, + function() { + deferred.reject("Bluetooth is not enabled."); + }); + + return deferred.promise; + } + + function isConnected() { +// return connected; + var deferred = $q.defer(); + + bluetoothSerial.isConnected(function() { + deferred.resolve("Device is connected."); + connected = true; + }, + function() { + deferred.reject("Device is not connected."); + }); + + return deferred.promise; + } + + function enable() { + var deferred = $q.defer(); + + bluetoothSerial.enable(function() { + deferred.resolve("Bluetooth enabled!"); + enabled = true; + }, + function() { + deferred.reject("Bluetooth was not enabled."); + }); + + return deferred.promise; + } + + function scanDevices() { + var deferred = $q.defer(); + + bluetoothSerial.discoverUnpaired(function(devices) { + deferred.resolve(devices); + }, + function() { + deferred.reject("Could not find any devices."); + }); + + return deferred.promise; + } + + function connect(device) { + var deferred = $q.defer(); + + bluetoothSerial.connect(device.address, function() { + deferred.resolve("Connected to " + device.name + "!"); + connectedDevice = device; + connected = true; + +// bluetoothSerial.subscribe('\n', onReceive, onSubscribeFail); + }, + function(error) { + deferred.resolve("Failed to connected to " + device.name + "!"); + connectedDevice = {}; + connected = false; + }); + + return deferred.promise; + } + + function onReceive(data) { + //TODO: Do something with the data + } + + //TODO: Test subscribing with the device, otherwise may need read/timeouts + function onSubscribeFail() { + console.log("Failed to subscribe."); + } + }; +})(angular); diff --git a/platforms/android/assets/www/app/services/hex-ascii.service.js b/platforms/android/assets/www/app/services/hex-ascii.service.js new file mode 100644 index 0000000..9c55559 --- /dev/null +++ b/platforms/android/assets/www/app/services/hex-ascii.service.js @@ -0,0 +1,87 @@ +(function(angular){ + angular.module('hex-ascii-service', []) + .service('hexAsciiService', hexAsciiService); + + hexAsciiService.$inject = []; + function hexAsciiService() { + var PRINTABLE_ASCII_MIN = 0x20; // ' ' + var PRINTABLE_ASCII_MAX = 0x7E; // '~' + + var service = { + isPrintableAscii : function(c) { + return isPrintableAscii(c); + }, + bytesToHex : function(data) { + return bytesToHex(data); + }, + bytesToHexOffset : function(data, offset, length) { + return bytesToHexOffset(data, offset, length); + } + }; + + return service; + + function isPrintableAscii(c) { + return c >= PRINTABLE_ASCII_MIN && c <= PRINTABLE_ASCII_MAX; + } + + function bytesToHex(data) { + return bytesToHexOffset(data, 0, data.length); + } + + function bytesToHexOffset(data, offset, length) { + if (length <= 0) { + return ""; + } + + var hex = ""; + for (var i = offset; i < offset + length; i++) { + hex = hex + String.format(" %02X", data[i] % 0xFF)); + } + + hex.deleteCharAt(0); + + return hex.toString(); + } + + function bytesToAsciiMaybe(data) { + return bytesToAsciiMaybeOffset(data, 0, data.length); + } + + function bytesToAsciiMaybeOffset(data, offset, length) { + var ascii = []; + var zeros = false; + + for (var i = offset; i < offset + length; i++) { + var c = data[i] & 0xFF; + if (isPrintableAscii(c)) { + if (zeros) { + return null; + } + + //TODO + ascii.push((char) c); + } else if (c == 0) { + zeros = true; + } else { + return null; + } + } + + return ascii.join(""); + } + + //http://stackoverflow.com/questions/140131/convert-a-string-representation-of-a-hex-dump-to-a-byte-array-using-java + function hexToBytes(s) { + var len = s.length; + var data = []; + + for (var i = 0; i < len; i += 2) { + data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + + Character.digit(s.charAt(i+1), 16)); + } + + return data; + } + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/services/rfduino.service.js b/platforms/android/assets/www/app/services/rfduino.service.js new file mode 100644 index 0000000..57cdb4f --- /dev/null +++ b/platforms/android/assets/www/app/services/rfduino.service.js @@ -0,0 +1,87 @@ +(function(angular){ + angular.module('rfduino-service', []) + .service('rfduinoService', rfduinoService); + + rfduinoService.$inject = ['bluetoothHelperService']; + function rfduinoService(bluetoothHelperService) { + // private final static String TAG = RFduinoService.class.getSimpleName(); + var TAG = this.toString(); + var ACTION_CONNECTED = "com.rfduino.ACTION_CONNECTED"; + var ACTION_DISCONNECTED = "com.rfduino.ACTION_DISCONNECTED"; + var ACTION_DATA_AVAILABLE = "com.rfduino.ACTION_DATA_AVAILABLE"; + var EXTRA_DATA = "com.rfduino.EXTRA_DATA"; + + var UUID_SERVICE = bluetoothHelperService.sixteenBitUuid(0x2220); + var UUID_RECEIVE = bluetoothHelperService.sixteenBitUuid(0x2221); + var UUID_SEND = bluetoothHelperService.sixteenBitUuid(0x2222); + var UUID_DISCONNECT = bluetoothHelperService.sixteenBitUuid(0x2223); + var UUID_CLIENT_CONFIGURATION = bluetoothHelperService.sixteenBitUuid(0x2902); + + var GattCallbacks = { + onConnectionStateChange : function(gatt, status, newState) { + if (newState == BluetoothProfile.STATE_CONNECTED) { + Log.i(TAG, "Connected to RFduino."); + Log.i(TAG, "Attempting to start service discovery:" + mBluetoothGatt.discoverServices()); + } else if (newState == BluetoothProfile.STATE_DISCONNECTED) { + Log.i(TAG, "Disconnected from RFduino."); + broadcastUpdate(ACTION_DISCONNECTED); + } + }, + onServicesDiscovered : function(gatt, status) { + if (status == BluetoothGatt.GATT_SUCCESS) { + mBluetoothGattService = gatt.getService(UUID_SERVICE); + + if (mBluetoothGattService == null) { + Log.e(TAG, "RFduino GATT service not found!"); + return; + } + + BluetoothGattCharacteristic receiveCharacteristic = mBluetoothGattService.getCharacteristic(UUID_RECEIVE); + if (receiveCharacteristic != null) { + BluetoothGattDescriptor receiveConfigDescriptor = receiveCharacteristic.getDescriptor(UUID_CLIENT_CONFIGURATION); + + if (receiveConfigDescriptor != null) { + gatt.setCharacteristicNotification(receiveCharacteristic, true); + + receiveConfigDescriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); + gatt.writeDescriptor(receiveConfigDescriptor); + } + else { + Log.e(TAG, "RFduino receive config descriptor not found!"); + } + + } + else { + Log.e(TAG, "RFduino receive characteristic not found!"); + } + + broadcastUpdate(ACTION_CONNECTED); + } + else { + Log.w(TAG, "onServicesDiscovered received: " + status); + } + }, + onCharacteristicRead : function(gatt, characteristic, status) { + if (status == BluetoothGatt.GATT_SUCCESS) { + broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic); + } + }, + onCharacteristicChanged : function(gatt, characteristic) { + broadcastUpdate(ACTION_DATA_AVAILABLE, characteristic); + } + }; + + function broadcastUpdate(action) { + final Intent intent = new Intent(action); + sendBroadcast(intent, Manifest.permission.BLUETOOTH); + } + + function broadcastUpdate(action, characteristic) { + if (UUID_RECEIVE.equals(characteristic.getUuid())) { + final Intent intent = new Intent(action); + intent.putExtra(EXTRA_DATA, characteristic.getValue()); + sendBroadcast(intent, Manifest.permission.BLUETOOTH); + } + } + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/services/settings.service.js b/platforms/android/assets/www/app/services/settings.service.js new file mode 100644 index 0000000..33934e2 --- /dev/null +++ b/platforms/android/assets/www/app/services/settings.service.js @@ -0,0 +1,84 @@ +(function(angular){ + angular.module('settings-service', []) + .service('settingsService', settingsService); + + settingsService.$inject = ['$q', '$timeout']; + function settingsService($q, $timeout) { + /* Connect to DB for user settings */ + var db = new PouchDB('obbSettings'); + + var settings = { + "units" : "Lbs", + "devMode" : 2 + }; + + var service = { + initializeSettings : function() { + initializeSettings(); + }, + getSetting : function(key) { + return get(key); + }, + setSetting : function(key, value) { + set(key, value); + } + }; + + return service; + + function initializeSettings() { + /** + * Check if user settings have been setup + * @success => Sync Settings + * @failure => Create User Settings Doc + */ + + db.get('userSettings') + .then(function(userSettings) { + settings.units = userSettings.units; + }) + .catch(function(error) { + db.put({ + _id : "userSettings", + title : "User Settings", + "units" : "Lbs" + }) + .then(function(response) { + console.log("Successfully created default user settings!"); + }) + .catch(function(error) { + console.log(error); + }); + }); + } + + function get(key) { + return settings[key]; + } + + function set(key, value) { + if (settings[key]) { + settings[key] = value; + + db.get('userSettings') + .then(function(userSettings) { + return db.put({ + _id : "userSettings", + _rev : userSettings._rev, + title : "User Settings", + "units" : value + }) + .then(function(response) { + console.log("Successfully updated user setting!"); + }) + .catch(function(error) { + console.log(error); + }); + }) + .catch(function(error) { + console.log(error); + }); + } + } + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/settings/settings.controller.js b/platforms/android/assets/www/app/settings/settings.controller.js new file mode 100644 index 0000000..97ac9e8 --- /dev/null +++ b/platforms/android/assets/www/app/settings/settings.controller.js @@ -0,0 +1,118 @@ +(function(angular) { + angular + .module('settings') + .controller('SettingsController', SettingsController); + + SettingsController.$inject = ['$scope', '$timeout', 'settingsService', 'bluetoothService']; + function SettingsController($scope, $timeout, settingsService, bluetoothService) { + var vm = this; + + vm.bluetoothBtnText = "Enable Bluetooth"; + vm.scanBtnText = "Scan Devices" + vm.disableBTBtn = false; + vm.disableScanBtn = false; + + // Default value + // Will have to eventually save user prefs +// vm.units = settingsService.getSetting("units"); + + vm.set = set; + vm.enableBluetooth = enableBluetooth; + vm.btEnabled = false; + + vm.deviceConnected = false; + vm.scanning = false; +// vm.pairing = false; + vm.scanDevices = scanDevices; + vm.devicesFound = devicesFound; + vm.pairDevice = pairWithDevice; + vm.unpairedDevices = []; + + vm.deviceName = function() { return getDeviceInfo('name'); }; + vm.deviceAddress = function() { return getDeviceInfo('address'); }; + + /* + * Internal Methods + */ + function set(setting) { + settingsService.setSetting(setting, vm.units); + } + + function enableBluetooth() { + vm.bluetoothBtnText = "Enabling Bluetooth..."; + vm.disableBTBtn = true; + + $timeout(function() { + bluetoothService.enable() + .then(function() { + vm.bluetoothBtnText = "Bluetooth Enabled"; + vm.btEnabled = true; + }, + function(reason) { + vm.bluetoothBtnText = "Enable Bluetooth"; + vm.disableBTBtn = false; + }); + }, 2000); + } + + function scanDevices() { + vm.unpairedDevices = []; + + vm.scanBtnText = "Scanning..."; + vm.disableScanBtn = true; + vm.scanning = true; + + $timeout(function() { + bluetoothService.scanDevices() + .then(function(devices) { + vm.scanBtnText = "Scan Devices"; + vm.disableScanBtn = false; + vm.scanning = false; + + vm.unpairedDevices = devices; + }, + function(reason) { + vm.scanBtnText = "Scan Devices"; + vm.disableScanBtn = false; + vm.scanning = false; + }); + }, 2000); + } + + function devicesFound() { + return vm.unpairedDevices && vm.unpairedDevices.length > 0; + } + + function pairWithDevice(device) { + vm.pairing = "indeterminate"; + + $timeout(function() { + bluetoothService.connect(device) + .then(function(response) { + vm.deviceConnected = true; + delete vm.pairing; + }, + function(reason) { + vm.deviceConnected = false; + delete vm.pairing; + }); + }, 2000); + } + + function getDeviceInfo(property) { + return bluetoothService.getConnectedDevice()[property]; + } + + $scope.$on('syncSettings', function(params) { + vm.units = settingsService.getSetting("units"); + }); + + $scope.$on('enableBluetooth', function(params) { + enableBluetooth(); + }); + + $scope.$on('scanDevices', function(params) { + scanDevices(); + }); + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/settings/settings.module.js b/platforms/android/assets/www/app/settings/settings.module.js new file mode 100644 index 0000000..b89293d --- /dev/null +++ b/platforms/android/assets/www/app/settings/settings.module.js @@ -0,0 +1,3 @@ +(function(angular){ + angular.module('settings', []); +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/settings/tab-settings.html b/platforms/android/assets/www/app/settings/tab-settings.html new file mode 100644 index 0000000..20909c2 --- /dev/null +++ b/platforms/android/assets/www/app/settings/tab-settings.html @@ -0,0 +1,63 @@ + +
+ Bluetooth & Device Settings + + + + {{ settingsCtrl.bluetoothBtnText }} + + + + + + {{ settingsCtrl.scanBtnText }} + + + + + + +
+ +
+ Discovered Devices + + +

{{ device.name }}

+ +
+
+ +
+ Paired Device + + +

{{ settingsCtrl.deviceName() }}

+ +
+
+ + + Generic Settings + + + + + + Pounds (Lbs) + Kilograms (Kg) + + + + +
+ + +
+
diff --git a/platforms/android/assets/www/app/shell/tab.controller.js b/platforms/android/assets/www/app/shell/tab.controller.js new file mode 100644 index 0000000..9364fe7 --- /dev/null +++ b/platforms/android/assets/www/app/shell/tab.controller.js @@ -0,0 +1,30 @@ +(function(angular) { + angular + .module('shell') + .controller('TabController', TabController); + + TabController.$inject = ['$scope']; + function TabController($scope) { + var vm = this; + + vm.selectedIndex = 0; + + vm.enableBluetooth = function() { + vm.selectedIndex = 2; + $scope.$broadcast('enableBluetooth', {}); + }; + + vm.scanDevices = function() { + vm.selectedIndex = 2; + $scope.$broadcast('scanDevices', {}); + }; + + vm.checkConnection = function() { + $scope.$broadcast('checkConnectionStatus', {}); + }; + + vm.syncSettings = function() { + $scope.$broadcast('syncSettings', {}); + }; + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/shell/tab.module.js b/platforms/android/assets/www/app/shell/tab.module.js new file mode 100644 index 0000000..b558db5 --- /dev/null +++ b/platforms/android/assets/www/app/shell/tab.module.js @@ -0,0 +1,3 @@ +(function(angular){ + angular.module('shell', []); +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/shell/tabs.html b/platforms/android/assets/www/app/shell/tabs.html new file mode 100644 index 0000000..bd0d8da --- /dev/null +++ b/platforms/android/assets/www/app/shell/tabs.html @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/modal/set-info-modal.tmpl.html b/platforms/android/assets/www/app/workout/modal/set-info-modal.tmpl.html new file mode 100644 index 0000000..3360da4 --- /dev/null +++ b/platforms/android/assets/www/app/workout/modal/set-info-modal.tmpl.html @@ -0,0 +1,56 @@ + +
+ +
+ +
+ + +
+ +
+ + +
+ + RPE + +
+ + + + + +
+ {{ setCtrl.set.rpe }} +
+ + + + + +
+ +
+ + + Done + +
+
+
+
\ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/modal/set-info.controller.js b/platforms/android/assets/www/app/workout/modal/set-info.controller.js new file mode 100644 index 0000000..d58c7b3 --- /dev/null +++ b/platforms/android/assets/www/app/workout/modal/set-info.controller.js @@ -0,0 +1,39 @@ +(function(angular) { + angular + .module('workout') + .controller('SetInformationController', SetInformationController); + + SetInformationController.$inject = ['$scope', '$mdDialog']; + function SetInformationController($scope, $mdDialog) { + var vm = this; + + if (vm.set.infoEntered) { + $scope.exerciseName = vm.set.exerciseName ? vm.set.exerciseName : ''; + $scope.weight = vm.set.weight ? vm.set.weight : ''; + } + + vm.reduceRPE = function() { + vm.set.rpe--; + $scope.rpeTouched = true; + }; + + vm.increaseRPE = function() { + vm.set.rpe++; + $scope.rpeTouched = true; + }; + + vm.enterSetInfo = function() { + vm.set.infoEntered = true; + if ($scope.setInfo.$dirty) { + vm.set.exerciseName = $scope.setInfo.exercise.$dirty ? $scope.exerciseName : vm.exercisePlaceholder; + vm.set.weight = $scope.setInfo.weight.$dirty ? $scope.weight : vm.weightPlaceholder; + } + else { + vm.set.weight = vm.weightPlaceholder; + vm.set.exerciseName = vm.exercisePlaceholder; + } + + $mdDialog.hide(); + }; + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/tab-workout.html b/platforms/android/assets/www/app/workout/tab-workout.html new file mode 100644 index 0000000..ba1def9 --- /dev/null +++ b/platforms/android/assets/www/app/workout/tab-workout.html @@ -0,0 +1,33 @@ + + + +
+
+ + + +
+
+ + + +
+
+ + + + +
diff --git a/platforms/android/assets/www/app/workout/templates/bluetooth-disabled.tmpl.html b/platforms/android/assets/www/app/workout/templates/bluetooth-disabled.tmpl.html new file mode 100644 index 0000000..a464883 --- /dev/null +++ b/platforms/android/assets/www/app/workout/templates/bluetooth-disabled.tmpl.html @@ -0,0 +1,5 @@ +

+ Bluetooth is not enabled on this device. +

+ +Enable \ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/templates/bluetooth-disconnected.tmpl.html b/platforms/android/assets/www/app/workout/templates/bluetooth-disconnected.tmpl.html new file mode 100644 index 0000000..69d196e --- /dev/null +++ b/platforms/android/assets/www/app/workout/templates/bluetooth-disconnected.tmpl.html @@ -0,0 +1,5 @@ +

+ OpenBarbell device is not paired with phone. +

+ +Scan for Device \ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/templates/waiting.tmpl.html b/platforms/android/assets/www/app/workout/templates/waiting.tmpl.html new file mode 100644 index 0000000..6f2a2b7 --- /dev/null +++ b/platforms/android/assets/www/app/workout/templates/waiting.tmpl.html @@ -0,0 +1,12 @@ + + + +

+ Start lifting! OpenBarbell is listening
for rep data. +

+ +

+ Make sure your device is turned on
and paired with your phone. +

\ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/templates/workout-card.tmpl.html b/platforms/android/assets/www/app/workout/templates/workout-card.tmpl.html new file mode 100644 index 0000000..c858573 --- /dev/null +++ b/platforms/android/assets/www/app/workout/templates/workout-card.tmpl.html @@ -0,0 +1,26 @@ + + {{set.exerciseName}} + + + Done + + + + {{workoutCtrl.units()}} {{set.infoEntered ? set.weight : '___'}} +
+ RPE {{set.infoEntered ? set.rpe : '___'}} +
+ +
+

+ {{rep.velocity}} +

+
+
diff --git a/platforms/android/assets/www/app/workout/templates/workout.initialization.js b/platforms/android/assets/www/app/workout/templates/workout.initialization.js new file mode 100644 index 0000000..dabdca0 --- /dev/null +++ b/platforms/android/assets/www/app/workout/templates/workout.initialization.js @@ -0,0 +1,9 @@ +(function(angular) { + angular + .module('workout') + .run(runBlock); + + runBlock.$inject = ['$scope', '$timeout', '$document', '$mdDialog', 'bluetoothService', 'settingsService']; + function runBlock($scope, $timeout, $document, $mdDialog, bluetoothService, settingsService) { + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/workout.controller.js b/platforms/android/assets/www/app/workout/workout.controller.js new file mode 100644 index 0000000..ec67f29 --- /dev/null +++ b/platforms/android/assets/www/app/workout/workout.controller.js @@ -0,0 +1,160 @@ +(function(angular) { + angular + .module('workout') + .controller('WorkoutController', WorkoutController); + + WorkoutController.$inject = ['$scope', '$timeout', '$document', '$mdDialog', 'bluetoothService', 'settingsService']; + function WorkoutController($scope, $timeout, $document, $mdDialog, bluetoothService, settingsService) { + var vm = this; + +// vm.waiting = waitingForSet; +// vm.waiting = checkBluetoothEnabled; + vm.waiting = false; + vm.ready = false; + vm.getSets = getSets; + vm.endSet = stopSimulation; + vm.startSimulatedSet = startSimulatedSet; + vm.units = getUnits; + + vm.enterSetInfo = enterSetInformation; + + /* + * Internal Methods + */ + var currentWorkout = {}; + currentWorkout.sets = []; + + var setInProgress = false; + var lastExerciseName = ''; + var lastWeight = ''; + + var maxRandLimit = 0.90; + var minRandLimit = 0.10; + + function waitingForSet() { +// vm.waiting = true; +// checkBluetoothEnabled(); + return currentWorkout.sets.length === 0; + } + + $scope.$on('checkConnectionStatus', function(params) { + checkBluetoothEnabled(); + checkDeviceConnected(); + }); + + /* + * Initial check if bluetooth enabled + */ + function checkBluetoothEnabled() { +// vm.waiting = false; +// checkingBluetooth = true; + + bluetoothService.isEnabled() + .then(function(response) { + vm.waiting = currentWorkout.sets.length === 0; + }, + function(reason) { + vm.waiting = false; + }); + } + + function checkDeviceConnected() { +// vm.ready = false; + + bluetoothService.isConnected() + .then(function(response) { + vm.ready = true; + }, + function(reason) { + console.log(reason); + }); + } + + function getUnits() { + return settingsService.getSetting("units"); + } + + function getSets() { + if (!waitingForSet()) { + return currentWorkout.sets; + } + } + + function getCurrentSet() { + if (!waitingForSet()) { + return currentWorkout.sets[currentWorkout.sets.length - 1]; + } + } + + function startSimulatedSet($last) { + //TODO remove, just for testing + if (vm.waiting) { vm.waiting = false; } + + if ($last === undefined || $last === true) { + setInProgress = true; + + var setName = "Current Set" + currentWorkout.sets.push({ + complete : false, + exerciseName : setName, + reps : [] + }); + + getCurrentSet().reps.push({ + velocity : (minRandLimit + (Math.random() * (maxRandLimit - minRandLimit))).toFixed(2) + }); + simulateRep(); + } + } + + function simulateRep() { + if (getCurrentSet().reps.length < 5) { + $timeout(function() { + if (setInProgress) { + getCurrentSet().reps.push({ + velocity : (minRandLimit + (Math.random() * (maxRandLimit - minRandLimit))).toFixed(2) + }); + + simulateRep(); + } + }, 1000); + } + } + + function stopSimulation() { + setInProgress = false; + + getCurrentSet().complete = true; + getCurrentSet().rpe = 5; + getCurrentSet().exerciseName = "Set " + currentWorkout.sets.length; + } + + function enterSetInformation(set, $index, $event) { + $mdDialog.show({ + parent: angular.element(document.body), + templateUrl: 'app/workout/modal/set-info-modal.tmpl.html', + targetEvent: $event, + clickOutsideToClose: false, + autoWrap: false, + controller: 'SetInformationController', + controllerAs: 'setCtrl', + locals: { + set : set, + exercisePlaceholder : lastExerciseName, + weightPlaceholder : lastWeight + }, + bindToController: true + }) + .then(function() { + lastExerciseName = set.exerciseName; + lastWeight = set.weight; + }, function() { + //You cancelled the dialog + }); + } + + /* Check bluetooth enabled once loaded */ + checkBluetoothEnabled(); + checkDeviceConnected(); + }; +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/app/workout/workout.module.js b/platforms/android/assets/www/app/workout/workout.module.js new file mode 100644 index 0000000..728ae3a --- /dev/null +++ b/platforms/android/assets/www/app/workout/workout.module.js @@ -0,0 +1,3 @@ +(function(angular){ + angular.module('workout', []); +})(angular); \ No newline at end of file diff --git a/platforms/android/assets/www/cordova-js-src/android/nativeapiprovider.js b/platforms/android/assets/www/cordova-js-src/android/nativeapiprovider.js new file mode 100644 index 0000000..2e9aa67 --- /dev/null +++ b/platforms/android/assets/www/cordova-js-src/android/nativeapiprovider.js @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +*/ + +/** + * Exports the ExposedJsApi.java object if available, otherwise exports the PromptBasedNativeApi. + */ + +var nativeApi = this._cordovaNative || require('cordova/android/promptbasednativeapi'); +var currentApi = nativeApi; + +module.exports = { + get: function() { return currentApi; }, + setPreferPrompt: function(value) { + currentApi = value ? require('cordova/android/promptbasednativeapi') : nativeApi; + }, + // Used only by tests. + set: function(value) { + currentApi = value; + } +}; diff --git a/platforms/android/assets/www/cordova-js-src/android/promptbasednativeapi.js b/platforms/android/assets/www/cordova-js-src/android/promptbasednativeapi.js new file mode 100644 index 0000000..f7fb6bc --- /dev/null +++ b/platforms/android/assets/www/cordova-js-src/android/promptbasednativeapi.js @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +*/ + +/** + * Implements the API of ExposedJsApi.java, but uses prompt() to communicate. + * This is used pre-JellyBean, where addJavascriptInterface() is disabled. + */ + +module.exports = { + exec: function(bridgeSecret, service, action, callbackId, argsJson) { + return prompt(argsJson, 'gap:'+JSON.stringify([bridgeSecret, service, action, callbackId])); + }, + setNativeToJsBridgeMode: function(bridgeSecret, value) { + prompt(value, 'gap_bridge_mode:' + bridgeSecret); + }, + retrieveJsMessages: function(bridgeSecret, fromOnlineEvent) { + return prompt(+fromOnlineEvent, 'gap_poll:' + bridgeSecret); + } +}; diff --git a/platforms/android/assets/www/cordova-js-src/exec.js b/platforms/android/assets/www/cordova-js-src/exec.js new file mode 100644 index 0000000..fa8b41b --- /dev/null +++ b/platforms/android/assets/www/cordova-js-src/exec.js @@ -0,0 +1,283 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * Execute a cordova command. It is up to the native side whether this action + * is synchronous or asynchronous. The native side can return: + * Synchronous: PluginResult object as a JSON string + * Asynchronous: Empty string "" + * If async, the native side will cordova.callbackSuccess or cordova.callbackError, + * depending upon the result of the action. + * + * @param {Function} success The success callback + * @param {Function} fail The fail callback + * @param {String} service The name of the service to use + * @param {String} action Action to be run in cordova + * @param {String[]} [args] Zero or more arguments to pass to the method + */ +var cordova = require('cordova'), + nativeApiProvider = require('cordova/android/nativeapiprovider'), + utils = require('cordova/utils'), + base64 = require('cordova/base64'), + channel = require('cordova/channel'), + jsToNativeModes = { + PROMPT: 0, + JS_OBJECT: 1 + }, + nativeToJsModes = { + // Polls for messages using the JS->Native bridge. + POLLING: 0, + // For LOAD_URL to be viable, it would need to have a work-around for + // the bug where the soft-keyboard gets dismissed when a message is sent. + LOAD_URL: 1, + // For the ONLINE_EVENT to be viable, it would need to intercept all event + // listeners (both through addEventListener and window.ononline) as well + // as set the navigator property itself. + ONLINE_EVENT: 2 + }, + jsToNativeBridgeMode, // Set lazily. + nativeToJsBridgeMode = nativeToJsModes.ONLINE_EVENT, + pollEnabled = false, + bridgeSecret = -1; + +var messagesFromNative = []; +var isProcessing = false; +var resolvedPromise = typeof Promise == 'undefined' ? null : Promise.resolve(); +var nextTick = resolvedPromise ? function(fn) { resolvedPromise.then(fn); } : function(fn) { setTimeout(fn); }; + +function androidExec(success, fail, service, action, args) { + if (bridgeSecret < 0) { + // If we ever catch this firing, we'll need to queue up exec()s + // and fire them once we get a secret. For now, I don't think + // it's possible for exec() to be called since plugins are parsed but + // not run until until after onNativeReady. + throw new Error('exec() called without bridgeSecret'); + } + // Set default bridge modes if they have not already been set. + // By default, we use the failsafe, since addJavascriptInterface breaks too often + if (jsToNativeBridgeMode === undefined) { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } + + // Process any ArrayBuffers in the args into a string. + for (var i = 0; i < args.length; i++) { + if (utils.typeName(args[i]) == 'ArrayBuffer') { + args[i] = base64.fromArrayBuffer(args[i]); + } + } + + var callbackId = service + cordova.callbackId++, + argsJson = JSON.stringify(args); + + if (success || fail) { + cordova.callbacks[callbackId] = {success:success, fail:fail}; + } + + var msgs = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson); + // If argsJson was received by Java as null, try again with the PROMPT bridge mode. + // This happens in rare circumstances, such as when certain Unicode characters are passed over the bridge on a Galaxy S2. See CB-2666. + if (jsToNativeBridgeMode == jsToNativeModes.JS_OBJECT && msgs === "@Null arguments.") { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.PROMPT); + androidExec(success, fail, service, action, args); + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } else if (msgs) { + messagesFromNative.push(msgs); + // Always process async to avoid exceptions messing up stack. + nextTick(processMessages); + } +} + +androidExec.init = function() { + bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode); + channel.onNativeReady.fire(); +}; + +function pollOnceFromOnlineEvent() { + pollOnce(true); +} + +function pollOnce(opt_fromOnlineEvent) { + if (bridgeSecret < 0) { + // This can happen when the NativeToJsMessageQueue resets the online state on page transitions. + // We know there's nothing to retrieve, so no need to poll. + return; + } + var msgs = nativeApiProvider.get().retrieveJsMessages(bridgeSecret, !!opt_fromOnlineEvent); + if (msgs) { + messagesFromNative.push(msgs); + // Process sync since we know we're already top-of-stack. + processMessages(); + } +} + +function pollingTimerFunc() { + if (pollEnabled) { + pollOnce(); + setTimeout(pollingTimerFunc, 50); + } +} + +function hookOnlineApis() { + function proxyEvent(e) { + cordova.fireWindowEvent(e.type); + } + // The network module takes care of firing online and offline events. + // It currently fires them only on document though, so we bridge them + // to window here (while first listening for exec()-releated online/offline + // events). + window.addEventListener('online', pollOnceFromOnlineEvent, false); + window.addEventListener('offline', pollOnceFromOnlineEvent, false); + cordova.addWindowEventHandler('online'); + cordova.addWindowEventHandler('offline'); + document.addEventListener('online', proxyEvent, false); + document.addEventListener('offline', proxyEvent, false); +} + +hookOnlineApis(); + +androidExec.jsToNativeModes = jsToNativeModes; +androidExec.nativeToJsModes = nativeToJsModes; + +androidExec.setJsToNativeBridgeMode = function(mode) { + if (mode == jsToNativeModes.JS_OBJECT && !window._cordovaNative) { + mode = jsToNativeModes.PROMPT; + } + nativeApiProvider.setPreferPrompt(mode == jsToNativeModes.PROMPT); + jsToNativeBridgeMode = mode; +}; + +androidExec.setNativeToJsBridgeMode = function(mode) { + if (mode == nativeToJsBridgeMode) { + return; + } + if (nativeToJsBridgeMode == nativeToJsModes.POLLING) { + pollEnabled = false; + } + + nativeToJsBridgeMode = mode; + // Tell the native side to switch modes. + // Otherwise, it will be set by androidExec.init() + if (bridgeSecret >= 0) { + nativeApiProvider.get().setNativeToJsBridgeMode(bridgeSecret, mode); + } + + if (mode == nativeToJsModes.POLLING) { + pollEnabled = true; + setTimeout(pollingTimerFunc, 1); + } +}; + +function buildPayload(payload, message) { + var payloadKind = message.charAt(0); + if (payloadKind == 's') { + payload.push(message.slice(1)); + } else if (payloadKind == 't') { + payload.push(true); + } else if (payloadKind == 'f') { + payload.push(false); + } else if (payloadKind == 'N') { + payload.push(null); + } else if (payloadKind == 'n') { + payload.push(+message.slice(1)); + } else if (payloadKind == 'A') { + var data = message.slice(1); + payload.push(base64.toArrayBuffer(data)); + } else if (payloadKind == 'S') { + payload.push(window.atob(message.slice(1))); + } else if (payloadKind == 'M') { + var multipartMessages = message.slice(1); + while (multipartMessages !== "") { + var spaceIdx = multipartMessages.indexOf(' '); + var msgLen = +multipartMessages.slice(0, spaceIdx); + var multipartMessage = multipartMessages.substr(spaceIdx + 1, msgLen); + multipartMessages = multipartMessages.slice(spaceIdx + msgLen + 1); + buildPayload(payload, multipartMessage); + } + } else { + payload.push(JSON.parse(message)); + } +} + +// Processes a single message, as encoded by NativeToJsMessageQueue.java. +function processMessage(message) { + var firstChar = message.charAt(0); + if (firstChar == 'J') { + // This is deprecated on the .java side. It doesn't work with CSP enabled. + eval(message.slice(1)); + } else if (firstChar == 'S' || firstChar == 'F') { + var success = firstChar == 'S'; + var keepCallback = message.charAt(1) == '1'; + var spaceIdx = message.indexOf(' ', 2); + var status = +message.slice(2, spaceIdx); + var nextSpaceIdx = message.indexOf(' ', spaceIdx + 1); + var callbackId = message.slice(spaceIdx + 1, nextSpaceIdx); + var payloadMessage = message.slice(nextSpaceIdx + 1); + var payload = []; + buildPayload(payload, payloadMessage); + cordova.callbackFromNative(callbackId, success, status, payload, keepCallback); + } else { + console.log("processMessage failed: invalid message: " + JSON.stringify(message)); + } +} + +function processMessages() { + // Check for the reentrant case. + if (isProcessing) { + return; + } + if (messagesFromNative.length === 0) { + return; + } + isProcessing = true; + try { + var msg = popMessageFromQueue(); + // The Java side can send a * message to indicate that it + // still has messages waiting to be retrieved. + if (msg == '*' && messagesFromNative.length === 0) { + nextTick(pollOnce); + return; + } + processMessage(msg); + } finally { + isProcessing = false; + if (messagesFromNative.length > 0) { + nextTick(processMessages); + } + } +} + +function popMessageFromQueue() { + var messageBatch = messagesFromNative.shift(); + if (messageBatch == '*') { + return '*'; + } + + var spaceIdx = messageBatch.indexOf(' '); + var msgLen = +messageBatch.slice(0, spaceIdx); + var message = messageBatch.substr(spaceIdx + 1, msgLen); + messageBatch = messageBatch.slice(spaceIdx + msgLen + 1); + if (messageBatch) { + messagesFromNative.unshift(messageBatch); + } + return message; +} + +module.exports = androidExec; diff --git a/platforms/android/assets/www/cordova-js-src/platform.js b/platforms/android/assets/www/cordova-js-src/platform.js new file mode 100644 index 0000000..0706a34 --- /dev/null +++ b/platforms/android/assets/www/cordova-js-src/platform.js @@ -0,0 +1,105 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +module.exports = { + id: 'android', + bootstrap: function() { + var channel = require('cordova/channel'), + cordova = require('cordova'), + exec = require('cordova/exec'), + modulemapper = require('cordova/modulemapper'); + + // Get the shared secret needed to use the bridge. + exec.init(); + + // TODO: Extract this as a proper plugin. + modulemapper.clobbers('cordova/plugin/android/app', 'navigator.app'); + + var APP_PLUGIN_NAME = Number(cordova.platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + + // Inject a listener for the backbutton on the document. + var backButtonChannel = cordova.addDocumentEventHandler('backbutton'); + backButtonChannel.onHasSubscribersChange = function() { + // If we just attached the first handler or detached the last handler, + // let native know we need to override the back button. + exec(null, null, APP_PLUGIN_NAME, "overrideBackbutton", [this.numHandlers == 1]); + }; + + // Add hardware MENU and SEARCH button handlers + cordova.addDocumentEventHandler('menubutton'); + cordova.addDocumentEventHandler('searchbutton'); + + function bindButtonChannel(buttonName) { + // generic button bind used for volumeup/volumedown buttons + var volumeButtonChannel = cordova.addDocumentEventHandler(buttonName + 'button'); + volumeButtonChannel.onHasSubscribersChange = function() { + exec(null, null, APP_PLUGIN_NAME, "overrideButton", [buttonName, this.numHandlers == 1]); + }; + } + // Inject a listener for the volume buttons on the document. + bindButtonChannel('volumeup'); + bindButtonChannel('volumedown'); + + // Let native code know we are all done on the JS side. + // Native code will then un-hide the WebView. + channel.onCordovaReady.subscribe(function() { + exec(onMessageFromNative, null, APP_PLUGIN_NAME, 'messageChannel', []); + exec(null, null, APP_PLUGIN_NAME, "show", []); + }); + } +}; + +function onMessageFromNative(msg) { + var cordova = require('cordova'); + var action = msg.action; + + switch (action) + { + // Button events + case 'backbutton': + case 'menubutton': + case 'searchbutton': + // App life cycle events + case 'pause': + // Volume events + case 'volumedownbutton': + case 'volumeupbutton': + cordova.fireDocumentEvent(action); + break; + case 'resume': + if(arguments.length > 1 && msg.pendingResult) { + if(arguments.length === 2) { + msg.pendingResult.result = arguments[1]; + } else { + // The plugin returned a multipart message + var res = []; + for(var i = 1; i < arguments.length; i++) { + res.push(arguments[i]); + } + msg.pendingResult.result = res; + } + } + cordova.fireDocumentEvent(action, msg); + break; + default: + throw new Error('Unknown event action ' + action); + } +} diff --git a/platforms/android/assets/www/cordova-js-src/plugin/android/app.js b/platforms/android/assets/www/cordova-js-src/plugin/android/app.js new file mode 100644 index 0000000..22cf96e --- /dev/null +++ b/platforms/android/assets/www/cordova-js-src/plugin/android/app.js @@ -0,0 +1,108 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var exec = require('cordova/exec'); +var APP_PLUGIN_NAME = Number(require('cordova').platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + +module.exports = { + /** + * Clear the resource cache. + */ + clearCache:function() { + exec(null, null, APP_PLUGIN_NAME, "clearCache", []); + }, + + /** + * Load the url into the webview or into new browser instance. + * + * @param url The URL to load + * @param props Properties that can be passed in to the activity: + * wait: int => wait msec before loading URL + * loadingDialog: "Title,Message" => display a native loading dialog + * loadUrlTimeoutValue: int => time in msec to wait before triggering a timeout error + * clearHistory: boolean => clear webview history (default=false) + * openExternal: boolean => open in a new browser (default=false) + * + * Example: + * navigator.app.loadUrl("http://server/myapp/index.html", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000}); + */ + loadUrl:function(url, props) { + exec(null, null, APP_PLUGIN_NAME, "loadUrl", [url, props]); + }, + + /** + * Cancel loadUrl that is waiting to be loaded. + */ + cancelLoadUrl:function() { + exec(null, null, APP_PLUGIN_NAME, "cancelLoadUrl", []); + }, + + /** + * Clear web history in this web view. + * Instead of BACK button loading the previous web page, it will exit the app. + */ + clearHistory:function() { + exec(null, null, APP_PLUGIN_NAME, "clearHistory", []); + }, + + /** + * Go to previous page displayed. + * This is the same as pressing the backbutton on Android device. + */ + backHistory:function() { + exec(null, null, APP_PLUGIN_NAME, "backHistory", []); + }, + + /** + * Override the default behavior of the Android back button. + * If overridden, when the back button is pressed, the "backKeyDown" JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "backbutton" event, this is automatically done. + * + * @param override T=override, F=cancel override + */ + overrideBackbutton:function(override) { + exec(null, null, APP_PLUGIN_NAME, "overrideBackbutton", [override]); + }, + + /** + * Override the default behavior of the Android volume button. + * If overridden, when the volume button is pressed, the "volume[up|down]button" + * JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "volume[up|down]button" event, this is automatically done. + * + * @param button volumeup, volumedown + * @param override T=override, F=cancel override + */ + overrideButton:function(button, override) { + exec(null, null, APP_PLUGIN_NAME, "overrideButton", [button, override]); + }, + + /** + * Exit and terminate the application. + */ + exitApp:function() { + return exec(null, null, APP_PLUGIN_NAME, "exitApp", []); + } +}; diff --git a/platforms/android/assets/www/cordova.js b/platforms/android/assets/www/cordova.js new file mode 100644 index 0000000..ece529c --- /dev/null +++ b/platforms/android/assets/www/cordova.js @@ -0,0 +1,2147 @@ +// Platform: android +// ded62dda172755defaf75378ed007dc05730ec22 +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +*/ +;(function() { +var PLATFORM_VERSION_BUILD_LABEL = '5.1.0'; +// file: src/scripts/require.js + +/*jshint -W079 */ +/*jshint -W020 */ + +var require, + define; + +(function () { + var modules = {}, + // Stack of moduleIds currently being built. + requireStack = [], + // Map of module ID -> index into requireStack of modules currently being built. + inProgressModules = {}, + SEPARATOR = "."; + + + + function build(module) { + var factory = module.factory, + localRequire = function (id) { + var resultantId = id; + //Its a relative path, so lop off the last portion and add the id (minus "./") + if (id.charAt(0) === ".") { + resultantId = module.id.slice(0, module.id.lastIndexOf(SEPARATOR)) + SEPARATOR + id.slice(2); + } + return require(resultantId); + }; + module.exports = {}; + delete module.factory; + factory(localRequire, module.exports, module); + return module.exports; + } + + require = function (id) { + if (!modules[id]) { + throw "module " + id + " not found"; + } else if (id in inProgressModules) { + var cycle = requireStack.slice(inProgressModules[id]).join('->') + '->' + id; + throw "Cycle in require graph: " + cycle; + } + if (modules[id].factory) { + try { + inProgressModules[id] = requireStack.length; + requireStack.push(id); + return build(modules[id]); + } finally { + delete inProgressModules[id]; + requireStack.pop(); + } + } + return modules[id].exports; + }; + + define = function (id, factory) { + if (modules[id]) { + throw "module " + id + " already defined"; + } + + modules[id] = { + id: id, + factory: factory + }; + }; + + define.remove = function (id) { + delete modules[id]; + }; + + define.moduleMap = modules; +})(); + +//Export for use in node +if (typeof module === "object" && typeof require === "function") { + module.exports.require = require; + module.exports.define = define; +} + +// file: src/cordova.js +define("cordova", function(require, exports, module) { + +// Workaround for Windows 10 in hosted environment case +// http://www.w3.org/html/wg/drafts/html/master/browsers.html#named-access-on-the-window-object +if (window.cordova && !(window.cordova instanceof HTMLElement)) { + throw new Error("cordova already defined"); +} + + +var channel = require('cordova/channel'); +var platform = require('cordova/platform'); + + +/** + * Intercept calls to addEventListener + removeEventListener and handle deviceready, + * resume, and pause events. + */ +var m_document_addEventListener = document.addEventListener; +var m_document_removeEventListener = document.removeEventListener; +var m_window_addEventListener = window.addEventListener; +var m_window_removeEventListener = window.removeEventListener; + +/** + * Houses custom event handlers to intercept on document + window event listeners. + */ +var documentEventHandlers = {}, + windowEventHandlers = {}; + +document.addEventListener = function(evt, handler, capture) { + var e = evt.toLowerCase(); + if (typeof documentEventHandlers[e] != 'undefined') { + documentEventHandlers[e].subscribe(handler); + } else { + m_document_addEventListener.call(document, evt, handler, capture); + } +}; + +window.addEventListener = function(evt, handler, capture) { + var e = evt.toLowerCase(); + if (typeof windowEventHandlers[e] != 'undefined') { + windowEventHandlers[e].subscribe(handler); + } else { + m_window_addEventListener.call(window, evt, handler, capture); + } +}; + +document.removeEventListener = function(evt, handler, capture) { + var e = evt.toLowerCase(); + // If unsubscribing from an event that is handled by a plugin + if (typeof documentEventHandlers[e] != "undefined") { + documentEventHandlers[e].unsubscribe(handler); + } else { + m_document_removeEventListener.call(document, evt, handler, capture); + } +}; + +window.removeEventListener = function(evt, handler, capture) { + var e = evt.toLowerCase(); + // If unsubscribing from an event that is handled by a plugin + if (typeof windowEventHandlers[e] != "undefined") { + windowEventHandlers[e].unsubscribe(handler); + } else { + m_window_removeEventListener.call(window, evt, handler, capture); + } +}; + +function createEvent(type, data) { + var event = document.createEvent('Events'); + event.initEvent(type, false, false); + if (data) { + for (var i in data) { + if (data.hasOwnProperty(i)) { + event[i] = data[i]; + } + } + } + return event; +} + + +var cordova = { + define:define, + require:require, + version:PLATFORM_VERSION_BUILD_LABEL, + platformVersion:PLATFORM_VERSION_BUILD_LABEL, + platformId:platform.id, + /** + * Methods to add/remove your own addEventListener hijacking on document + window. + */ + addWindowEventHandler:function(event) { + return (windowEventHandlers[event] = channel.create(event)); + }, + addStickyDocumentEventHandler:function(event) { + return (documentEventHandlers[event] = channel.createSticky(event)); + }, + addDocumentEventHandler:function(event) { + return (documentEventHandlers[event] = channel.create(event)); + }, + removeWindowEventHandler:function(event) { + delete windowEventHandlers[event]; + }, + removeDocumentEventHandler:function(event) { + delete documentEventHandlers[event]; + }, + /** + * Retrieve original event handlers that were replaced by Cordova + * + * @return object + */ + getOriginalHandlers: function() { + return {'document': {'addEventListener': m_document_addEventListener, 'removeEventListener': m_document_removeEventListener}, + 'window': {'addEventListener': m_window_addEventListener, 'removeEventListener': m_window_removeEventListener}}; + }, + /** + * Method to fire event from native code + * bNoDetach is required for events which cause an exception which needs to be caught in native code + */ + fireDocumentEvent: function(type, data, bNoDetach) { + var evt = createEvent(type, data); + if (typeof documentEventHandlers[type] != 'undefined') { + if( bNoDetach ) { + documentEventHandlers[type].fire(evt); + } + else { + setTimeout(function() { + // Fire deviceready on listeners that were registered before cordova.js was loaded. + if (type == 'deviceready') { + document.dispatchEvent(evt); + } + documentEventHandlers[type].fire(evt); + }, 0); + } + } else { + document.dispatchEvent(evt); + } + }, + fireWindowEvent: function(type, data) { + var evt = createEvent(type,data); + if (typeof windowEventHandlers[type] != 'undefined') { + setTimeout(function() { + windowEventHandlers[type].fire(evt); + }, 0); + } else { + window.dispatchEvent(evt); + } + }, + + /** + * Plugin callback mechanism. + */ + // Randomize the starting callbackId to avoid collisions after refreshing or navigating. + // This way, it's very unlikely that any new callback would get the same callbackId as an old callback. + callbackId: Math.floor(Math.random() * 2000000000), + callbacks: {}, + callbackStatus: { + NO_RESULT: 0, + OK: 1, + CLASS_NOT_FOUND_EXCEPTION: 2, + ILLEGAL_ACCESS_EXCEPTION: 3, + INSTANTIATION_EXCEPTION: 4, + MALFORMED_URL_EXCEPTION: 5, + IO_EXCEPTION: 6, + INVALID_ACTION: 7, + JSON_EXCEPTION: 8, + ERROR: 9 + }, + + /** + * Called by native code when returning successful result from an action. + */ + callbackSuccess: function(callbackId, args) { + cordova.callbackFromNative(callbackId, true, args.status, [args.message], args.keepCallback); + }, + + /** + * Called by native code when returning error result from an action. + */ + callbackError: function(callbackId, args) { + // TODO: Deprecate callbackSuccess and callbackError in favour of callbackFromNative. + // Derive success from status. + cordova.callbackFromNative(callbackId, false, args.status, [args.message], args.keepCallback); + }, + + /** + * Called by native code when returning the result from an action. + */ + callbackFromNative: function(callbackId, isSuccess, status, args, keepCallback) { + try { + var callback = cordova.callbacks[callbackId]; + if (callback) { + if (isSuccess && status == cordova.callbackStatus.OK) { + callback.success && callback.success.apply(null, args); + } else if (!isSuccess) { + callback.fail && callback.fail.apply(null, args); + } + /* + else + Note, this case is intentionally not caught. + this can happen if isSuccess is true, but callbackStatus is NO_RESULT + which is used to remove a callback from the list without calling the callbacks + typically keepCallback is false in this case + */ + // Clear callback if not expecting any more results + if (!keepCallback) { + delete cordova.callbacks[callbackId]; + } + } + } + catch (err) { + var msg = "Error in " + (isSuccess ? "Success" : "Error") + " callbackId: " + callbackId + " : " + err; + console && console.log && console.log(msg); + cordova.fireWindowEvent("cordovacallbackerror", { 'message': msg }); + throw err; + } + }, + addConstructor: function(func) { + channel.onCordovaReady.subscribe(function() { + try { + func(); + } catch(e) { + console.log("Failed to run constructor: " + e); + } + }); + } +}; + + +module.exports = cordova; + +}); + +// file: /Users/steveng/repo/cordova/cordova-android/cordova-js-src/android/nativeapiprovider.js +define("cordova/android/nativeapiprovider", function(require, exports, module) { + +/** + * Exports the ExposedJsApi.java object if available, otherwise exports the PromptBasedNativeApi. + */ + +var nativeApi = this._cordovaNative || require('cordova/android/promptbasednativeapi'); +var currentApi = nativeApi; + +module.exports = { + get: function() { return currentApi; }, + setPreferPrompt: function(value) { + currentApi = value ? require('cordova/android/promptbasednativeapi') : nativeApi; + }, + // Used only by tests. + set: function(value) { + currentApi = value; + } +}; + +}); + +// file: /Users/steveng/repo/cordova/cordova-android/cordova-js-src/android/promptbasednativeapi.js +define("cordova/android/promptbasednativeapi", function(require, exports, module) { + +/** + * Implements the API of ExposedJsApi.java, but uses prompt() to communicate. + * This is used pre-JellyBean, where addJavascriptInterface() is disabled. + */ + +module.exports = { + exec: function(bridgeSecret, service, action, callbackId, argsJson) { + return prompt(argsJson, 'gap:'+JSON.stringify([bridgeSecret, service, action, callbackId])); + }, + setNativeToJsBridgeMode: function(bridgeSecret, value) { + prompt(value, 'gap_bridge_mode:' + bridgeSecret); + }, + retrieveJsMessages: function(bridgeSecret, fromOnlineEvent) { + return prompt(+fromOnlineEvent, 'gap_poll:' + bridgeSecret); + } +}; + +}); + +// file: src/common/argscheck.js +define("cordova/argscheck", function(require, exports, module) { + +var utils = require('cordova/utils'); + +var moduleExports = module.exports; + +var typeMap = { + 'A': 'Array', + 'D': 'Date', + 'N': 'Number', + 'S': 'String', + 'F': 'Function', + 'O': 'Object' +}; + +function extractParamName(callee, argIndex) { + return (/.*?\((.*?)\)/).exec(callee)[1].split(', ')[argIndex]; +} + +function checkArgs(spec, functionName, args, opt_callee) { + if (!moduleExports.enableChecks) { + return; + } + var errMsg = null; + var typeName; + for (var i = 0; i < spec.length; ++i) { + var c = spec.charAt(i), + cUpper = c.toUpperCase(), + arg = args[i]; + // Asterix means allow anything. + if (c == '*') { + continue; + } + typeName = utils.typeName(arg); + if ((arg === null || arg === undefined) && c == cUpper) { + continue; + } + if (typeName != typeMap[cUpper]) { + errMsg = 'Expected ' + typeMap[cUpper]; + break; + } + } + if (errMsg) { + errMsg += ', but got ' + typeName + '.'; + errMsg = 'Wrong type for parameter "' + extractParamName(opt_callee || args.callee, i) + '" of ' + functionName + ': ' + errMsg; + // Don't log when running unit tests. + if (typeof jasmine == 'undefined') { + console.error(errMsg); + } + throw TypeError(errMsg); + } +} + +function getValue(value, defaultValue) { + return value === undefined ? defaultValue : value; +} + +moduleExports.checkArgs = checkArgs; +moduleExports.getValue = getValue; +moduleExports.enableChecks = true; + + +}); + +// file: src/common/base64.js +define("cordova/base64", function(require, exports, module) { + +var base64 = exports; + +base64.fromArrayBuffer = function(arrayBuffer) { + var array = new Uint8Array(arrayBuffer); + return uint8ToBase64(array); +}; + +base64.toArrayBuffer = function(str) { + var decodedStr = typeof atob != 'undefined' ? atob(str) : new Buffer(str,'base64').toString('binary'); + var arrayBuffer = new ArrayBuffer(decodedStr.length); + var array = new Uint8Array(arrayBuffer); + for (var i=0, len=decodedStr.length; i < len; i++) { + array[i] = decodedStr.charCodeAt(i); + } + return arrayBuffer; +}; + +//------------------------------------------------------------------------------ + +/* This code is based on the performance tests at http://jsperf.com/b64tests + * This 12-bit-at-a-time algorithm was the best performing version on all + * platforms tested. + */ + +var b64_6bit = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var b64_12bit; + +var b64_12bitTable = function() { + b64_12bit = []; + for (var i=0; i<64; i++) { + for (var j=0; j<64; j++) { + b64_12bit[i*64+j] = b64_6bit[i] + b64_6bit[j]; + } + } + b64_12bitTable = function() { return b64_12bit; }; + return b64_12bit; +}; + +function uint8ToBase64(rawData) { + var numBytes = rawData.byteLength; + var output=""; + var segment; + var table = b64_12bitTable(); + for (var i=0;i> 12]; + output += table[segment & 0xfff]; + } + if (numBytes - i == 2) { + segment = (rawData[i] << 16) + (rawData[i+1] << 8); + output += table[segment >> 12]; + output += b64_6bit[(segment & 0xfff) >> 6]; + output += '='; + } else if (numBytes - i == 1) { + segment = (rawData[i] << 16); + output += table[segment >> 12]; + output += '=='; + } + return output; +} + +}); + +// file: src/common/builder.js +define("cordova/builder", function(require, exports, module) { + +var utils = require('cordova/utils'); + +function each(objects, func, context) { + for (var prop in objects) { + if (objects.hasOwnProperty(prop)) { + func.apply(context, [objects[prop], prop]); + } + } +} + +function clobber(obj, key, value) { + exports.replaceHookForTesting(obj, key); + var needsProperty = false; + try { + obj[key] = value; + } catch (e) { + needsProperty = true; + } + // Getters can only be overridden by getters. + if (needsProperty || obj[key] !== value) { + utils.defineGetter(obj, key, function() { + return value; + }); + } +} + +function assignOrWrapInDeprecateGetter(obj, key, value, message) { + if (message) { + utils.defineGetter(obj, key, function() { + console.log(message); + delete obj[key]; + clobber(obj, key, value); + return value; + }); + } else { + clobber(obj, key, value); + } +} + +function include(parent, objects, clobber, merge) { + each(objects, function (obj, key) { + try { + var result = obj.path ? require(obj.path) : {}; + + if (clobber) { + // Clobber if it doesn't exist. + if (typeof parent[key] === 'undefined') { + assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated); + } else if (typeof obj.path !== 'undefined') { + // If merging, merge properties onto parent, otherwise, clobber. + if (merge) { + recursiveMerge(parent[key], result); + } else { + assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated); + } + } + result = parent[key]; + } else { + // Overwrite if not currently defined. + if (typeof parent[key] == 'undefined') { + assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated); + } else { + // Set result to what already exists, so we can build children into it if they exist. + result = parent[key]; + } + } + + if (obj.children) { + include(result, obj.children, clobber, merge); + } + } catch(e) { + utils.alert('Exception building Cordova JS globals: ' + e + ' for key "' + key + '"'); + } + }); +} + +/** + * Merge properties from one object onto another recursively. Properties from + * the src object will overwrite existing target property. + * + * @param target Object to merge properties into. + * @param src Object to merge properties from. + */ +function recursiveMerge(target, src) { + for (var prop in src) { + if (src.hasOwnProperty(prop)) { + if (target.prototype && target.prototype.constructor === target) { + // If the target object is a constructor override off prototype. + clobber(target.prototype, prop, src[prop]); + } else { + if (typeof src[prop] === 'object' && typeof target[prop] === 'object') { + recursiveMerge(target[prop], src[prop]); + } else { + clobber(target, prop, src[prop]); + } + } + } + } +} + +exports.buildIntoButDoNotClobber = function(objects, target) { + include(target, objects, false, false); +}; +exports.buildIntoAndClobber = function(objects, target) { + include(target, objects, true, false); +}; +exports.buildIntoAndMerge = function(objects, target) { + include(target, objects, true, true); +}; +exports.recursiveMerge = recursiveMerge; +exports.assignOrWrapInDeprecateGetter = assignOrWrapInDeprecateGetter; +exports.replaceHookForTesting = function() {}; + +}); + +// file: src/common/channel.js +define("cordova/channel", function(require, exports, module) { + +var utils = require('cordova/utils'), + nextGuid = 1; + +/** + * Custom pub-sub "channel" that can have functions subscribed to it + * This object is used to define and control firing of events for + * cordova initialization, as well as for custom events thereafter. + * + * The order of events during page load and Cordova startup is as follows: + * + * onDOMContentLoaded* Internal event that is received when the web page is loaded and parsed. + * onNativeReady* Internal event that indicates the Cordova native side is ready. + * onCordovaReady* Internal event fired when all Cordova JavaScript objects have been created. + * onDeviceReady* User event fired to indicate that Cordova is ready + * onResume User event fired to indicate a start/resume lifecycle event + * onPause User event fired to indicate a pause lifecycle event + * + * The events marked with an * are sticky. Once they have fired, they will stay in the fired state. + * All listeners that subscribe after the event is fired will be executed right away. + * + * The only Cordova events that user code should register for are: + * deviceready Cordova native code is initialized and Cordova APIs can be called from JavaScript + * pause App has moved to background + * resume App has returned to foreground + * + * Listeners can be registered as: + * document.addEventListener("deviceready", myDeviceReadyListener, false); + * document.addEventListener("resume", myResumeListener, false); + * document.addEventListener("pause", myPauseListener, false); + * + * The DOM lifecycle events should be used for saving and restoring state + * window.onload + * window.onunload + * + */ + +/** + * Channel + * @constructor + * @param type String the channel name + */ +var Channel = function(type, sticky) { + this.type = type; + // Map of guid -> function. + this.handlers = {}; + // 0 = Non-sticky, 1 = Sticky non-fired, 2 = Sticky fired. + this.state = sticky ? 1 : 0; + // Used in sticky mode to remember args passed to fire(). + this.fireArgs = null; + // Used by onHasSubscribersChange to know if there are any listeners. + this.numHandlers = 0; + // Function that is called when the first listener is subscribed, or when + // the last listener is unsubscribed. + this.onHasSubscribersChange = null; +}, + channel = { + /** + * Calls the provided function only after all of the channels specified + * have been fired. All channels must be sticky channels. + */ + join: function(h, c) { + var len = c.length, + i = len, + f = function() { + if (!(--i)) h(); + }; + for (var j=0; jNative bridge. + POLLING: 0, + // For LOAD_URL to be viable, it would need to have a work-around for + // the bug where the soft-keyboard gets dismissed when a message is sent. + LOAD_URL: 1, + // For the ONLINE_EVENT to be viable, it would need to intercept all event + // listeners (both through addEventListener and window.ononline) as well + // as set the navigator property itself. + ONLINE_EVENT: 2 + }, + jsToNativeBridgeMode, // Set lazily. + nativeToJsBridgeMode = nativeToJsModes.ONLINE_EVENT, + pollEnabled = false, + bridgeSecret = -1; + +var messagesFromNative = []; +var isProcessing = false; +var resolvedPromise = typeof Promise == 'undefined' ? null : Promise.resolve(); +var nextTick = resolvedPromise ? function(fn) { resolvedPromise.then(fn); } : function(fn) { setTimeout(fn); }; + +function androidExec(success, fail, service, action, args) { + if (bridgeSecret < 0) { + // If we ever catch this firing, we'll need to queue up exec()s + // and fire them once we get a secret. For now, I don't think + // it's possible for exec() to be called since plugins are parsed but + // not run until until after onNativeReady. + throw new Error('exec() called without bridgeSecret'); + } + // Set default bridge modes if they have not already been set. + // By default, we use the failsafe, since addJavascriptInterface breaks too often + if (jsToNativeBridgeMode === undefined) { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } + + // Process any ArrayBuffers in the args into a string. + for (var i = 0; i < args.length; i++) { + if (utils.typeName(args[i]) == 'ArrayBuffer') { + args[i] = base64.fromArrayBuffer(args[i]); + } + } + + var callbackId = service + cordova.callbackId++, + argsJson = JSON.stringify(args); + + if (success || fail) { + cordova.callbacks[callbackId] = {success:success, fail:fail}; + } + + var msgs = nativeApiProvider.get().exec(bridgeSecret, service, action, callbackId, argsJson); + // If argsJson was received by Java as null, try again with the PROMPT bridge mode. + // This happens in rare circumstances, such as when certain Unicode characters are passed over the bridge on a Galaxy S2. See CB-2666. + if (jsToNativeBridgeMode == jsToNativeModes.JS_OBJECT && msgs === "@Null arguments.") { + androidExec.setJsToNativeBridgeMode(jsToNativeModes.PROMPT); + androidExec(success, fail, service, action, args); + androidExec.setJsToNativeBridgeMode(jsToNativeModes.JS_OBJECT); + } else if (msgs) { + messagesFromNative.push(msgs); + // Always process async to avoid exceptions messing up stack. + nextTick(processMessages); + } +} + +androidExec.init = function() { + bridgeSecret = +prompt('', 'gap_init:' + nativeToJsBridgeMode); + channel.onNativeReady.fire(); +}; + +function pollOnceFromOnlineEvent() { + pollOnce(true); +} + +function pollOnce(opt_fromOnlineEvent) { + if (bridgeSecret < 0) { + // This can happen when the NativeToJsMessageQueue resets the online state on page transitions. + // We know there's nothing to retrieve, so no need to poll. + return; + } + var msgs = nativeApiProvider.get().retrieveJsMessages(bridgeSecret, !!opt_fromOnlineEvent); + if (msgs) { + messagesFromNative.push(msgs); + // Process sync since we know we're already top-of-stack. + processMessages(); + } +} + +function pollingTimerFunc() { + if (pollEnabled) { + pollOnce(); + setTimeout(pollingTimerFunc, 50); + } +} + +function hookOnlineApis() { + function proxyEvent(e) { + cordova.fireWindowEvent(e.type); + } + // The network module takes care of firing online and offline events. + // It currently fires them only on document though, so we bridge them + // to window here (while first listening for exec()-releated online/offline + // events). + window.addEventListener('online', pollOnceFromOnlineEvent, false); + window.addEventListener('offline', pollOnceFromOnlineEvent, false); + cordova.addWindowEventHandler('online'); + cordova.addWindowEventHandler('offline'); + document.addEventListener('online', proxyEvent, false); + document.addEventListener('offline', proxyEvent, false); +} + +hookOnlineApis(); + +androidExec.jsToNativeModes = jsToNativeModes; +androidExec.nativeToJsModes = nativeToJsModes; + +androidExec.setJsToNativeBridgeMode = function(mode) { + if (mode == jsToNativeModes.JS_OBJECT && !window._cordovaNative) { + mode = jsToNativeModes.PROMPT; + } + nativeApiProvider.setPreferPrompt(mode == jsToNativeModes.PROMPT); + jsToNativeBridgeMode = mode; +}; + +androidExec.setNativeToJsBridgeMode = function(mode) { + if (mode == nativeToJsBridgeMode) { + return; + } + if (nativeToJsBridgeMode == nativeToJsModes.POLLING) { + pollEnabled = false; + } + + nativeToJsBridgeMode = mode; + // Tell the native side to switch modes. + // Otherwise, it will be set by androidExec.init() + if (bridgeSecret >= 0) { + nativeApiProvider.get().setNativeToJsBridgeMode(bridgeSecret, mode); + } + + if (mode == nativeToJsModes.POLLING) { + pollEnabled = true; + setTimeout(pollingTimerFunc, 1); + } +}; + +function buildPayload(payload, message) { + var payloadKind = message.charAt(0); + if (payloadKind == 's') { + payload.push(message.slice(1)); + } else if (payloadKind == 't') { + payload.push(true); + } else if (payloadKind == 'f') { + payload.push(false); + } else if (payloadKind == 'N') { + payload.push(null); + } else if (payloadKind == 'n') { + payload.push(+message.slice(1)); + } else if (payloadKind == 'A') { + var data = message.slice(1); + payload.push(base64.toArrayBuffer(data)); + } else if (payloadKind == 'S') { + payload.push(window.atob(message.slice(1))); + } else if (payloadKind == 'M') { + var multipartMessages = message.slice(1); + while (multipartMessages !== "") { + var spaceIdx = multipartMessages.indexOf(' '); + var msgLen = +multipartMessages.slice(0, spaceIdx); + var multipartMessage = multipartMessages.substr(spaceIdx + 1, msgLen); + multipartMessages = multipartMessages.slice(spaceIdx + msgLen + 1); + buildPayload(payload, multipartMessage); + } + } else { + payload.push(JSON.parse(message)); + } +} + +// Processes a single message, as encoded by NativeToJsMessageQueue.java. +function processMessage(message) { + var firstChar = message.charAt(0); + if (firstChar == 'J') { + // This is deprecated on the .java side. It doesn't work with CSP enabled. + eval(message.slice(1)); + } else if (firstChar == 'S' || firstChar == 'F') { + var success = firstChar == 'S'; + var keepCallback = message.charAt(1) == '1'; + var spaceIdx = message.indexOf(' ', 2); + var status = +message.slice(2, spaceIdx); + var nextSpaceIdx = message.indexOf(' ', spaceIdx + 1); + var callbackId = message.slice(spaceIdx + 1, nextSpaceIdx); + var payloadMessage = message.slice(nextSpaceIdx + 1); + var payload = []; + buildPayload(payload, payloadMessage); + cordova.callbackFromNative(callbackId, success, status, payload, keepCallback); + } else { + console.log("processMessage failed: invalid message: " + JSON.stringify(message)); + } +} + +function processMessages() { + // Check for the reentrant case. + if (isProcessing) { + return; + } + if (messagesFromNative.length === 0) { + return; + } + isProcessing = true; + try { + var msg = popMessageFromQueue(); + // The Java side can send a * message to indicate that it + // still has messages waiting to be retrieved. + if (msg == '*' && messagesFromNative.length === 0) { + nextTick(pollOnce); + return; + } + processMessage(msg); + } finally { + isProcessing = false; + if (messagesFromNative.length > 0) { + nextTick(processMessages); + } + } +} + +function popMessageFromQueue() { + var messageBatch = messagesFromNative.shift(); + if (messageBatch == '*') { + return '*'; + } + + var spaceIdx = messageBatch.indexOf(' '); + var msgLen = +messageBatch.slice(0, spaceIdx); + var message = messageBatch.substr(spaceIdx + 1, msgLen); + messageBatch = messageBatch.slice(spaceIdx + msgLen + 1); + if (messageBatch) { + messagesFromNative.unshift(messageBatch); + } + return message; +} + +module.exports = androidExec; + +}); + +// file: src/common/exec/proxy.js +define("cordova/exec/proxy", function(require, exports, module) { + + +// internal map of proxy function +var CommandProxyMap = {}; + +module.exports = { + + // example: cordova.commandProxy.add("Accelerometer",{getCurrentAcceleration: function(successCallback, errorCallback, options) {...},...); + add:function(id,proxyObj) { + console.log("adding proxy for " + id); + CommandProxyMap[id] = proxyObj; + return proxyObj; + }, + + // cordova.commandProxy.remove("Accelerometer"); + remove:function(id) { + var proxy = CommandProxyMap[id]; + delete CommandProxyMap[id]; + CommandProxyMap[id] = null; + return proxy; + }, + + get:function(service,action) { + return ( CommandProxyMap[service] ? CommandProxyMap[service][action] : null ); + } +}; +}); + +// file: src/common/init.js +define("cordova/init", function(require, exports, module) { + +var channel = require('cordova/channel'); +var cordova = require('cordova'); +var modulemapper = require('cordova/modulemapper'); +var platform = require('cordova/platform'); +var pluginloader = require('cordova/pluginloader'); +var utils = require('cordova/utils'); + +var platformInitChannelsArray = [channel.onNativeReady, channel.onPluginsReady]; + +function logUnfiredChannels(arr) { + for (var i = 0; i < arr.length; ++i) { + if (arr[i].state != 2) { + console.log('Channel not fired: ' + arr[i].type); + } + } +} + +window.setTimeout(function() { + if (channel.onDeviceReady.state != 2) { + console.log('deviceready has not fired after 5 seconds.'); + logUnfiredChannels(platformInitChannelsArray); + logUnfiredChannels(channel.deviceReadyChannelsArray); + } +}, 5000); + +// Replace navigator before any modules are required(), to ensure it happens as soon as possible. +// We replace it so that properties that can't be clobbered can instead be overridden. +function replaceNavigator(origNavigator) { + var CordovaNavigator = function() {}; + CordovaNavigator.prototype = origNavigator; + var newNavigator = new CordovaNavigator(); + // This work-around really only applies to new APIs that are newer than Function.bind. + // Without it, APIs such as getGamepads() break. + if (CordovaNavigator.bind) { + for (var key in origNavigator) { + if (typeof origNavigator[key] == 'function') { + newNavigator[key] = origNavigator[key].bind(origNavigator); + } + else { + (function(k) { + utils.defineGetterSetter(newNavigator,key,function() { + return origNavigator[k]; + }); + })(key); + } + } + } + return newNavigator; +} + +if (window.navigator) { + window.navigator = replaceNavigator(window.navigator); +} + +if (!window.console) { + window.console = { + log: function(){} + }; +} +if (!window.console.warn) { + window.console.warn = function(msg) { + this.log("warn: " + msg); + }; +} + +// Register pause, resume and deviceready channels as events on document. +channel.onPause = cordova.addDocumentEventHandler('pause'); +channel.onResume = cordova.addDocumentEventHandler('resume'); +channel.onActivated = cordova.addDocumentEventHandler('activated'); +channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready'); + +// Listen for DOMContentLoaded and notify our channel subscribers. +if (document.readyState == 'complete' || document.readyState == 'interactive') { + channel.onDOMContentLoaded.fire(); +} else { + document.addEventListener('DOMContentLoaded', function() { + channel.onDOMContentLoaded.fire(); + }, false); +} + +// _nativeReady is global variable that the native side can set +// to signify that the native code is ready. It is a global since +// it may be called before any cordova JS is ready. +if (window._nativeReady) { + channel.onNativeReady.fire(); +} + +modulemapper.clobbers('cordova', 'cordova'); +modulemapper.clobbers('cordova/exec', 'cordova.exec'); +modulemapper.clobbers('cordova/exec', 'Cordova.exec'); + +// Call the platform-specific initialization. +platform.bootstrap && platform.bootstrap(); + +// Wrap in a setTimeout to support the use-case of having plugin JS appended to cordova.js. +// The delay allows the attached modules to be defined before the plugin loader looks for them. +setTimeout(function() { + pluginloader.load(function() { + channel.onPluginsReady.fire(); + }); +}, 0); + +/** + * Create all cordova objects once native side is ready. + */ +channel.join(function() { + modulemapper.mapModules(window); + + platform.initialize && platform.initialize(); + + // Fire event to notify that all objects are created + channel.onCordovaReady.fire(); + + // Fire onDeviceReady event once page has fully loaded, all + // constructors have run and cordova info has been received from native + // side. + channel.join(function() { + require('cordova').fireDocumentEvent('deviceready'); + }, channel.deviceReadyChannelsArray); + +}, platformInitChannelsArray); + + +}); + +// file: src/common/init_b.js +define("cordova/init_b", function(require, exports, module) { + +var channel = require('cordova/channel'); +var cordova = require('cordova'); +var modulemapper = require('cordova/modulemapper'); +var platform = require('cordova/platform'); +var pluginloader = require('cordova/pluginloader'); +var utils = require('cordova/utils'); + +var platformInitChannelsArray = [channel.onDOMContentLoaded, channel.onNativeReady, channel.onPluginsReady]; + +// setting exec +cordova.exec = require('cordova/exec'); + +function logUnfiredChannels(arr) { + for (var i = 0; i < arr.length; ++i) { + if (arr[i].state != 2) { + console.log('Channel not fired: ' + arr[i].type); + } + } +} + +window.setTimeout(function() { + if (channel.onDeviceReady.state != 2) { + console.log('deviceready has not fired after 5 seconds.'); + logUnfiredChannels(platformInitChannelsArray); + logUnfiredChannels(channel.deviceReadyChannelsArray); + } +}, 5000); + +// Replace navigator before any modules are required(), to ensure it happens as soon as possible. +// We replace it so that properties that can't be clobbered can instead be overridden. +function replaceNavigator(origNavigator) { + var CordovaNavigator = function() {}; + CordovaNavigator.prototype = origNavigator; + var newNavigator = new CordovaNavigator(); + // This work-around really only applies to new APIs that are newer than Function.bind. + // Without it, APIs such as getGamepads() break. + if (CordovaNavigator.bind) { + for (var key in origNavigator) { + if (typeof origNavigator[key] == 'function') { + newNavigator[key] = origNavigator[key].bind(origNavigator); + } + else { + (function(k) { + utils.defineGetterSetter(newNavigator,key,function() { + return origNavigator[k]; + }); + })(key); + } + } + } + return newNavigator; +} +if (window.navigator) { + window.navigator = replaceNavigator(window.navigator); +} + +if (!window.console) { + window.console = { + log: function(){} + }; +} +if (!window.console.warn) { + window.console.warn = function(msg) { + this.log("warn: " + msg); + }; +} + +// Register pause, resume and deviceready channels as events on document. +channel.onPause = cordova.addDocumentEventHandler('pause'); +channel.onResume = cordova.addDocumentEventHandler('resume'); +channel.onActivated = cordova.addDocumentEventHandler('activated'); +channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready'); + +// Listen for DOMContentLoaded and notify our channel subscribers. +if (document.readyState == 'complete' || document.readyState == 'interactive') { + channel.onDOMContentLoaded.fire(); +} else { + document.addEventListener('DOMContentLoaded', function() { + channel.onDOMContentLoaded.fire(); + }, false); +} + +// _nativeReady is global variable that the native side can set +// to signify that the native code is ready. It is a global since +// it may be called before any cordova JS is ready. +if (window._nativeReady) { + channel.onNativeReady.fire(); +} + +// Call the platform-specific initialization. +platform.bootstrap && platform.bootstrap(); + +// Wrap in a setTimeout to support the use-case of having plugin JS appended to cordova.js. +// The delay allows the attached modules to be defined before the plugin loader looks for them. +setTimeout(function() { + pluginloader.load(function() { + channel.onPluginsReady.fire(); + }); +}, 0); + +/** + * Create all cordova objects once native side is ready. + */ +channel.join(function() { + modulemapper.mapModules(window); + + platform.initialize && platform.initialize(); + + // Fire event to notify that all objects are created + channel.onCordovaReady.fire(); + + // Fire onDeviceReady event once page has fully loaded, all + // constructors have run and cordova info has been received from native + // side. + channel.join(function() { + require('cordova').fireDocumentEvent('deviceready'); + }, channel.deviceReadyChannelsArray); + +}, platformInitChannelsArray); + +}); + +// file: src/common/modulemapper.js +define("cordova/modulemapper", function(require, exports, module) { + +var builder = require('cordova/builder'), + moduleMap = define.moduleMap, + symbolList, + deprecationMap; + +exports.reset = function() { + symbolList = []; + deprecationMap = {}; +}; + +function addEntry(strategy, moduleName, symbolPath, opt_deprecationMessage) { + if (!(moduleName in moduleMap)) { + throw new Error('Module ' + moduleName + ' does not exist.'); + } + symbolList.push(strategy, moduleName, symbolPath); + if (opt_deprecationMessage) { + deprecationMap[symbolPath] = opt_deprecationMessage; + } +} + +// Note: Android 2.3 does have Function.bind(). +exports.clobbers = function(moduleName, symbolPath, opt_deprecationMessage) { + addEntry('c', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.merges = function(moduleName, symbolPath, opt_deprecationMessage) { + addEntry('m', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.defaults = function(moduleName, symbolPath, opt_deprecationMessage) { + addEntry('d', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.runs = function(moduleName) { + addEntry('r', moduleName, null); +}; + +function prepareNamespace(symbolPath, context) { + if (!symbolPath) { + return context; + } + var parts = symbolPath.split('.'); + var cur = context; + for (var i = 0, part; part = parts[i]; ++i) { + cur = cur[part] = cur[part] || {}; + } + return cur; +} + +exports.mapModules = function(context) { + var origSymbols = {}; + context.CDV_origSymbols = origSymbols; + for (var i = 0, len = symbolList.length; i < len; i += 3) { + var strategy = symbolList[i]; + var moduleName = symbolList[i + 1]; + var module = require(moduleName); + // + if (strategy == 'r') { + continue; + } + var symbolPath = symbolList[i + 2]; + var lastDot = symbolPath.lastIndexOf('.'); + var namespace = symbolPath.substr(0, lastDot); + var lastName = symbolPath.substr(lastDot + 1); + + var deprecationMsg = symbolPath in deprecationMap ? 'Access made to deprecated symbol: ' + symbolPath + '. ' + deprecationMsg : null; + var parentObj = prepareNamespace(namespace, context); + var target = parentObj[lastName]; + + if (strategy == 'm' && target) { + builder.recursiveMerge(target, module); + } else if ((strategy == 'd' && !target) || (strategy != 'd')) { + if (!(symbolPath in origSymbols)) { + origSymbols[symbolPath] = target; + } + builder.assignOrWrapInDeprecateGetter(parentObj, lastName, module, deprecationMsg); + } + } +}; + +exports.getOriginalSymbol = function(context, symbolPath) { + var origSymbols = context.CDV_origSymbols; + if (origSymbols && (symbolPath in origSymbols)) { + return origSymbols[symbolPath]; + } + var parts = symbolPath.split('.'); + var obj = context; + for (var i = 0; i < parts.length; ++i) { + obj = obj && obj[parts[i]]; + } + return obj; +}; + +exports.reset(); + + +}); + +// file: src/common/modulemapper_b.js +define("cordova/modulemapper_b", function(require, exports, module) { + +var builder = require('cordova/builder'), + symbolList = [], + deprecationMap; + +exports.reset = function() { + symbolList = []; + deprecationMap = {}; +}; + +function addEntry(strategy, moduleName, symbolPath, opt_deprecationMessage) { + symbolList.push(strategy, moduleName, symbolPath); + if (opt_deprecationMessage) { + deprecationMap[symbolPath] = opt_deprecationMessage; + } +} + +// Note: Android 2.3 does have Function.bind(). +exports.clobbers = function(moduleName, symbolPath, opt_deprecationMessage) { + addEntry('c', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.merges = function(moduleName, symbolPath, opt_deprecationMessage) { + addEntry('m', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.defaults = function(moduleName, symbolPath, opt_deprecationMessage) { + addEntry('d', moduleName, symbolPath, opt_deprecationMessage); +}; + +exports.runs = function(moduleName) { + addEntry('r', moduleName, null); +}; + +function prepareNamespace(symbolPath, context) { + if (!symbolPath) { + return context; + } + var parts = symbolPath.split('.'); + var cur = context; + for (var i = 0, part; part = parts[i]; ++i) { + cur = cur[part] = cur[part] || {}; + } + return cur; +} + +exports.mapModules = function(context) { + var origSymbols = {}; + context.CDV_origSymbols = origSymbols; + for (var i = 0, len = symbolList.length; i < len; i += 3) { + var strategy = symbolList[i]; + var moduleName = symbolList[i + 1]; + var module = require(moduleName); + // + if (strategy == 'r') { + continue; + } + var symbolPath = symbolList[i + 2]; + var lastDot = symbolPath.lastIndexOf('.'); + var namespace = symbolPath.substr(0, lastDot); + var lastName = symbolPath.substr(lastDot + 1); + + var deprecationMsg = symbolPath in deprecationMap ? 'Access made to deprecated symbol: ' + symbolPath + '. ' + deprecationMsg : null; + var parentObj = prepareNamespace(namespace, context); + var target = parentObj[lastName]; + + if (strategy == 'm' && target) { + builder.recursiveMerge(target, module); + } else if ((strategy == 'd' && !target) || (strategy != 'd')) { + if (!(symbolPath in origSymbols)) { + origSymbols[symbolPath] = target; + } + builder.assignOrWrapInDeprecateGetter(parentObj, lastName, module, deprecationMsg); + } + } +}; + +exports.getOriginalSymbol = function(context, symbolPath) { + var origSymbols = context.CDV_origSymbols; + if (origSymbols && (symbolPath in origSymbols)) { + return origSymbols[symbolPath]; + } + var parts = symbolPath.split('.'); + var obj = context; + for (var i = 0; i < parts.length; ++i) { + obj = obj && obj[parts[i]]; + } + return obj; +}; + +exports.reset(); + + +}); + +// file: /Users/steveng/repo/cordova/cordova-android/cordova-js-src/platform.js +define("cordova/platform", function(require, exports, module) { + +module.exports = { + id: 'android', + bootstrap: function() { + var channel = require('cordova/channel'), + cordova = require('cordova'), + exec = require('cordova/exec'), + modulemapper = require('cordova/modulemapper'); + + // Get the shared secret needed to use the bridge. + exec.init(); + + // TODO: Extract this as a proper plugin. + modulemapper.clobbers('cordova/plugin/android/app', 'navigator.app'); + + var APP_PLUGIN_NAME = Number(cordova.platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + + // Inject a listener for the backbutton on the document. + var backButtonChannel = cordova.addDocumentEventHandler('backbutton'); + backButtonChannel.onHasSubscribersChange = function() { + // If we just attached the first handler or detached the last handler, + // let native know we need to override the back button. + exec(null, null, APP_PLUGIN_NAME, "overrideBackbutton", [this.numHandlers == 1]); + }; + + // Add hardware MENU and SEARCH button handlers + cordova.addDocumentEventHandler('menubutton'); + cordova.addDocumentEventHandler('searchbutton'); + + function bindButtonChannel(buttonName) { + // generic button bind used for volumeup/volumedown buttons + var volumeButtonChannel = cordova.addDocumentEventHandler(buttonName + 'button'); + volumeButtonChannel.onHasSubscribersChange = function() { + exec(null, null, APP_PLUGIN_NAME, "overrideButton", [buttonName, this.numHandlers == 1]); + }; + } + // Inject a listener for the volume buttons on the document. + bindButtonChannel('volumeup'); + bindButtonChannel('volumedown'); + + // Let native code know we are all done on the JS side. + // Native code will then un-hide the WebView. + channel.onCordovaReady.subscribe(function() { + exec(onMessageFromNative, null, APP_PLUGIN_NAME, 'messageChannel', []); + exec(null, null, APP_PLUGIN_NAME, "show", []); + }); + } +}; + +function onMessageFromNative(msg) { + var cordova = require('cordova'); + var action = msg.action; + + switch (action) + { + // Button events + case 'backbutton': + case 'menubutton': + case 'searchbutton': + // App life cycle events + case 'pause': + // Volume events + case 'volumedownbutton': + case 'volumeupbutton': + cordova.fireDocumentEvent(action); + break; + case 'resume': + if(arguments.length > 1 && msg.pendingResult) { + if(arguments.length === 2) { + msg.pendingResult.result = arguments[1]; + } else { + // The plugin returned a multipart message + var res = []; + for(var i = 1; i < arguments.length; i++) { + res.push(arguments[i]); + } + msg.pendingResult.result = res; + } + } + cordova.fireDocumentEvent(action, msg); + break; + default: + throw new Error('Unknown event action ' + action); + } +} + +}); + +// file: /Users/steveng/repo/cordova/cordova-android/cordova-js-src/plugin/android/app.js +define("cordova/plugin/android/app", function(require, exports, module) { + +var exec = require('cordova/exec'); +var APP_PLUGIN_NAME = Number(require('cordova').platformVersion.split('.')[0]) >= 4 ? 'CoreAndroid' : 'App'; + +module.exports = { + /** + * Clear the resource cache. + */ + clearCache:function() { + exec(null, null, APP_PLUGIN_NAME, "clearCache", []); + }, + + /** + * Load the url into the webview or into new browser instance. + * + * @param url The URL to load + * @param props Properties that can be passed in to the activity: + * wait: int => wait msec before loading URL + * loadingDialog: "Title,Message" => display a native loading dialog + * loadUrlTimeoutValue: int => time in msec to wait before triggering a timeout error + * clearHistory: boolean => clear webview history (default=false) + * openExternal: boolean => open in a new browser (default=false) + * + * Example: + * navigator.app.loadUrl("http://server/myapp/index.html", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000}); + */ + loadUrl:function(url, props) { + exec(null, null, APP_PLUGIN_NAME, "loadUrl", [url, props]); + }, + + /** + * Cancel loadUrl that is waiting to be loaded. + */ + cancelLoadUrl:function() { + exec(null, null, APP_PLUGIN_NAME, "cancelLoadUrl", []); + }, + + /** + * Clear web history in this web view. + * Instead of BACK button loading the previous web page, it will exit the app. + */ + clearHistory:function() { + exec(null, null, APP_PLUGIN_NAME, "clearHistory", []); + }, + + /** + * Go to previous page displayed. + * This is the same as pressing the backbutton on Android device. + */ + backHistory:function() { + exec(null, null, APP_PLUGIN_NAME, "backHistory", []); + }, + + /** + * Override the default behavior of the Android back button. + * If overridden, when the back button is pressed, the "backKeyDown" JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "backbutton" event, this is automatically done. + * + * @param override T=override, F=cancel override + */ + overrideBackbutton:function(override) { + exec(null, null, APP_PLUGIN_NAME, "overrideBackbutton", [override]); + }, + + /** + * Override the default behavior of the Android volume button. + * If overridden, when the volume button is pressed, the "volume[up|down]button" + * JavaScript event will be fired. + * + * Note: The user should not have to call this method. Instead, when the user + * registers for the "volume[up|down]button" event, this is automatically done. + * + * @param button volumeup, volumedown + * @param override T=override, F=cancel override + */ + overrideButton:function(button, override) { + exec(null, null, APP_PLUGIN_NAME, "overrideButton", [button, override]); + }, + + /** + * Exit and terminate the application. + */ + exitApp:function() { + return exec(null, null, APP_PLUGIN_NAME, "exitApp", []); + } +}; + +}); + +// file: src/common/pluginloader.js +define("cordova/pluginloader", function(require, exports, module) { + +var modulemapper = require('cordova/modulemapper'); +var urlutil = require('cordova/urlutil'); + +// Helper function to inject a + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + diff --git a/platforms/android/assets/www/lib/ionic-material/ionic.material.css b/platforms/android/assets/www/lib/ionic-material/ionic.material.css new file mode 100644 index 0000000..acfce89 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic-material/ionic.material.css @@ -0,0 +1,2933 @@ +/* Directives : MD Label +==================================*/ +.item-md-label { + display: block; + background: transparent; + box-shadow: none; + margin-left: 12px; + margin-right: 12px; + padding: 30px 0 0; } + +.item-md-label .input-label { + position: absolute; + padding: 5px 0 0; + z-index: 2; + -webkit-transform: translate3d(0, -30px, 0) scale(1); + transform: translate3d(0, -30px, 0) scale(1); + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; + color: #fff; + opacity: 0.5; + filter: alpha(opacity=50); + -webkit-transform-origin: 0; + -ms-transform-origin: 0; + transform-origin: 0; } + +.item-md-label input { + background-color: rgba(0, 0, 0, 0.6); + bottom: 0; + color: #fff; + letter-spacing: 0.25rem; + padding: 20px 10px; + position: relative; + z-index: 1; } + +.item-md-label .highlight { + position: absolute; + bottom: 0; + height: 2px; + left: 0; + width: 100%; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + -webkit-transition: all 0.15s ease; + transition: all 0.15s ease; + z-index: 1; } + +.item-md-label .highlight-light { + background: #fff; } + +.item-md-label .highlight-stable { + background: #f8f8f8; } + +.item-md-label .highlight-positive { + background: #387ef5; } + +.item-md-label .highlight-calm { + background: #11c1f3; } + +.item-md-label .highlight-balanced { + background: #33cd5f; } + +.item-md-label .highlight-energized { + background: #ffc900; } + +.item-md-label .highlight-assertive { + background: #ef473a; } + +.item-md-label .highlight-royal { + background: #886aea; } + +.item-md-label .highlight-dark { + background: #444; } + +.item-md-label .input-label { + letter-spacing: 0.25rem; + padding: 0 10px; } + +.item-md-label input:focus ~ .input-label, .item-md-label input.used ~ .input-label { + font-weight: bold; + opacity: 0.7; + filter: alpha(opacity=70); + padding: 0; + text-transform: uppercase; + -webkit-transform: translate3d(0, -60px, 0) scale(0.9); + transform: translate3d(0, -60px, 0) scale(0.9); } + +.item-md-label input:focus ~ .highlight { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +/* Bar - Header - Expanded +==================================*/ +.expanded .bar.bar-header, +.bar.bar-header.expanded { + height: 75px; } + +.expanded.bar.bar-header .title, +.bar.bar-header.expanded .title { + bottom: 0; + top: initial; + padding-left: 16px; } + +.expanded .bar.bar-header .title.fab-left, +.bar.bar-header.expanded .title.fab-left { + bottom: 0; + left: 90px; + position: absolute; + right: initial; + top: initial; } + +.expanded .bar.bar-header .title.fab-right, +.bar.bar-header.expanded .title.fab-right { + bottom: 0; + left: 4px; + position: absolute; + top: initial; + right: initial; } + +.expanded .bar.bar-header + .button-fab, +.bar.bar-header.expanded + .button-fab { + top: 50px; } + +.expanded .bar.bar-header.push-down, +.bar.bar-header.expanded.push-down { + height: 44px; + overflow: hidden; } + +.expanded .bar.bar-header, +.bar.bar-header.expanded { + -webkit-transition: height 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: height 1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.expanded .bar.bar-header + .button-fab, +.bar.bar-header.expanded + .button-fab { + -webkit-transition: all 1.1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1.1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0) scale(1); + transform: translate3d(0, 0, 0) scale(1); } + +.expanded .bar.bar-header.push-down + .button-fab, +.bar.bar-header.expanded.push-down + .button-fab { + top: 0; + -webkit-transform: translate3d(-100px, -100px, 0) scale(2.5); + transform: translate3d(-100px, -100px, 0) scale(2.5); } + +.expanded .bar.bar-header.push-down .title, +.bar.bar-header.expanded.push-down .title { + opacity: 0; + filter: alpha(opacity=0); + left: initial; + right: initial; } + +.expanded .bar.bar-header .title, +.bar.bar-header.expanded .title { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transition: all 2s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 2s cubic-bezier(0.55, 0, 0.1, 1); } + +.expanded .bar.bar-header .title, .bar.bar-header.expanded .title { + bottom: 0; + left: 42px !important; + top: initial; } + +.expanded.has-header-fab-left .bar.bar-header .title, .bar.bar-header.expanded.has-header-fab-left .title { + left: 76px !important; } + +/* Bar +==================================*/ +.bar { + z-index: 2; + font-size: 1.3em; + width: 100%; + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); } + +.bar .button { + min-width: 38px; + z-index: 3; } + +.bar .no-text span.back-text { + display: none; } + +.bar .title sup { + opacity: 0.7; } + +.bar.bar-header .button + .title { + text-align: left; + left: 35px; + line-height: 46px; } + +/* Button Bar +==================================*/ +.button-bar { + box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15); } + +.button-bar > .button { + box-shadow: none; + /* line-height: initial; */ } + +.button-bar > .button .icon:before, +.button-bar > .button:before { + line-height: initial; } + +.bar-footer .button-fab { + position: absolute; + top: -26px; + bottom: initial; } + +.bar-footer .buttons-left .button-fab { + left: 8px; } + +.bar-footer .buttons-right .button-fab { + right: 8px; } + +.bar .button.button-clear { + box-shadow: none; } + +.left-buttons .button-fab { + left: 8px; + top: 16px; } + +.right-buttons .button-fab { + right: 8px; + top: 16px; } + +.fab-left.title-left, +.fab-left.title.title-left { + left: 68px; } + +/* Button : FAB +==================================*/ +.button.button-fab, +.bar .button.button-fab { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + z-index: 9999; + width: 56px; + height: 56px; + max-height: initial; + max-width: initial; + border-radius: 50%; + border-radius: 50%; + overflow: hidden; + padding: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition: 0.3s fade-in-out; + transition: 0.3s fade-in-out; + -webkit-transition-property: -webkit-transform, box-shadow; + transition-property: transform, box-shadow; } + +.button.button-fab.button-fab-bottom-right, +.bar .button.button-fab.button-fab-bottom-right { + top: auto; + right: 16px; + bottom: 16px; + left: auto; + position: absolute; } + +.button.button-fab.button-fab-bottom-left, +.bar .button.button-fab.button-fab-bottom-left { + top: auto; + right: auto; + bottom: 16px; + left: 16px; + position: absolute; } + +.button.button-fab.button-fab-top-right, +.bar .button.button-fab.button-fab-top-right { + top: 32px; + right: 16px; + bottom: auto; + left: auto; + position: absolute; } + +.button.button-fab.button-fab-top-left, +.bar .button.button-fab.button-fab-top-left { + top: 32px; + right: auto; + bottom: auto; + left: 16px; + position: absolute; } + +.button.button-fab.button-fab-top-left.expanded, +.button.button-fab.button-fab-top-right.expanded, +.bar .button.button-fab.button-fab-top-left.expanded, +.bar .button.button-fab.button-fab-top-right.expanded { + top: 48px; } + +.button.button-fab i, +.bar .button.button-fab i { + font-size: 2.5rem; + margin-top: 0; } + +.button.button-fab.mini, +.bar .button.button-fab.mini { + width: 40px; + height: 40px; } + +.button.button-fab.mini i, +.bar .button.button-fab.mini i { + font-size: 2rem; } + +/* Motion */ +.motion { + -webkit-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; } + +.fade { + opacity: 0; + filter: alpha(opacity=0); + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spin-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) !important; + transform: translateZ(0) rotate(360deg) scale(0) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.menu-open .avatar { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: translateZ(0) rotate(0) scale(1) !important; + transform: translateZ(0) rotate(0) scale(1) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.button.button-fab.button-fab-top-left.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(-120px, 60px, 0); + transform: translate3d(-120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.button.button-fab.button-fab-top-right.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(120px, 60px, 0); + transform: translate3d(120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.button.button-fab.button-fab-bottom-left.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(-120px, 60px, 0); + transform: translate3d(-120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.button.button-fab.button-fab-bottom-right.motion { + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform: translate3d(120px, 60px, 0); + transform: translate3d(120px, 60px, 0); + -webkit-transition: all 0.1s ease-out; + transition: all 0.1s ease-out; } + +.spin { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(0) scale(0) !important; + transform: translateZ(0) rotate(0) scale(0) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.spin.on { + -webkit-transform: translateZ(0) rotate(-360deg) scale(1) !important; + transform: translateZ(0) rotate(-360deg) scale(1) !important; } + +.flap { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flap.on { + -webkit-transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) scale(3) !important; + transform: translateZ(0) scale(3) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop.on { + -webkit-transform: translateZ(0) scale(1) !important; + transform: translateZ(0) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateY(0) scale(0) !important; + transform: translateZ(0) rotateY(0) scale(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip.on { + -webkit-transform: translateZ(0) rotateY(-720deg) scale(1) !important; + transform: translateZ(0) rotateY(-720deg) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +/* Button : Floating +==================================*/ +.button.button-floating, .bar .button.button-floating { + display: inline-block; + color: #FFF; + position: relative; + z-index: 1; + width: 37px; + height: 37px; + line-height: 37px; + padding: 0; + border-radius: 50%; + background-clip: padding-box; + -webkit-transition: 0.3s; + transition: 0.3s; + cursor: pointer; } + +.button.button-floating i, .bar .button.button-floating i { + width: inherit; + display: inline-block; + text-align: center; + color: #FFF; + font-size: 1.6rem; + line-height: 37px; } + +.button.button-floating.button-large, .bar .button.button-floating.button-large { + width: 55.5px; + height: 55.5px; } + +.button.button-floating.button-large i, .bar .button.button-floating.button-large i { + line-height: 55.5px; } + +/* Button +==================================*/ +.button, +.button.button-large, +.button.button-flat, +.bar .button, +.bar .button.button-large, +.bar .button.button-flat { + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + display: inline-block; + height: 36px; + padding: 0 2rem; + border-radius: 2px; + background-clip: padding-box; + text-transform: uppercase; + border: none; + outline: 0; + -webkit-tap-highlight-color: transparent; } + +.button.disabled, +.button.disabled.button-large, +.button.button-floating.disabled, +.button.button-large.disabled, +.button.button:disabled, +.button.button-large:disabled, +.button.button-large:disabled, +.button.button-floating:disabled, +.bar .button.disabled, +.bar .button.disabled.button-large, +.bar .button.button-floating.disabled, +.bar .button.button-large.disabled, +.bar .button.button:disabled, +.bar .button.button-large:disabled, +.bar .button.button-large:disabled, +.bar .button.button-floating:disabled { + background-color: #DFDFDF; + box-shadow: none; + color: #9F9F9F; } + +.button.disabled:hover, +.button.disabled.button-large:hover, +.button.button-floating.disabled:hover, +.button.button-large.disabled:hover, +.button.button:disabled:hover, +.button.button-large:disabled:hover, +.button.button-large:disabled:hover, +.button.button-floating:disabled:hover, +.bar .button.disabled:hover, +.bar .button.disabled.button-large:hover, +.bar .button.button-floating.disabled:hover, +.bar .button.button-large.disabled:hover, +.bar .button.button:disabled:hover, +.bar .button.button-large:disabled:hover, +.bar .button.button-large:disabled:hover, +.bar .button.button-floating:disabled:hover { + background-color: #DFDFDF; + color: #9F9F9F; } + +.button i, +.button.button-large i, +.button.button-floating i, +.button.button-large i, +.button.button-flat i, +.bar .button i, +.bar .button.button-large i, +.bar .button.button-floating i, +.bar .button.button-large i, +.bar .button.button-flat i { + font-size: 1.3rem; } + +.button-bar .button { + border-radius: 0; } + +.button, +.button-large, +.bar .button, +.bar .button-large { + text-decoration: none; + text-align: center; + letter-spacing: 0.5px; + -webkit-transition: 0.2s ease-out; + transition: 0.2s ease-out; + cursor: pointer; } + +.button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: relative; + outline: none; + margin: 0; + /* background: transparent; */ + white-space: nowrap; + text-align: center; + text-transform: uppercase; + font-weight: 500; + font-style: inherit; + font-variant: inherit; + font-size: inherit; + text-decoration: none; + cursor: pointer; + overflow: hidden; + -webkit-transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); + transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } + +.button:focus { + outline: none; } + +.button.ng-hide { + -webkit-transition: none; + transition: none; } + +.button.cornered { + border-radius: 0; } + +.button.raised { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.button-outline, +.button-outline:hover, +.button-outline:active { + border-style: solid; + border-width: 1px; } + +.button.button-outline.button-assertive, +.button.button-outline.button-balanced, +.button.button-outline.button-calm, +.button.button-outline.button-dark, +.button.button-outline.button-energized, +.button.button-outline.button-light, +.button.button-outline.button-positive, +.button.button-outline.button-royal, +.button.button-outline.button-stable, +.button.button-outline { + border-color: rgba(0, 0, 0, 0.1); } + +.button-flat, +.bar .button-flat { + box-shadow: none; + background-color: transparent; + color: #343434; + cursor: pointer; } + +.button.button-flat.disabled, +.bar .button.button-flat.disabled { + color: #b3b3b3; } + +.button.button-large i, +.bar .button.button-large i { + font-size: 1.6rem; } + +.button-pin-header.button-floating { + position: absolute; + z-index: 1000; } + +.button-pin-header.button-pin-left { + left: 24px; + top: -24px; } + +.button-pin-header.button-pin-right { + right: 24px; + top: -24px; } + +.button:not([disabled]).raised:focus, +.button:not([disabled]).raised:hover, +.button:not([disabled]).floating:focus, +.button:not([disabled]).floating:hover { + -webkit-transform: translate3d(0, -1px, 0); + transform: translate3d(0, -1px, 0); } + +.button.button-flat { + box-shadow: none; + /* background: transparent; */ + color: inherit; } + +.button.button-flat:hover { + color: inherit; } + +.button.button-flat, +.button.button-flat:hover, +.button.button-flat:active { + color: #fff; } + +.button.button-clear, +.button.button-clear:hover, +.button.button-clear:active { + background: transparent; } + +.button-full.ink, +.button-block.ink { + display: block; } + +/* Card +==================================*/ +.card-item.item { + border: none; + padding-bottom: 4px; + padding-top: 4px; } + +.card-item.item:first-child { + padding-top: 16px; } + +.card { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); + display: block; + margin: 8px; + padding: 0; + position: relative; } + +.card .image { + display: block; + margin-top: 10px; + margin-bottom: 5px; } + +.card img { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); + display: block; + max-width: 100%; + max-height: initial; + position: static; } + +.card.card-gallery img { + border: none; + box-shadow: none; + display: block; } + +.card .card-footer { + font-size: 90%; + opacity: 0.8; + filter: alpha(opacity=80); + padding-top: 10px; } + +.card > .item { + border: none; } + +.card.card-gallery > .item { + background: inherit; } + +.card .icon + .icon { + padding-left: 1rem; } + +.card.animate-fade-in { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transform: translate3d(-30px, 1px, 0); + -webkit-transition: all 1s ease-in-out; } + +.card.animate-fade-in.done { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: translate3d(0, 0, 0); } + +.card .item.item-avatar { + min-height: 88px; + padding-left: 88px; } + +/* Hero +==================================*/ +.hero { + background-size: cover; + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); + color: #fff; + height: 200px; + position: relative; + text-align: center; + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + width: 100%; } + +.hero > * { + -webkit-transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 1; + filter: alpha(opacity=100); } + +.hero + .mid-bar { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + height: initial; + opacity: 1; + filter: alpha(opacity=100); } + +.hero .hero-icon { + box-shadow: 0px 0 2px 0 rgba(0, 0, 0, 0.26); + border-radius: 50%; + display: inline-block; + font-size: 65px; + height: 150px; + padding: 10px 30px; + line-height: 136px; + width: 150px; } + +.hero.no-header { + height: 244px; } + +.hero > .content { + bottom: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: 1; } + +.hero > .content > .avatar { + background-position: center; + background-size: cover; + border: solid 1px rgba(255, 255, 255, 0.8); + border-radius: 50%; + display: inline-block; + height: 88px; + left: auto; + margin-bottom: 10px; + position: relative; + width: 88px; } + +.hero h1 .hero h2, .hero h3, .hero h4, .hero h5, .hero h6 { + color: #fff; + margin: 0; } + +.hero h4 { + color: rgba(255, 255, 255, 0.7); + margin: 3px 0 16px; } + +.hero h1 > a, .hero h2 > a, .hero h3 > a, .hero h4 > a, .hero h5 > a, .hero h6 > a { + text-decoration: none; } + +.hero + .button-bar { + border-radius: 0; + margin-top: 0; } + +.hero + .button-bar > .button:first-child, .hero + .button-bar > .button:last-child { + border-radius: 0; } + +.hero .hero-icon { + color: #fff; + font-size: 96px; } + +.hero .hero-icon + h1 { + color: white; + letter-spacing: 0.15rem; } + +.hero .button, .hero .button.button-large, .hero .button.button-flat { + margin: 0; } + +.hero h1.title { + color: #fff; + font-size: 23px; + margin: 0; + text-align: left; + padding-left: 80px; + line-height: 59px; } + +.hero + .mid-bar { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + height: initial; + opacity: 1; + filter: alpha(opacity=100); } + +.hero > * { + -webkit-transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: opacity 2.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 1; + filter: alpha(opacity=100); } + +/* Item +==================================*/ +.item { + font-size: 14px; + width: 100%; } + +.item-icon-left .icon { + left: 16px; } + +.item-icon-right .icon { + right: 16px; } + +/* +.list .item.item-icon-right { + padding-right: 60px; +} +*/ +.item-thumbnail-left > img:first-child, .item-thumbnail-left .item-image, .item-thumbnail-left .item-content > img:first-child, .item-thumbnail-left .item-content .item-image { + border-radius: 50%; } + +.tab-item.activated { + height: calc(100% + 3px); + /* Stretch */ } + +/* List +==================================*/ +.content + .list { + padding-top: 0; } + +.list .item { + border: none; + /* + padding-left: 16px; + padding-right: 16px; + */ + min-height: 48px; + text-align: left; } + +.list .item.tabs { + padding: initial; } + +.list .item.item-bg-image { + max-height: 150px; + min-height: 150px; } + +.list .item.item-bg-image > img { + height: 100%; + left: 0; + max-width: initial; + opacity: 0.65; + filter: alpha(opacity=65); + position: absolute; + top: 0; + width: 100%; + z-index: 0; } + +.list a.item { + opacity: 1; + filter: alpha(opacity=100); } + +.list .item.item-bg-image h1, .list .item.item-bg-image h2, .list .item.item-bg-image h3, .list .item.item-bg-image h4, .list .item.item-bg-image h5, .list .item.item-bg-image h6 { + color: #fff; + font-weight: bold; + position: relative; + text-shadow: 0 0 3px rgba(0, 0, 0, 0.95); + z-index: 1; } + +.list .item.item-bg-image h2 { + font-size: 24px; } + +.list .item.item-bg-image h2 { + font-size: 24px; } + +.list .item.item-bg-image p { + color: white; + font-size: 17px; + position: relative; + text-shadow: 0 0 4px rgba(0, 0, 0, 0.95); + z-index: 1; } + +.item-avatar, .item-avatar .item-content, .item-avatar-left, .item-avatar-left .item-content { + min-height: 80px; } + +/* List: Thumbnails +==================================*/ +.item-thumbnail-left, .card > .item.item-thumbnail-left, .item-thumbnail-left .item-content { + padding-left: 106px; } + +.item-thumbnail-right, .card > .item.item-thumbnail-right, .item-thumbnail-right .item-content { + padding-right: 106px; } + +/* List: Avatar +==================================*/ +.item-avatar > img:first-child, .item-avatar .item-image, .item-avatar .item-content > img:first-child, .item-avatar .item-content .item-image, .item-avatar-left > img:first-child, .item-avatar-left .item-image, .item-avatar-left .item-content > img:first-child, .item-avatar-left .item-content .item-image { + border-radius: 50%; + left: 16px; + max-height: 40px; + max-width: 40px; } + +/* +.item-avatar, .list .item-avatar { + padding-left: 100px; +} +*/ +.avatar, .item-avatar .avatar { + background-position: center; + background-size: cover; + border-radius: 50%; + display: inline-block; + height: 56px; + left: 16px; + position: absolute; + width: 56px; } + +/* List: Gallery +==================================*/ +.list.half { + display: inline-block; + float: left; + margin: 0; + padding: 0; + width: 50%; } + +.list.half:first-child { + padding: 16px 8px 16px 16px; } + +.list.half:last-child { + padding: 16px 16px 16px 8px; } + +.list.half:first-child .card.card-gallery { + margin-left: 0; + margin-right: 0; } + +.list.half:last-child .card.card-gallery { + margin-left: 0; + margin-right: 0; } + +.list.condensed-space > .card, .list.condensed-space > .item { + margin: 0px 0px 2px; } + +.list .card.card-gallery { + display: block; + float: left; + margin: 0 0 0 13px; + padding: 0; + width: auto; } + +.list.half .item { + width: 100%; } + +.list.half .item.card { + margin-bottom: 16px; } + +.list .card.card-gallery.item h2 { + padding: 12px; } + +.list .item.item-gallery img { + width: 100%; } + +.item.item-divider { + border-top: solid 1px rgba(0, 0, 0, 0.12); + font-size: 14px; + font-weight: bold; + height: 48px; + line-height: 48px; + color: rgba(0, 0, 0, 0.54); } + .item.item-divider:first-child { + border: none; } + +.item-avatar, .item-avatar .item-content, .item-avatar-left, .item-avatar-left .item-content, .card > .item-avatar { + padding-left: 72px; } + +.item.active, .item.activated, .item-complex.active .item-content, .item-complex.activated .item-content, .item .item-content.active, .item .item-content.activated { + background-color: transparent; } + +.list-inset { + margin: 20px 30px; + border-left: solid 1px #ccc; + border-radius: 0; + background-color: #fff; } + +.list .item.item-floating-label, +.item-floating-label { + border-bottom: solid 1px #ccc; } + +.loader { + position: relative; + margin: 0px auto; + width: 100px; + height: 100px; + zoom: 1.7; } + +.circular { + -webkit-animation: rotate 2s linear infinite; + animation: rotate 2s linear infinite; + height: 100px; + position: relative; + width: 100px; } + +.path { + stroke-dasharray: 1,200; + stroke-dashoffset: 0; + -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite; + animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite; + stroke-linecap: round; } + +@-webkit-keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@-webkit-keyframes dash { + 0% { + stroke-dasharray: 1,200; + stroke-dashoffset: 0; } + 50% { + stroke-dasharray: 89,200; + stroke-dashoffset: -35; } + 100% { + stroke-dasharray: 89,200; + stroke-dashoffset: -124; } } + +@keyframes dash { + 0% { + stroke-dasharray: 1,200; + stroke-dashoffset: 0; } + 50% { + stroke-dasharray: 89,200; + stroke-dashoffset: -35; } + 100% { + stroke-dasharray: 89,200; + stroke-dashoffset: -124; } } + +@-webkit-keyframes color { + 100%, 0% { + stroke: #d62d20; } + 40% { + stroke: #0057e7; } + 66% { + stroke: #008744; } + 80%, 90% { + stroke: #ffa700; } } + +@keyframes color { + 100%, 0% { + stroke: #d62d20; } + 40% { + stroke: #0057e7; } + 66% { + stroke: #008744; } + 80%, 90% { + stroke: #ffa700; } } + +/* Layouts: Login +==================================*/ +.login { + background-position: 25% 25%; + background-size: 180% 180%; + height: 100%; + -webkit-transition: all 1.5s ease-in-out; + transition: all 1.5s ease-in-out; } + +.login .item { + margin: 0 12px; + padding-left: 0; + padding-right: 0; + width: initial; } + +.login .button-bar { + bottom: 0; + margin: 28px 12px 0; + width: initial; } + +.login .light-bg { + background-color: #fff; } + +.icon.hero-icon:before { + line-height: 130px; } + +/* Mask +==================================*/ +.hero.has-mask:after, .item.has-mask:after, .card.has-mask:after { + content: ''; + background: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.6) 100%); + height: 100%; + left: 0; + position: absolute; + top: 0; + z-index: 0; + width: 100%; } + +.hero.has-mask-reverse:after, .item.has-mask-reverse:after, .card.has-mask-reverse:after { + content: ''; + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.6) 0%, transparent 100%); + height: 100%; + left: 0; + position: absolute; + top: 0; + z-index: 0; + width: 100%; } + +/* Menu */ +.menu-bottom { + bottom: 16px; + left: 16px; + right: 16px; + position: absolute; } + +.menu-top { + top: 16px; + left: 16px; + right: 16px; + position: absolute; } + +.menu .avatar { + top: 16px; + left: 16px; + height: 65px; + width: 65px; } + +.menu .bar.bar-header.expanded { + box-shadow: none; + min-height: 150px; + color: #fff; } + +.menu-open .bar.bar-header.expanded { + background-position: 0; + background-size: 100%; } + +.has-expanded-header { + top: 150px !important; } + +.motion { + -webkit-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; } + +.fade { + opacity: 0; + filter: alpha(opacity=0); + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spin-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) !important; + transform: translateZ(0) rotate(360deg) scale(0) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + transform: translateZ(0) rotate(-360deg) scale(0) translate(-120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.spiral-back { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + transform: translateZ(0) rotate(360deg) scale(0) translate(120px) !important; + -webkit-transition: all 0.1s ease-out !important; + transition: all 0.1s ease-out !important; } + +.menu-open .avatar { + opacity: 1; + filter: alpha(opacity=100); + -webkit-transform: translateZ(0) rotate(0) scale(1) !important; + transform: translateZ(0) rotate(0) scale(1) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.spin { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotate(0) scale(0) !important; + transform: translateZ(0) rotate(0) scale(0) !important; + -webkit-transition: all 0.3s ease-out !important; + transition: all 0.3s ease-out !important; } + +.spin.on { + -webkit-transform: translateZ(0) rotate(-360deg) scale(1) !important; + transform: translateZ(0) rotate(-360deg) scale(1) !important; } + +.flap { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + transform: translateZ(0) rotateX(0) scale(0) translate(-120px) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flap.on { + -webkit-transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + transform: translateZ(0) rotateX(-720deg) scale(1) translate(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) scale(3) !important; + transform: translateZ(0) scale(3) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.drop.on { + -webkit-transform: translateZ(0) scale(1) !important; + transform: translateZ(0) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip { + -webkit-backface-visibility: hidden !important; + backface-visibility: hidden !important; + -webkit-transform: translateZ(0) rotateY(0) scale(0) !important; + transform: translateZ(0) rotateY(0) scale(0) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +.flip.on { + -webkit-transform: translateZ(0) rotateY(-720deg) scale(1) !important; + transform: translateZ(0) rotateY(-720deg) scale(1) !important; + -webkit-transition: all 0.5s ease-out !important; + transition: all 0.5s ease-out !important; } + +/* Utilities +==================================*/ +.bold { + font-weight: bold; } + +.static { + position: static; } + +.pull-left { + float: left; } + +.pull-right { + float: right; } + +.double-padding, .ionic-content.double-padding { + padding: 16px; } + +.double-padding-x { + padding-left: 16px; + padding-right: 16px; } + +.double-padding-y { + padding-top: 16px; + padding-bottom: 16px; } + +.outline { + border-style: solid; + border-width: 1px; } + +.border-top { + border-top: solid 1px #ccc; + padding-top: 30px; } + +.no-border { + border: none; } + +.circle { + border-radius: 50%; } + +.no-padding, .list.no-padding, .bar.no-padding, .button-bar.no-padding, .card.no-padding, .button.no-padding, .item.no-padding { + padding: 0; } + +.flat, .flat.tabs, .flat.button, .flat.button.icon, .flat.hero { + box-shadow: none; + -webkit-box-shadow: none; } + +/* Utilities : Padding +==================================*/ +.im-wrapper, .padding { + padding: 16px !important; } + +.padding-bottom { + padding-bottom: 16px !important; } + +.padding-top { + padding-top: 16px !important; } + +.padding-left { + padding-left: 16px !important; } + +.padding-right { + padding-right: 16px !important; } + +.no-padding-bottom { + padding-bottom: 0 !important; } + +.no-padding-top { + padding-top: 0 !important; } + +.no-padding-left { + padding-left: 0 !important; } + +.no-padding-right { + padding-right: 0 !important; } + +/* Utilities : Depth +==================================*/ +.z1 { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); } + +/* Utilities : Color +==================================*/ +.bar.bar-positive.darker { + background-color: #164FAB; } + +/* TODO: Expand to other colors */ +.bar.bar-positive.dark-positive-bg { + background-color: #2C5CAD; } + +/* TODO: Expand to other colors */ +.muted { + color: #C3C3C3; } + +.clear-bg { + background: transparent; } + +/* Motion: Blinds +==================================*/ +.animate-blinds .item, +.animate-blinds .item { + visibility: hidden; } + +.animate-blinds .item, +.animate-blinds .item { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-blinds .item-bg-image > img.background, +.animate-blinds .item-bg-image > img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-blinds .in, +.animate-blinds.done > *, +.animate-blinds .in, +.animate-blinds.done > * { + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.animate-blinds .in, +.animate-blinds.done .item, +.animate-blinds .in, +.animate-blinds.done .item { + visibility: visible; } + +.animate-blinds .item, +.animate-blinds .item { + visibility: hidden; } + +.animate-blinds .item, +.animate-blinds .item { + opacity: 0; + filter: alpha(opacity=0); } + +.animate-blinds .in, +.animate-blinds.done, +.animate-blinds .in, +.animate-blinds.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + opacity: 1; + filter: alpha(opacity=100); } + +.animate-blinds .in, +.animate-blinds.done, +.animate-blinds .in, +.animate-blinds.done { + visibility: visible; } + +.animate-blinds.done .in, +.animate-blinds.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-blinds .has-mask-reverse:after, +.animate-blinds .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-blinds.done .has-mask-reverse:after, +.animate-blinds.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-blinds .out, +.animate-blinds .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Pan In Left +==================================*/ +.animate-pan-in-left, +.animate-pan-in-left { + background-position: 0% 0%; } + +/* Motion: Ripple +==================================*/ +.animate-ripple .done, +.animate-ripple .done { + visibility: hidden; } + +.animate-ripple .done, +.animate-ripple .done { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-ripple .item-bg-image img.background, +.animate-ripple .item-bg-image img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-ripple .in, .animate-ripple.done, +.animate-ripple .in, .animate-ripple.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-ripple .in, .animate-ripple.done, +.animate-ripple .in, .animate-ripple.done { + visibility: visible; } + +.animate-ripple .item { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); + opacity: 0; + filter: alpha(opacity=0); } + +.animate-ripple .item.in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-ripple .done { + visibility: hidden; } + +.animate-ripple .done, +.animate-ripple .done { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +/* Uncomment if you want images to fade in after the card + + .animate-ripple .in .item-bg-image img:last-child, + .animate-ripple .in .item-bg-image img:last-child { + opacity: 0; + } + + .animate-ripple.done .item-bg-image img:last-child, + .animate-ripple.done .item-bg-image img:last-child { + opacity: 1; + -moz-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + -webkit-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; + } + + .animate-ripple .item-bg-image img:last-child, + .animate-ripple .item-bg-image img:last-child { + box-shadow: none; + -moz-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + .animate-ripple .in .item-bg-image img:last-child, + .animate-ripple .in .item-bg-image img:last-child { + opacity: 0; + } + +.animate-ripple.done .item-bg-image img:last-child, +.animate-ripple.done .item-bg-image img:last-child { + opacity: 1; + -moz-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; +} + +.animate-ripple .in, +.animate-ripple .in { + opacity: 0.6; +} +*/ +.animate-ripple .in, .animate-ripple.done, .animate-ripple .in, .animate-ripple.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-ripple .in, .animate-ripple.done, .animate-ripple .in, .animate-ripple.done { + visibility: visible; } + +.animate-ripple.done .in, .animate-ripple.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-ripple .has-mask-reverse:after, .animate-ripple .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-ripple.done .has-mask-reverse:after, .animate-ripple.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-ripple .out, .animate-ripple .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Slide / Fade In +==================================*/ +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + visibility: hidden; } + +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-fade-slide-in .item-bg-image img.background, +.animate-fade-slide-in .item-bg-image img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item { + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done .item { + visibility: visible; } + +.list .item.item-bg-image, +.list .item.item-bg-image { + max-height: 150px; } + +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + visibility: hidden; } + +.animate-fade-slide-in .item, +.animate-fade-slide-in .item { + -ms-transform: translate3d(-250px, 250px, 0); + -webkit-transform: translate3d(-250px, 250px, 0); + transform: translate3d(-250px, 250px, 0); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 0; + filter: alpha(opacity=0); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in .in, +.animate-fade-slide-in.done, +.animate-fade-slide-in .in, +.animate-fade-slide-in.done { + visibility: visible; } + +.animate-fade-slide-in.done .in, +.animate-fade-slide-in.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in .has-mask-reverse:after, +.animate-fade-slide-in .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-fade-slide-in.done .has-mask-reverse:after, +.animate-fade-slide-in.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in .out, +.animate-fade-slide-in .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Slide In Right +==================================*/ +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + visibility: hidden; } + +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + -ms-transform: scale3d(0.8, 0, 1); + -webkit-transform: scale3d(0.8, 0, 1); + transform: scale3d(0.8, 0, 1); + -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.3s cubic-bezier(0.55, 0, 0.1, 1); } + +.animate-fade-slide-in-right .item-bg-image > img.background, +.animate-fade-slide-in-right .item-bg-image > img.background { + box-shadow: none; + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done > *, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done > * { + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done .item, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done .item { + visibility: visible; } + +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + visibility: hidden; } + +.animate-fade-slide-in-right .item, +.animate-fade-slide-in-right .item { + -ms-transform: translate3d(250px, 250px, 0); + -webkit-transform: translate3d(250px, 250px, 0); + transform: translate3d(250px, 250px, 0); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1); + opacity: 0; + filter: alpha(opacity=0); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done { + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done, +.animate-fade-slide-in-right .in, +.animate-fade-slide-in-right.done { + visibility: visible; } + +.animate-fade-slide-in-right.done .in, +.animate-fade-slide-in-right.done .in { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in-right .has-mask-reverse:after, +.animate-fade-slide-in-right .has-mask-reverse:after { + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; } + +.animate-fade-slide-in-right.done .has-mask-reverse:after, +.animate-fade-slide-in-right.done .has-mask-reverse:after { + opacity: 1; + filter: alpha(opacity=100); } + +.animate-fade-slide-in-right .out, +.animate-fade-slide-in-right .out { + -ms-transform: scale3d(0, 0, 1); + -webkit-transform: scale3d(0, 0, 1); + transform: scale3d(0, 0, 1); } + +/* Motion: Slide Up +==================================*/ +.slide-up, +.slide-up, +.hero.slide-up { + height: 100%; + overflow: hidden; + text-align: center; } + +.slide-up { + -webkit-transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + transition: all 1s cubic-bezier(0.55, 0, 0.1, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.slide-up *, +.slide-up *, +.hero.slide-up * { + opacity: 0; + filter: alpha(opacity=0); } + +.hero.slide-up + .mid-bar, +.slide-up + .mid-bar, +.slide-up + .mid-bar { + height: 100%; + opacity: 0.7; + filter: alpha(opacity=70); + -webkit-transform: translate3d(100%, -240px, 0); + transform: translate3d(100%, -240px, 0); } + +/*! + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Forked by Zach Fitzgerald and other contributors for Ionic Material + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */ +.ink, .button-fab, .button-flat, .button-raised, .button-clear, .popup .button { + position: relative; + cursor: pointer; + /*display: inline-block;*/ + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + transition: all 0.3s ease-out; } + +.ink-ripple { + position: absolute; + border-radius: 50%; + width: 100px; + height: 100px; + margin-top: -50px; + margin-left: -50px; + opacity: 0; + background-color: rgba(255, 255, 255, 0.4); + -webkit-transition: all 0.5s ease-out; + -moz-transition: all 0.5s ease-out; + -o-transition: all 0.5s ease-out; + transition: all 0.5s ease-out; + -webkit-transition-property: -webkit-transform, opacity; + -moz-transition-property: -moz-transform, opacity; + -o-transition-property: -o-transform, opacity; + transition-property: transform, opacity; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); + pointer-events: none; } + +.ink-notransition { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + transition: none !important; } + +.button-fab, +.button-flat, +.button-clear, +.button-raised, +.ink-button, +.ink-circle { + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); + transform: translateZ(0); } + +.button-fab.activated, +.button-flat.activated, +.button-raised.activated, +.button-clear.activated, +.ink-button.activated, +.ink.activated, +.ink-circle.activated, +.popup .button.activated, +.button-fab:active, +.button-flat:active, +.button-raised:active, +.button-clear:active, +.ink-button:active, +.ink:active, +.ink-circle:active, +.popup .button:active { + -webkit-mask-image: -webkit-radial-gradient(circle, #ffffff 100%, #000000 100%); } + +.ink-button, +.ink-button:visited, +.ink-button:link, +.button-fab, +.button-fab:visited, +.button-fab:link, +.button-flat, +.button-flat:visited, +.button-flat:link, +.button-raised, +.button-raised:visited, +.button-raised:link, +.button-clear, +.button-clear:visited, +.button-clear:link, +.ink-button-input { + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border: none; + outline: none; + /* color: inherit; */ + /* background-color: rgba(0, 0, 0, 0); */ + font-size: 14px; + text-align: center; + text-decoration: none; + z-index: 1; } + +.ink-button { + padding: 10px 15px; + border-radius: 2px; } + +.ink-button-input { + margin: 0; + padding: 10px 15px; } + +.ink-input-wrapper { + border-radius: 2px; + vertical-align: bottom; } + +.ink-input-wrapper.ink-button { + padding: 0; } + +.ink-input-wrapper .ink-button-input { + position: relative; + top: 0; + left: 0; + z-index: 1; } + +.ink-circle { + text-align: center; + width: 2.5em; + height: 2.5em; + line-height: 2.5em; + border-radius: 50%; } + +.ink-float { + -webkit-mask-image: none; + -webkit-box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12); + box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12); } + +.ink-float:active { + -webkit-box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3); + box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3); } + +.ink-block { + display: block; } + +.ink-ripple { + z-index: 0; + /* Firefox Bug: link not triggered unless -1 z-index */ } + +/* Handled elsewhere +.button-fab,.button-raised,.button-flat,.ink-circle,.list a.item { + -webkit-mask-image: none; +} +*/ +.button-clear .ink-ripple, +*[class$="-clear"] > .ink-ripple, +*[class$="-light"] > .ink-ripple, +*[class$="-stable"] > .ink-ripple, +*[class$="-100"] > .ink-ripple, +.list .ink-ripple, +.ink-dark .ink-ripple { + background-color: rgba(0, 0, 0, 0.2); } + +.tab-item { + position: relative; + /* for Ink */ } + +/* Ionic Overrides +==================================*/ +* { + font-family: "RobotoDraft","Roboto","Helvetica Neue", "Segoe UI", sans-serif; } + +.rounded { + border-radius: 4px; } + +a { + cursor: pointer; } + +.has-header.expanded { + /* Expanded modifier */ + top: 76px; } + +/* Bar Overrides +==================================*/ +.bar { + border-bottom: none; + padding: 0; } + +.bar .button { + min-height: 44px; + min-width: 44px; + max-width: 48px; + margin-bottom: 0; + max-height: 44px; + width: 48px; } + +.bar .title + .buttons.buttons-right { + right: 0; + top: 0; } + +/* Title Overrides +==================================*/ +.title-left, +.title.title-left { + left: 48px; } + +.title-right, +.title.title-right { + left: 48px; } + +/* Background Colors +==================================*/ +.positive-bg, +.button-positive, +.bar .button-positive, +.header-positive, +.button-bar-positive, +.bar-positive, +.positive-border, +.positive-bg:hover, +.bar .button-positive:hover, +.button-positive:hover, +.header-positive:hover, +.button-bar-positive:hover, +.bar-positive:hover, +.positive-border:hover, +.positive-bg:active, +.bar .button-positive:active, +.button-positive:active, +.header-positive:active, +.button-bar-positive:active, +.bar-positive:active, +.positive-border:active, +.positive-bg.activated, +.bar .button-positive.activated, +.button-positive.activated, +.header-positive.activated, +.button-bar-positive.activated, +.bar-positive.activated, +.positive-border.activated { + background-color: #3F51B5; + color: #fff; } + +.positive-900-bg, +.button-positive-900, +.bar .button-positive-900, +.header-positive-900, +.button-bar-positive-900, +.bar-positive-900, +.positive-900-border, +.positive-900-bg:hover, +.button-positive-900:hover, +.bar .button-positive-900:hover, +.header-positive-900:hover, +.button-bar-positive-900:hover, +.bar-positive-900:hover, +.positive-900-border:hover, +.positive-900-bg:active, +.bar .button-positive-900:active, +.button-positive-900:active, +.header-positive-900:active, +.button-bar-positive-900:active, +.bar-positive-900:active, +.positive-900-border:active, +.positive-900-bg.activated, +.button-positive-900.activated, +.bar .button-positive-900.activated, +.header-positive-900.activated, +.button-bar-positive-900.activated, +.bar-positive-900.activated, +.positive-900-border.activated { + background-color: #1A237E; + color: #fff; } + +.positive-100-bg, +.button-positive-100, +.bar .button-positive-100, +.header-positive-100, +.button-bar-positive-100, +.bar-positive-100, +.positive-100-border, +.positive-100-bg:hover, +.button-positive-100:hover, +.bar .button-positive-100:hover, +.header-positive-100:hover, +.button-bar-positive-100:hover, +.bar-positive-100:hover, +.positive-100-border:hover, +.positive-100-bg:active, +.button-positive-100:active, +.bar .button-positive-100:active, +.header-positive-100:active, +.button-bar-positive-100:active, +.bar-positive-100:active, +.positive-100-border:active, +.positive-100-bg.activated, +.button-positive-100.activated, +.bar .button-positive-100.activated, +.header-positive-100.activated, +.button-bar-positive-100.activated, +.bar-positive-100.activated, +.positive-100-border.activated { + background-color: #C5CAE9; + color: #fff; } + +.calm-bg, +.button-calm, +.bar .button-calm, +.header-calm, +.button-bar-calm, +.bar-calm, +.calm-border, +.calm-bg:hover, +.button-calm:hover, +.bar .button-calm:hover, +.header-calm:hover, +.button-bar-calm:hover, +.bar-calm:hover, +.calm-border:hover, +.calm-bg:active, +.button-calm:active, +.bar .button-calm:active, +.header-calm:active, +.button-bar-calm:active, +.bar-calm:active, +.calm-border:active, +.calm-bg.activated, +.button-calm.activated, +.bar .button-calm.activated, +.header-calm.activated, +.button-bar-calm.activated, +.bar-calm.activated, +.calm-border.activated { + background-color: #2196F3; + color: #fff; } + +.calm-900-bg, +.button-calm-900, +.bar .button-calm-900, +.header-calm-900, +.button-bar-calm-900, +.bar-calm-900, +.calm-900-border, +.calm-900-bg:hover, +.button-calm-900:hover, +.bar .button-calm-900:hover, +.header-calm-900:hover, +.button-bar-calm-900:hover, +.bar-calm-900:hover, +.calm-900-border:hover, +.calm-900-bg:active, +.button-calm-900:active, +.bar .button-calm-900:active, +.header-calm-900:active, +.button-bar-calm-900:active, +.bar-calm-900:active, +.calm-900-border:active, +.calm-900-bg.activated, +.button-calm-900.activated, +.bar .button-calm-900.activated, +.header-calm-900.activated, +.button-bar-calm-900.activated, +.bar-calm-900.activated, +.calm-900-border.activated { + background-color: #0D47A1; + color: #fff; } + +.calm-100-bg, +.button-calm-100, +.bar .button-calm-100, +.header-calm-100, +.button-bar-calm-100, +.bar-calm-100, +.calm-100-border, +.calm-100-bg:hover, +.button-calm-100:hover, +.bar .button-calm-100:hover, +.header-calm-100:hover, +.button-bar-calm-100:hover, +.bar-calm-100:hover, +.calm-100-border:hover, +.calm-100-bg:active, +.button-calm-100:active, +.bar .button-calm-100:active, +.header-calm-100:active, +.button-bar-calm-100:active, +.bar-calm-100:active, +.calm-100-border:active, +.calm-100-bg.activated, +.button-calm-100.activated, +.bar .button-calm-100.activated, +.header-calm-100.activated, +.button-bar-calm-100.activated, +.bar-calm-100.activated, +.calm-100-border.activated { + background-color: #BBDEFB; + color: #fff; } + +.royal-bg, +.button-royal, +.bar .button-royal, +.header-royal, +.button-bar-royal, +.bar-royal, +.royal-border, +.royal-bg:hover, +.button-royal:hover, +.bar .button-royal:hover, +.header-royal:hover, +.button-bar-royal:hover, +.bar-royal:hover, +.royal-border:hover, +.royal-bg:active, +.button-royal:active, +.bar .button-royal:active, +.header-royal:active, +.button-bar-royal:active, +.bar-royal:active, +.royal-border:active, +.royal-bg.activated, +.button-royal.activated, +.bar .button-royal.activated, +.header-royal.activated, +.button-bar-royal.activated, +.bar-royal.activated, +.royal-border.activated { + background-color: #673AB7; + color: #fff; } + +.royal-900-bg, +.button-royal-900, +.bar .button-royal-900, +.header-royal-900, +.button-bar-royal-900, +.bar-royal-900, +.royal-900-border, +.royal-900-bg:hover, +.button-royal-900:hover, +.bar .button-royal-900:hover, +.header-royal-900:hover, +.button-bar-royal-900:hover, +.bar-royal-900:hover, +.royal-900-border:hover, +.royal-900-bg:active, +.button-royal-900:active, +.bar .button-royal-900:active, +.header-royal-900:active, +.button-bar-royal-900:active, +.bar-royal-900:active, +.royal-900-border:active, +.royal-900-bg.activated, +.button-royal-900.activated, +.bar .button-royal-900.activated, +.header-royal-900.activated, +.button-bar-royal-900.activated, +.bar-royal-900.activated, +.royal-900-border.activated { + background-color: #311B92; + color: #fff; } + +.royal-100-bg, +.button-royal-100, +.bar .button-royal-100, +.header-royal-100, +.button-bar-royal-100, +.bar-royal-100, +.royal-100-border, +.royal-100-bg:hover, +.button-royal-100:hover, +.bar .button-royal-100:hover, +.header-royal-100:hover, +.button-bar-royal-100:hover, +.bar-royal-100:hover, +.royal-100-border:hover, +.royal-100-bg:active, +.button-royal-100:active, +.bar .button-royal-100:active, +.header-royal-100:active, +.button-bar-royal-100:active, +.bar-royal-100:active, +.royal-100-border:active, +.royal-100-bg.activated, +.button-royal-100.activated, +.bar .button-royal-100.activated, +.header-royal-100.activated, +.button-bar-royal-100.activated, +.bar-royal-100.activated, +.royal-100-border.activated { + background-color: #D1C4E9; + color: #fff; } + +.balanced-bg, +.button-balanced, +.bar .button-balanced, +.header-balanced, +.button-bar-balanced, +.bar-balanced, +.balanced-border, +.balanced-bg:hover, +.button-balanced:hover, +.bar .button-balanced:hover, +.header-balanced:hover, +.button-bar-balanced:hover, +.bar-balanced:hover, +.balanced-border:hover, +.balanced-bg:active, +.button-balanced:active, +.bar .button-balanced:active, +.header-balanced:active, +.button-bar-balanced:active, +.bar-balanced:active, +.balanced-border:active, +.balanced-bg.activated, +.button-balanced.activated, +.bar .button-balanced.activated, +.header-balanced.activated, +.button-bar-balanced.activated, +.bar-balanced.activated, +.balanced-border.activated { + background-color: #4CAF50; + color: #fff; } + +.balanced-900-bg, +.button-balanced-900, +.bar .button-balanced-900, +.header-balanced-900, +.button-bar-balanced-900, +.bar-balanced-900, +.balanced-900-border, +.balanced-900-bg:hover, +.button-balanced-900:hover, +.bar .button-balanced-900:hover, +.header-balanced-900:hover, +.button-bar-balanced-900:hover, +.bar-balanced-900:hover, +.balanced-900-border:hover, +.balanced-900-bg:active, +.button-balanced-900:active, +.bar .button-balanced-900:active, +.header-balanced-900:active, +.button-bar-balanced-900:active, +.bar-balanced-900:active, +.balanced-900-border:active, +.balanced-900-bg.activated, +.button-balanced-900.activated, +.bar .button-balanced-900.activated, +.header-balanced-900.activated, +.button-bar-balanced-900.activated, +.bar-balanced-900.activated, +.balanced-900-border.activated { + background-color: #1B5E20; + color: #fff; } + +.balanced-100-bg, +.button-balanced-100, +.bar .button-balanced-100, +.header-balanced-100, +.button-bar-balanced-100, +.bar-balanced-100, +.balanced-100-border, +.balanced-100-bg:hover, +.button-balanced-100:hover, +.bar .balanced-100-bg:hover, +.header-balanced-100:hover, +.button-bar-balanced-100:hover, +.bar-balanced-100:hover, +.balanced-100-border:hover, +.balanced-100-bg:active, +.button-balanced-100:active, +.bar .button-balanced-100:active, +.header-balanced-100:active, +.button-bar-balanced-100:active, +.bar-balanced-100:active, +.balanced-100-border:active, +.balanced-100-bg.activated, +.button-balanced-100.activated, +.bar .button-balanced-100.activated, +.header-balanced-100.activated, +.button-bar-balanced-100.activated, +.bar-balanced-100.activated, +.balanced-100-border.activated { + background-color: #C8E6C9; + color: #fff; } + +.energized-bg, +.button-energized, +.bar .button-energized, +.header-energized, +.button-bar-energized, +.bar-energized, +.energized-border, +.energized-bg:hover, +.button-energized:hover, +.bar .button-energized:hover, +.header-energized:hover, +.button-bar-energized:hover, +.bar-energized:hover, +.energized-border:hover, +.energized-bg:active, +.button-energized:active, +.bar .button-energized:active, +.header-energized:active, +.button-bar-energized:active, +.bar-energized:active, +.energized-border:active, +.energized-bg.activated, +.button-energized.activated, +.bar .button-energized.activated, +.header-energized.activated, +.button-bar-energized.activated, +.bar-energized.activated, +.energized-border.activated { + background-color: #FF9800; + color: #fff; } + +.energized-900-bg, +.button-energized-900, +.bar .button-energized-900, +.header-energized-900, +.button-bar-energized-900, +.bar-energized-900, +.energized-900-border, +.energized-900-bg:hover, +.button-energized-900:hover, +.bar .button-energized-900:hover, +.header-energized-900:hover, +.button-bar-energized-900:hover, +.bar-energized-900:hover, +.energized-900-border:hover, +.energized-900-bg:active, +.button-energized-900:active, +.bar .button-energized-900:active, +.header-energized-900:active, +.button-bar-energized-900:active, +.bar-energized-900:active, +.energized-900-border:active, +.energized-900-bg.activated, +.button-energized-900.activated, +.bar .button-energized-900.activated, +.header-energized-900.activated, +.button-bar-energized-900.activated, +.bar-energized-900.activated, +.energized-900-border.activated { + background-color: #E65100; + color: #fff; } + +.energized-100-bg, +.button-energized-100, +.bar .button-energized-100, +.header-energized-100, +.button-bar-energized-100, +.bar-energized-100, +.energized-100-border, +.energized-100-bg:hover, +.button-energized-100:hover, +.bar .button-energized-100:hover, +.header-energized-100:hover, +.button-bar-energized-100:hover, +.bar-energized-100:hover, +.energized-100-border:hover, +.energized-100-bg:active, +.button-energized-100:active, +.bar .button-energized-100:active, +.header-energized-100:active, +.button-bar-energized-100:active, +.bar-energized-100:active, +.energized-100-border:active, +.energized-100-bg.activated, +.button-energized-100.activated, +.bar .button-energized-100.activated, +.header-energized-100.activated, +.button-bar-energized-100.activated, +.bar-energized-100.activated, +.energized-100-border.activated { + background-color: #FFE0B2; } + +.assertive-bg, +.button-assertive, +.bar .button-assertive, +.header-assertive, +.button-bar-assertive, +.bar-assertive, +.assertive-border, +.assertive-bg:hover, +.button-assertive:hover, +.bar .button-assertive:hover, +.header-assertive:hover, +.button-bar-assertive:hover, +.bar-assertive:hover, +.assertive-border:hover, +.assertive-bg:active, +.button-assertive:active, +.bar .button-assertive:active, +.header-assertive:active, +.button-bar-assertive:active, +.bar-assertive:active, +.assertive-border:active, +.assertive-bg.activated, +.button-assertive.activated, +.bar .button-assertive.activated, +.header-assertive.activated, +.button-bar-assertive.activated, +.bar-assertive.activated, +.assertive-border.activated { + background-color: #F44336; + color: #fff; } + +.assertive-900-bg, +.button-assertive-900, +.bar .button-assertive-900, +.header-assertive-900, +.button-bar-assertive-900, +.bar-assertive-900, +.assertive-900-border, +.assertive-900-bg:hover, +.button-assertive-900:hover, +.bar .button-assertive-900:hover, +.header-assertive-900:hover, +.button-bar-assertive-900:hover, +.bar-assertive-900:hover, +.assertive-900-border:hover, +.assertive-900-bg:active, +.button-assertive-900:active, +.bar .button-assertive-900:active, +.header-assertive-900:active, +.button-bar-assertive-900:active, +.bar-assertive-900:active, +.assertive-900-border:active, +.assertive-900-bg.activated, +.button-assertive-900.activated, +.bar .button-assertive-900.activated, +.header-assertive-900.activated, +.button-bar-assertive-900.activated, +.bar-assertive-900.activated, +.assertive-900-border.activated { + background-color: #B71C1C; + color: #fff; } + +.assertive-100-bg, +.button-assertive-100, +.bar .button-assertive-100, +.header-assertive-100, +.button-bar-assertive-100, +.bar-assertive-100, +.assertive-100-border, +.assertive-100-bg:hover, +.button-assertive-100:hover, +.bar .button-assertive-100:hover, +.header-assertive-100:hover, +.button-bar-assertive-100:hover, +.bar-assertive-100:hover, +.assertive-100-border:hover, +.assertive-100-bg:active, +.button-assertive-100:active, +.bar .button-assertive-100:active, +.header-assertive-100:active, +.button-bar-assertive-100:active, +.bar-assertive-100:active, +.assertive-100-border:active, +.assertive-100-bg.activated, +.bar .button-assertive-100.activated, +.button-assertive-100.activated, +.header-assertive-100.activated, +.button-bar-assertive-100.activated, +.bar-assertive-100.activated, +.assertive-100-border.activated { + background-color: #FFCDD2; + color: #fff; } + +.stable-bg, +.button-stable, +.bar .button-stable, +.header-stable, +.button-bar-stable, +.bar-stable, +.stable-border, +.stable-bg:hover, +.button-stable:hover, +.bar .button-stable:hover, +.header-stable:hover, +.button-bar-stable:hover, +.bar-stable:hover, +.stable-border:hover, +.stable-bg:active, +.button-stable:active, +.bar .button-stable:active, +.header-stable:active, +.button-bar-stable:active, +.bar-stable:active, +.stable-border:active, +.stable-bg.activated, +.button-stable.activated, +.bar .button-stable.activated, +.header-stable.activated, +.button-bar-stable.activated, +.bar-stable.activated, +.stable-border.activated { + background-color: #E0E0E0; + color: #fff; } + +/* Text Colors +==================================*/ +.positive, +.positive *, +*.positive, +.positive:hover, +.positive:hover *, +*.positive:hover, +.positive:active, +.positive:active *, +*.positive:active { + color: #3F51B5; } + +.positive-900, +.positive-900 *, +*.positive-900, +.positive-900:hover, +.positive-900:hover *, +*.positive-900:hover, +.positive-900:active, +.positive-900:active *, +*.positive-900:active { + color: #3F51B5; } + +.positive-100, +.positive-100 *, +*.positive-100, +.positive-100:hover, +.positive-100:hover *, +*.positive-100:hover, +.positive-100:active, +.positive-100:active *, +*.positive-100:active { + color: #C5CAE9; } + +.calm-100, +.calm-100 *, +*.calm-100, +.calm-100:hover, +.calm-100:hover *, +*.calm-100:hover, +.calm-100:active, +.calm-100:active *, +*.calm-100:active { + color: #2196F3; } + +.calm-900, +.calm-900 *, +*.calm-900, +.calm-900:hover, +.calm-900:hover *, +*.calm-900:hover, +.calm-900:active, +.calm-900:active *, +*.calm-900:active { + color: #0D47A1; } + +.calm-100, +.calm-100 *, +*.calm-100, +.calm-100:hover, +.calm-100:hover *, +*.calm-100:hover, +.calm-100:active, +.calm-100:active *, +*.calm-100:active { + color: #BBDEFB; } + +.royal, +.royal *, +*.royal, +.royal:hover, +.royal:hover *, +*.royal:hover, +.royal:active, +.royal:active *, +*.royal:active { + color: #673AB7; } + +.royal-900, +.royal-900 *, +*.royal-900, +.royal-900:hover, +.royal-900:hover *, +*.royal-900:hover, +.royal-900:active, +.royal-900:active *, +*.royal-900:active { + color: #311B92; } + +.royal-100, +.royal-100 *, +*.royal-100, +.royal-100:hover, +.royal-100:hover *, +*.royal-100:hover, +.royal-100:active, +.royal-100:active *, +*.royal-100:active { + color: #D1C4E9; } + +.balanced, +.balanced *, +*.balanced, +.balanced:hover, +.balanced:hover *, +*.balanced:hover, +.balanced:active, +.balanced:active *, +*.balanced:active { + color: #4CAF50; } + +.balanced-900, +.balanced-900 *, +*.balanced-900, +.balanced-900:hover, +.balanced-900:hover *, +*.balanced-900:hover, +.balanced-900:active, +.balanced-900:active *, +*.balanced-900:active { + color: #1B5E20; } + +.balanced-100, +.balanced-100 *, +*.balanced-100, +.balanced-100:hover, +.balanced-100:hover *, +*.balanced-100:hover, +.balanced-100:active, +.balanced-100:active *, +*.balanced-100:active { + color: #C8E6C9; } + +.energized, +.energized *, +*.energized, +.energized:hover, +.energized:hover *, +*.energized:hover, +.energized:active, +.energized:active *, +*.energized:active { + color: #FF9800; } + +.energized-900, +.energized-900 *, +*.energized-900, +.energized-900:hover, +.energized-900:hover *, +*.energized-900:hover, +.energized-900:active, +.energized-900:active *, +*.energized-900:active { + color: #E65100; } + +.energized-100, +.energized-100 *, +*.energized-100, +.energized-100:hover, +.energized-100:hover *, +*.energized-100:hover, +.energized-100:active, +.energized-100:active *, +*.energized-100:active { + color: #FFE0B2; } + +.assertive, +.assertive *, +*.assertive, +.assertive:hover, +.assertive:hover *, +*.assertive:hover, +.assertive:active, +.assertive:active *, +*.assertive:active { + color: #F44336; } + +.assertive-900, +.assertive-900 *, +*.assertive-900, +.assertive-900:hover, +.assertive-900:hover *, +*.assertive-900:hover, +.assertive-900:active, +.assertive-900:active *, +*.assertive-900:active { + color: #B71C1C; } + +.assertive-100, +.assertive-100 *, +*.assertive-100, +.assertive-100:hover, +.assertive-100:hover *, +*.assertive-100:hover, +.assertive-100:active, +.assertive-100:active *, +*.assertive-100:active { + color: #FFCDD2; } + +.stable, +.stable *, +*.stable, +.stable:hover, +.stable:hover *, +*.stable:hover, +.stable:active, +.stable:active *, +*.stable:active { + color: #E0E0E0; } + +.light, +.light *, +*.light, +.light:hover, +.light:hover *, +*.light:hover, +.light:active, +.light:active *, +*.light:active { + color: #fff; } + +.dark, +.dark *, +*.dark, +.dark:hover, +.dark:hover *, +*.dark:hover, +.dark:active, +.dark:active *, +*.dark:active { + color: #444; } + +.light-border { + border-color: #ddd; } + +.navbar-default .navbar-nav > li > a { + margin: 0; + padding-right: 26px; + padding-left: 26px; + border-top: 3px solid transparent; + color: #BFD5C9; + opacity: 1; } + +/* Mid-Bar +==================================*/ +.mid-bar { + padding: 16px; } + +.mid-bar h1, +.mid-bar h2, +.mid-bar h3, +.mid-bar h4, +.mid-bar h5, +.mid-bar h6 { + color: #fff; + margin-bottom: 5px; } + +.mid-bar p { + color: rgba(255, 255, 255, 0.5); + margin-bottom: 0; } + +/* Item +==================================*/ +.item-avatar, +.item-avatar .item-content, +.item-avatar-left, +.item-avatar-left .item-content, +.card > .item-avatar { + padding-left: 95px; } + +.item, +.item-complex .item-content, +.item-radio .item-content { + background-color: transparent; } + +.dark-bg h2, +.item.dark-bg h2 { + color: #fff; } + +.tabs-striped .tabs { + box-shadow: 0px 2px 5px 0 rgba(0, 0, 0, 0.26); } + +.bar .button.button-clear { + color: #fff; } + +.bar .button.button-icon .icon:before, +.bar .button.button-icon.icon-left:before, +.bar .button.button-icon.icon-right:before, +.bar .button.button-icon:before { + vertical-align: top; + font-size: 24px; } + +.menu { + background-color: transparent; } + +.button-icon.button.active, +.button-icon.button.activated { + opacity: initial; } + +/* Popover +==================================*/ +.popover { + opacity: 0; + position: absolute; + right: 8px; + transform: translate(50%, -50%) scale(0, 0); + transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; + top: 8px; } + +.popover.ng-enter { + opacity: 1; + transform: translate(0, -14px) scale(1, 1); + transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; } + +.popover.ng-leave { + opacity: 0; + transform: translate(50%, -50%) scale(0, 0); + transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out; } + +/* Button +==================================*/ +.button { + overflow: hidden !important; } diff --git a/platforms/android/assets/www/lib/ionic-material/ionic.material.js b/platforms/android/assets/www/lib/ionic-material/ionic.material.js new file mode 100644 index 0000000..cc39d3b --- /dev/null +++ b/platforms/android/assets/www/lib/ionic-material/ionic.material.js @@ -0,0 +1,957 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory((function webpackLoadOptionalExternalModule() { try { return require("angular"); } catch(e) {} }())); + else if(typeof define === 'function' && define.amd) + define(["angular"], factory); + else if(typeof exports === 'object') + exports["ionicMaterial"] = factory((function webpackLoadOptionalExternalModule() { try { return require("angular"); } catch(e) {} }())); + else + root["ionicMaterial"] = factory(root["angular"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Ionic Material + * "Bundle Index" / "Entryfile" + * https://github.com/zachsoft/ionic-material + * + * Recommended: use a compiled version, especially in production! + */ + + 'use strict'; + + module.exports = (function(){ + + var angular; + + try { + angular = __webpack_require__(1); + } catch(err){ } + + if(!angular || !angular.version){ + /*global window: true*/ + angular = window.angular; + /*global window: false*/ + } + + if(!angular || !angular.version){ + throw new Error('ionic-material could not load angular module :('); + } + + // set up angular module + var app = angular.module('ionic-material', ['ionic']); + + // Import Dependencies + __webpack_require__(2)(app); + __webpack_require__(3)(app); + + return 'ionic-material'; + })(); + + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + if(typeof __WEBPACK_EXTERNAL_MODULE_1__ === 'undefined') {var e = new Error("Cannot find module \"angular\""); e.code = 'MODULE_NOT_FOUND'; throw e;} + module.exports = __WEBPACK_EXTERNAL_MODULE_1__; + +/***/ }, +/* 2 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + /*! + * Fork by Zach Fitzgerald and other contributors of Ionic Material + * + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */ + module.exports = function (angularApp) { + + angularApp.factory('ionicMaterialInk', ink); + + function ink (){ + /*global document*/ + var Ink = Ink || {}; + + // all DOM nodes + var $$; + + // phantomJS throws an error when you try to use document.querySelectorAll.bind + if(document && document.querySelectorAll && document.querySelectorAll.bind){ + try{ + // all DOM nodes + $$ = document.querySelectorAll.bind(document); + + } catch(e){} + } else if (window && window.angular && window.angular.element) { + // we can use angular.element instead + $$ = window.angular.element; + } else { + + + /** + * mout.js 0.11.0 bind and slice polyfills (substitutes?) + * TODO: pull out mout.js bind and slice molyfills and inject into material.ink + */ + + /** + * Create slice of source array or array-like object + */ + var slicePolyfill = function moutslicePolyfill(arr, start, end){ + var len = arr.length; + /*jshint eqnull:true */ + if (start == null) { + start = 0; + } else if (start < 0) { + start = Math.max(len + start, 0); + } else { + start = Math.min(start, len); + } + + + if (end == null) { + + end = len; + } else if (end < 0) { + end = Math.max(len + end, 0); + } else { + end = Math.min(end, len); + } + + var result = []; + while (start < end) { + result.push(arr[start++]); + } + + return result; + }; + + + + /** + * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection. + * @param {Function} fn Function. + * @param {object} context Execution context. + * @param {rest} args Arguments (0...n arguments). + * @return {Function} Wrapped Function. + */ + var bindPolyfill = function moutBind(fn, context, args){ + var argsArr = slicePolyfill(arguments, 2); //curried args + return function(){ + return fn.apply(context, argsArr.concat(slicePolyfill(arguments))); + }; + }; + + $$ = bindPolyfill(document.querySelectorAll, document); + /*jshint ignore:end */ + } + + if (!$$){ + throw new Error('ionic material ink module could not create reference of DOM nodes'); + } + + // Find exact position of element + function isWindow(obj) { + return obj !== null && obj === obj.window; + } + + function getWindow(elem) { + return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView; + } + + function offset(elem) { + var docElem, win, + box = { + top: 0, + left: 0 + }, + doc = elem && elem.ownerDocument; + + docElem = doc.documentElement; + + if (typeof elem.getBoundingClientRect !== typeof undefined) { + box = elem.getBoundingClientRect(); + } + win = getWindow(doc); + return { + top: box.top + win.pageYOffset - docElem.clientTop, + left: box.left + win.pageXOffset - docElem.clientLeft + }; + } + + function hexToRgb(hex) { + var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + return result ? { + r: parseInt(result[1], 16), + g: parseInt(result[2], 16), + b: parseInt(result[3], 16) + } : null; + } + + function convertStyle(obj) { + var style = ''; + + for (var a in obj) { + if (obj.hasOwnProperty(a)) { + style += (a + ':' + obj[a] + ';'); + } + } + + return style; + } + + var Effect = { + + // Effect delay + duration: 500, + + show: function(e) { + + // Disable right click + if (e.button === 2) { + return false; + } + + var el = this; + + // Create ripple + var ripple = document.createElement('div'); + var customColor = this.dataset.inkColor; + var customOpacity = this.dataset.inkOpacity; + var hasCustomRipple = customColor || customOpacity; + ripple.className = 'ink-ripple'; + el.appendChild(ripple); + + // Get click coordinate and element witdh + var pos = offset(el); + var relativeY = (e.pageY - pos.top); + var relativeX = (e.pageX - pos.left); + var scale = 'scale(' + ((el.clientWidth / 100) * 2.5) + ')'; + + // Support for touch devices + if ('touches' in e) { + relativeY = (e.touches[0].pageY - pos.top); + relativeX = (e.touches[0].pageX - pos.left); + } + + // Attach data to element + ripple.setAttribute('data-hold', Date.now()); + ripple.setAttribute('data-scale', scale); + ripple.setAttribute('data-x', relativeX); + ripple.setAttribute('data-y', relativeY); + + // Set ripple position + var rippleStyle = { + 'top': relativeY + 'px', + 'left': relativeX + 'px' + }; + + ripple.className = ripple.className + ' ink-notransition'; + + if (hasCustomRipple) { + var colorRgb; + if (customColor) { + var fromHex = hexToRgb(customColor); + colorRgb = fromHex.r + ',' + fromHex.g + ',' + fromHex.b; + } else { + colorRgb = '0,0,0'; + } + if (!customOpacity) { + customOpacity = 0.2; + } + var bg = 'rgba(' + colorRgb + ',' + customOpacity + ')'; + rippleStyle['background-color'] = bg; + } + + ripple.setAttribute('style', convertStyle(rippleStyle)); + ripple.className = ripple.className.replace('ink-notransition', ''); + + // Scale the ripple + rippleStyle['-webkit-transform'] = scale; + rippleStyle['-moz-transform'] = scale; + rippleStyle['-ms-transform'] = scale; + rippleStyle['-o-transform'] = scale; + rippleStyle.transform = scale; + rippleStyle.opacity = '1'; + + rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms'; + rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms'; + rippleStyle['-o-transition-duration'] = Effect.duration + 'ms'; + rippleStyle['transition-duration'] = Effect.duration + 'ms'; + + ripple.setAttribute('style', convertStyle(rippleStyle)); + }, + + hide: function() { + + var el = this; + + var width = el.clientWidth * 1.4; + + // Get first ripple + var ripple = null; + + var childrenLength = el.children.length; + + for (var a = 0; a < childrenLength; a++) { + if (el.children[a].className.indexOf('ink-ripple') !== -1) { + ripple = el.children[a]; + continue; + } + } + + if (!ripple) { + return false; + } + + var relativeX = ripple.getAttribute('data-x'); + var relativeY = ripple.getAttribute('data-y'); + var scale = ripple.getAttribute('data-scale'); + + // Get delay beetween mousedown and mouse leave + var diff = Date.now() - Number(ripple.getAttribute('data-hold')); + var delay = 500 - diff; + + if (delay < 0) { + delay = 0; + } + + // Fade out ripple after delay + setTimeout(function() { + + var style = { + 'top': relativeY + 'px', + 'left': relativeX + 'px', + 'opacity': '0', + + // Duration + '-webkit-transition-duration': Effect.duration + 'ms', + '-moz-transition-duration': Effect.duration + 'ms', + '-o-transition-duration': Effect.duration + 'ms', + 'transition-duration': Effect.duration + 'ms', + '-webkit-transform': scale, + '-moz-transform': scale, + '-ms-transform': scale, + '-o-transform': scale, + 'transform': scale, + }; + + ripple.setAttribute('style', convertStyle(style)); + + setTimeout(function() { + try { + el.removeChild(ripple); + } catch (e) { + return false; + } + }, Effect.duration); + }, delay); + }, + + // Little hack to make can perform ink effect + wrapInput: function(elements) { + + for (var a = 0; a < elements.length; a++) { + + var el = elements[a]; + + if (el.tagName.toLowerCase() === 'input') { + + var parent = el.parentNode; + + // If input already have parent just pass through + if (parent.tagName.toLowerCase() === 'i' && + parent.className.indexOf('ink') !== -1 && + parent.className.indexOf('tab-item') !== -1 && + parent.className.indexOf('button-fab') !== -1 && + parent.className.indexOf('button-raised') !== -1 && + parent.className.indexOf('button-flat') !== -1 && + parent.className.indexOf('button-clear') !== -1 && + parent.className.indexOf('button') !== -1 && + parent.className.indexOf('item') !== -1) { + return false; + } + + // Put element class and style to the specified parent + var wrapper = document.createElement('i'); + wrapper.className = el.className + ' ink-input-wrapper'; + + var elementStyle = el.getAttribute('style'); + + if (!elementStyle) { + elementStyle = ''; + } + + wrapper.setAttribute('style', elementStyle); + + el.className = 'ink-button-input'; + el.removeAttribute('style'); + + // Put element as child + parent.replaceChild(wrapper, el); + wrapper.appendChild(el); + } + } + } + }; + + Ink.displayEffect = function(options) { + options = options || {}; + + if ('duration' in options) { + Effect.duration = options.duration; + } + + //Wrap input inside tag + var selectors = '.ink,.tab-item,.button-fab,.button-raised,.button-flat,.button-clear,a.item,.popup .button'; + Effect.wrapInput($$(selectors)); + + Array.prototype.forEach.call($$(selectors), function(i) { + if ('ontouchstart' in window) { + i.addEventListener('touchstart', Effect.show, false); + i.addEventListener('touchend', Effect.hide, false); + i.addEventListener('touchcancel', Effect.hide, false); + } else { + i.addEventListener('mousedown', Effect.show, false); + i.addEventListener('mouseup', Effect.hide, false); + i.addEventListener('mouseleave', Effect.hide, false); + } + }); + }; + + return Ink; + } + + ink.inject = []; + }; + + +/***/ }, +/* 3 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = function(angularApp) { + angularApp.factory('ionicMaterialMotion', Motion); + + function Motion() { + /*global document, window*/ + + 'use strict'; + + /*============================================================================*/ + /* HELPERS (non-exports) + /=============================================================================* + / Abstract common lookups and manipulations in case better alternatives + / arise or future cross-platform differences warrant separate handling + /=============================================================================*/ + + function getViewportHeight() { + return window.innerHeight; + } + + function getBoundingClientRect(domNode) { + return domNode.getBoundingClientRect; + } + + function showNotAnimatedElements(elements, total) { + // Load the elements without effect + for (var i = 0; i < total; i++) { + var child = elements[i]; + child.className += ' in'; + child.className += ' done'; + } + } + + + + /*============================================================================*/ + /* MOTION (EXPORT) + /=============================================================================* + / Animation methods for the library + /=============================================================================*/ + + var motion = { + blinds: blinds, + fadeSlideIn: fadeSlideIn, + fadeSlideInRight: fadeSlideInRight, + panInLeft: panInLeft, + pushDown: pushDown, + ripple: ripple, + slideUp: slideUp + }; + + function blinds(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.5, + leftOffsetPercentage: 0.8, + selector: '.animate-blinds .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid blinds selector'); + return false; + } + + var animateBlindsDom = document.querySelectorAll(options.selector); + var elementsCount = animateBlindsDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not exacting + // more effort than required... + // + // We use css visiblity: hidden instead of display: none so the elements + // maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < elementsCount; i++) { + if (animateBlindsDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateBlindsDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateBlindsDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed / options.finishDelayThrottle).toFixed(2); + //child.querySelector('img').style.webkitTransitionDelay = delay + "s"; + //child.querySelector('img').style.transitionDelay = delay + "s"; + //child.querySelector('img').className += ' in'; + animateBlindsDom[i].className += ' done'; + } + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateBlindsDom, elementsCount); + } + + function fadeSlideIn(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.72, + leftOffsetPercentage: 0.8, + selector: '.animate-fade-slide-in .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid fadeSlideIn selector'); + return false; + } + + var animateFadeSlideInDom = document.querySelectorAll(options.selector); + var elementsCount = animateFadeSlideInDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not exacting + // more effort than required... + // + // We use css visiblity: hidden instead of display: none so the elements + // maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < elementsCount; i++) { + if (animateFadeSlideInDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateFadeSlideInDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateFadeSlideInDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delayValue = offset / speed / options.finishDelayThrottle; + var delay = parseFloat(delayValue).toFixed(2); + } + animateFadeSlideInDom[0].className += ' done'; + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateFadeSlideInDom, elementsCount); + } + + function fadeSlideInRight(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.72, + leftOffsetPercentage: 0.8, + selector: '.animate-fade-slide-in-right .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid fadeSlideInRight selector'); + return false; + } + + var animateSlideInRightDom = document.querySelectorAll(options.selector); + var elementsCount = animateSlideInRightDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not + // exacting more effort than required... + // + // We use css visiblity: hidden instead of display: none so the + // elements maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < elementsCount; i++) { + if (animateSlideInRightDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateSlideInRightDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateSlideInRightDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delayValue = offset / speed / options.finishDelayThrottle; + var delay = parseFloat(delayValue).toFixed(2); + } + animateSlideInRightDom[0].className += ' done'; + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateSlideInRightDom, elementsCount); + + } + + function ripple(options) { + + // Declare our defaults + var defaults = { + finishDelayThrottle: 2, + finishSpeedPercent: 0.72, + leftOffsetPercentage: 0.8, + selector: '.animate-ripple .item', + startVelocity: 1100 + }; + + // Apply defaults if properties are not passed + if (typeof options === 'undefined') { + options = {}; + } + + options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle; + options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent; + options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage; + options.startVelocity = options.startVelocity || defaults.startVelocity; + + if (typeof options.selector == 'undefined') { + options.selector = defaults.selector; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid ripple selector'); + return false; + } + + var animateRippleDom = document.querySelectorAll(options.selector); + var elementsCount = animateRippleDom.length; + var elementAnimationCount = 0; + + // Count the elements within the starting viewport so we're not + // exacting more effort than required... + // + // We use css visiblity: hidden instead of display: none so the + // elements maintain their DOM flow + + var viewportHeight = getViewportHeight(); + for (var i = 0; i < animateRippleDom.length; i++) { + if (animateRippleDom[i].offsetTop < viewportHeight) { + elementAnimationCount += 1; + continue; + } + break; + } + + // Sequentially animate with a delay based on proximity + var speed = options.startVelocity; + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateRippleDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delay = parseFloat(offset / speed).toFixed(2); + child.style.webkitTransitionDelay = delay + "s"; + child.style.transitionDelay = delay + "s"; + child.className += ' in'; + } + + // When we're done animating, switch the class to 'done' + setTimeout(function() { + for (var i = 0; i < elementAnimationCount; i++) { + var child = animateRippleDom[i]; + var childOffset = child.getBoundingClientRect(); + var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top; + var delayValue = offset / speed / options.finishDelayThrottle; + var delay = parseFloat(delayValue).toFixed(2); + } + animateRippleDom[0].className += ' done'; + + }, speed * options.finishSpeedPercent); + + // Load the elements without effect + showNotAnimatedElements(animateRippleDom, elementsCount); + } + + function panInLeft(options) { + + // We have a single option, so it may be passed as a string or property + if (typeof options === 'string') { + options = { + selector: options + }; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid pushDown selector'); + return false; + } + + var animatePanInLeftDom = document.querySelectorAll(options.selector); + var elementAnimationCount = animatePanInLeftDom.length; + for (var i = 0; i < elementAnimationCount; i++) { + var element = animatePanInLeftDom[i]; + var classNameToRemove = 'animate-pan-in-left'; + var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove); + element.className = element.className.substr(0, indexOfClassNameToRemove); + } + } + + function pushDown(options) { + + // We have a single option, so it may be passed as a string or property + if (typeof options === 'string') { + options = { + selector: options + }; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid pushDown selector'); + return false; + } + + var animatePushDownDom = document.querySelectorAll(options.selector); + var elementAnimationCount = animatePushDownDom.length; + for (var i = 0; i < elementAnimationCount; i++) { + var element = animatePushDownDom[i]; + var classNameToRemove = options.selector.split('.')[1]; + var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove); + element.className = element.className.substr(0, indexOfClassNameToRemove); + } + } + + function slideUp(options) { + + // We have a single option, so it may be passed as a string or property + if (typeof options === 'string') { + options = { + selector: options + }; + } + + // Fail early & silently log + var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === ''; + + if (isInvalidSelector) { + console.log('invalid pushDown selector'); + return false; + } + + var animateSlideUpDom = document.querySelectorAll(options.selector); + var elementAnimationCount = animateSlideUpDom.length; + for (var i = 0; i < elementAnimationCount; i++) { + var element = animateSlideUpDom[i]; + var classNameToRemove = options.selector.split('.')[1]; + var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove); + element.className = element.className.substr(0, indexOfClassNameToRemove); + } + } + + /* Export object + /============================================================================*/ + return motion; + } + + Motion.$inject = []; + }; + + +/***/ } +/******/ ]) +}); +; +//# sourceMappingURL=ionic.material.min.js.map \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic-material/ionic.material.min.css b/platforms/android/assets/www/lib/ionic-material/ionic.material.min.css new file mode 100644 index 0000000..7b6eb5c --- /dev/null +++ b/platforms/android/assets/www/lib/ionic-material/ionic.material.min.css @@ -0,0 +1,12 @@ +.item-md-label{display:block;background:0 0;box-shadow:none;margin-left:12px;margin-right:12px;padding:30px 0 0}.item-md-label .input-label{position:absolute;z-index:2;-webkit-transform:translate3d(0,-30px,0) scale(1);transform:translate3d(0,-30px,0) scale(1);-webkit-transition:all .2s ease;transition:all .2s ease;color:#fff;opacity:.5;filter:alpha(opacity=50);-webkit-transform-origin:0;-ms-transform-origin:0;transform-origin:0}.item-md-label input{background-color:rgba(0,0,0,.6);bottom:0;color:#fff;letter-spacing:.25rem;padding:20px 10px;position:relative;z-index:1}.item-md-label .highlight{position:absolute;bottom:0;height:2px;left:0;width:100%;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);-webkit-transition:all .15s ease;transition:all .15s ease;z-index:1}.item-md-label .highlight-light{background:#fff}.item-md-label .highlight-stable{background:#f8f8f8}.item-md-label .highlight-positive{background:#387ef5}.item-md-label .highlight-calm{background:#11c1f3}.item-md-label .highlight-balanced{background:#33cd5f}.item-md-label .highlight-energized{background:#ffc900}.item-md-label .highlight-assertive{background:#ef473a}.item-md-label .highlight-royal{background:#886aea}.item-md-label .highlight-dark{background:#444}.item-md-label .input-label{letter-spacing:.25rem;padding:0 10px}.item-md-label input.used~.input-label,.item-md-label input:focus~.input-label{font-weight:700;opacity:.7;filter:alpha(opacity=70);padding:0;text-transform:uppercase;-webkit-transform:translate3d(0,-60px,0) scale(.9);transform:translate3d(0,-60px,0) scale(.9)}.item-md-label input:focus~.highlight{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bar.bar-header.expanded,.expanded .bar.bar-header{height:75px}.bar.bar-header.expanded .title,.expanded.bar.bar-header .title{bottom:0;top:initial;padding-left:16px}.bar.bar-header.expanded .title.fab-left,.expanded .bar.bar-header .title.fab-left{bottom:0;left:90px;position:absolute;right:initial;top:initial}.bar.bar-header.expanded .title.fab-right,.expanded .bar.bar-header .title.fab-right{bottom:0;left:4px;position:absolute;top:initial;right:initial}.bar.bar-header.expanded+.button-fab,.expanded .bar.bar-header+.button-fab{top:50px}.bar.bar-header.expanded.push-down,.expanded .bar.bar-header.push-down{height:44px;overflow:hidden}.bar.bar-header.expanded,.expanded .bar.bar-header{-webkit-transition:height 1s cubic-bezier(.55,0,.1,1);transition:height 1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bar.bar-header.expanded+.button-fab,.expanded .bar.bar-header+.button-fab{-webkit-transition:all 1.1s cubic-bezier(.55,0,.1,1);transition:all 1.1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.bar.bar-header.expanded.push-down+.button-fab,.expanded .bar.bar-header.push-down+.button-fab{top:0;-webkit-transform:translate3d(-100px,-100px,0) scale(2.5);transform:translate3d(-100px,-100px,0) scale(2.5)}.bar.bar-header.expanded.push-down .title,.expanded .bar.bar-header.push-down .title{opacity:0;filter:alpha(opacity=0);left:initial;right:initial}.bar.bar-header.expanded .title,.expanded .bar.bar-header .title{opacity:1;filter:alpha(opacity=100);-webkit-transition:all 2s cubic-bezier(.55,0,.1,1);transition:all 2s cubic-bezier(.55,0,.1,1);bottom:0;left:42px!important;top:initial}.bar.bar-header.expanded.has-header-fab-left .title,.expanded.has-header-fab-left .bar.bar-header .title{left:76px!important}.bar{z-index:2;font-size:1.3em;width:100%;box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.bar .button{z-index:3}.bar .no-text span.back-text{display:none}.bar .title sup{opacity:.7}.bar.bar-header .button+.title{text-align:left;left:35px;line-height:46px}.button-bar{box-shadow:0 1px 3px rgba(0,0,0,.15)}.button-bar>.button{box-shadow:none}.button-bar>.button .icon:before,.button-bar>.button:before{line-height:initial}.bar-footer .button-fab{position:absolute;top:-26px;bottom:initial}.bar-footer .buttons-left .button-fab{left:8px}.bar-footer .buttons-right .button-fab{right:8px}.bar .button.button-clear{box-shadow:none}.left-buttons .button-fab{left:8px;top:16px}.right-buttons .button-fab{right:8px;top:16px}.fab-left.title-left,.fab-left.title.title-left{left:68px}.bar .button.button-fab,.button.button-fab{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);z-index:9999;width:56px;height:56px;max-height:initial;max-width:initial;border-radius:50%;border-radius:50%;overflow:hidden;padding:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:.3s fade-in-out;transition:.3s fade-in-out;-webkit-transition-property:-webkit-transform,box-shadow;transition-property:transform,box-shadow}.bar .button.button-fab.button-fab-bottom-right,.button.button-fab.button-fab-bottom-right{top:auto;right:16px;bottom:16px;left:auto;position:absolute}.bar .button.button-fab.button-fab-bottom-left,.button.button-fab.button-fab-bottom-left{top:auto;right:auto;bottom:16px;left:16px;position:absolute}.bar .button.button-fab.button-fab-top-right,.button.button-fab.button-fab-top-right{top:32px;right:16px;bottom:auto;left:auto;position:absolute}.bar .button.button-fab.button-fab-top-left,.button.button-fab.button-fab-top-left{top:32px;right:auto;bottom:auto;left:16px;position:absolute}.bar .button.button-fab.button-fab-top-left.expanded,.bar .button.button-fab.button-fab-top-right.expanded,.button.button-fab.button-fab-top-left.expanded,.button.button-fab.button-fab-top-right.expanded{top:48px}.bar .button.button-fab i,.button.button-fab i{font-size:2.5rem;margin-top:0}.bar .button.button-fab.mini,.button.button-fab.mini{width:40px;height:40px}.bar .button.button-fab.mini i,.button.button-fab.mini i{font-size:2rem}.button.button-fab.button-fab-top-left.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(-120px,60px,0);transform:translate3d(-120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.button.button-fab.button-fab-top-right.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(120px,60px,0);transform:translate3d(120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.button.button-fab.button-fab-bottom-left.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(-120px,60px,0);transform:translate3d(-120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.button.button-fab.button-fab-bottom-right.motion{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translate3d(120px,60px,0);transform:translate3d(120px,60px,0);-webkit-transition:all .1s ease-out;transition:all .1s ease-out}.bar .button.button-floating,.button.button-floating{display:inline-block;color:#FFF;position:relative;z-index:1;width:37px;height:37px;line-height:37px;padding:0;border-radius:50%;background-clip:padding-box;-webkit-transition:.3s;transition:.3s;cursor:pointer}.bar .button.button-floating i,.button.button-floating i{width:inherit;display:inline-block;text-align:center;color:#FFF;line-height:37px}.bar .button.button-floating.button-large,.button.button-floating.button-large{width:55.5px;height:55.5px}.bar .button.button-floating.button-large i,.button.button-floating.button-large i{line-height:55.5px}.bar .button,.bar .button.button-flat,.bar .button.button-large,.button,.button.button-flat,.button.button-large{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);display:inline-block;height:36px;padding:0 2rem;border-radius:2px;background-clip:padding-box;text-transform:uppercase;border:none;outline:0;-webkit-tap-highlight-color:transparent}.bar .button.button-floating.disabled,.bar .button.button-floating:disabled,.bar .button.button-large.disabled,.bar .button.button-large:disabled,.bar .button.button:disabled,.bar .button.disabled,.bar .button.disabled.button-large,.button.button-floating.disabled,.button.button-floating:disabled,.button.button-large.disabled,.button.button-large:disabled,.button.button:disabled,.button.disabled,.button.disabled.button-large{background-color:#DFDFDF;box-shadow:none;color:#9F9F9F}.bar .button.button-floating.disabled:hover,.bar .button.button-floating:disabled:hover,.bar .button.button-large.disabled:hover,.bar .button.button-large:disabled:hover,.bar .button.button:disabled:hover,.bar .button.disabled.button-large:hover,.bar .button.disabled:hover,.button.button-floating.disabled:hover,.button.button-floating:disabled:hover,.button.button-large.disabled:hover,.button.button-large:disabled:hover,.button.button:disabled:hover,.button.disabled.button-large:hover,.button.disabled:hover{background-color:#DFDFDF;color:#9F9F9F}.bar .button i,.bar .button.button-flat i,.bar .button.button-floating i,.bar .button.button-large i,.button i,.button.button-flat i,.button.button-floating i,.button.button-large i{font-size:1.3rem}.button-bar .button{border-radius:0}.bar .button,.bar .button-large,.button,.button-large{text-decoration:none;text-align:center;letter-spacing:.5px;-webkit-transition:.2s ease-out;transition:.2s ease-out;cursor:pointer}.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;outline:0;margin:0;white-space:nowrap;text-align:center;text-transform:uppercase;font-weight:500;font-style:inherit;font-variant:inherit;font-size:inherit;text-decoration:none;cursor:pointer;-webkit-transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),transform .4s cubic-bezier(.25,.8,.25,1)}.button:focus{outline:0}.button.ng-hide{-webkit-transition:none;transition:none}.button.cornered{border-radius:0}.button.raised{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.button-outline,.button-outline:active,.button-outline:hover{border-style:solid;border-width:1px}.button.button-outline,.button.button-outline.button-assertive,.button.button-outline.button-balanced,.button.button-outline.button-calm,.button.button-outline.button-dark,.button.button-outline.button-energized,.button.button-outline.button-light,.button.button-outline.button-positive,.button.button-outline.button-royal,.button.button-outline.button-stable{border-color:rgba(0,0,0,.1)}.bar .button-flat,.button-flat{box-shadow:none;background-color:transparent;color:#343434;cursor:pointer}.bar .button.button-flat.disabled,.button.button-flat.disabled{color:#b3b3b3}.bar .button.button-large i,.button.button-large i{font-size:1.6rem}.button-pin-header.button-floating{position:absolute;z-index:1000}.button-pin-header.button-pin-left{left:24px;top:-24px}.button-pin-header.button-pin-right{right:24px;top:-24px}.button:not([disabled]).floating:focus,.button:not([disabled]).floating:hover,.button:not([disabled]).raised:focus,.button:not([disabled]).raised:hover{-webkit-transform:translate3d(0,-1px,0);transform:translate3d(0,-1px,0)}.button.button-flat{box-shadow:none}.button.button-flat,.button.button-flat:active,.button.button-flat:hover{color:#fff}.button.button-clear,.button.button-clear:active,.button.button-clear:hover{background:0 0}.button-block.ink,.button-full.ink{display:block}.card-item.item{border:none;padding-bottom:4px;padding-top:4px}.card-item.item:first-child{padding-top:16px}.card{box-shadow:0 2px 5px 0 rgba(0,0,0,.26);display:block;margin:8px;padding:0;position:relative}.card .image{display:block;margin-top:10px;margin-bottom:5px}.card img{box-shadow:0 2px 5px 0 rgba(0,0,0,.26);display:block;max-width:100%;max-height:initial;position:static}.card.card-gallery img{border:none;box-shadow:none;display:block}.card .card-footer{font-size:90%;opacity:.8;filter:alpha(opacity=80);padding-top:10px}.card>.item{border:none}.card.card-gallery>.item{background:inherit}.card .icon+.icon{padding-left:1rem}.card.animate-fade-in{opacity:0;filter:alpha(opacity=0);-webkit-transform:translate3d(-30px,1px,0);-webkit-transition:all 1s ease-in-out}.card.animate-fade-in.done{opacity:1;filter:alpha(opacity=100);-webkit-transform:translate3d(0,0,0)}.card .item.item-avatar{min-height:88px;padding-left:88px}.hero{background-size:cover;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);color:#fff;height:200px;position:relative;text-align:center;-webkit-transition:all 1s cubic-bezier(.55,0,.1,1);transition:all 1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);width:100%}.hero .hero-icon{box-shadow:0 0 2px 0 rgba(0,0,0,.26);border-radius:50%;display:inline-block;height:150px;padding:10px 30px;line-height:136px;width:150px}.hero.no-header{height:244px}.hero>.content{bottom:0;position:absolute;text-align:center;width:100%;z-index:1}.hero>.content>.avatar{background-position:center;background-size:cover;border:solid 1px rgba(255,255,255,.8);border-radius:50%;display:inline-block;height:88px;left:auto;margin-bottom:10px;position:relative;width:88px}.hero h1 .hero h2,.hero h3,.hero h4,.hero h5,.hero h6{color:#fff;margin:0}.hero h4{color:rgba(255,255,255,.7);margin:3px 0 16px}.hero h1>a,.hero h2>a,.hero h3>a,.hero h4>a,.hero h5>a,.hero h6>a{text-decoration:none}.hero+.button-bar{border-radius:0;margin-top:0}.hero+.button-bar>.button:first-child,.hero+.button-bar>.button:last-child{border-radius:0}.hero .hero-icon{color:#fff;font-size:96px}.hero .hero-icon+h1{color:#fff;letter-spacing:.15rem}.hero .button,.hero .button.button-flat,.hero .button.button-large{margin:0}.hero h1.title{color:#fff;font-size:23px;margin:0;text-align:left;padding-left:80px;line-height:59px}.hero+.mid-bar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:all 1s cubic-bezier(.55,0,.1,1);transition:all 1s cubic-bezier(.55,0,.1,1);height:initial;opacity:1;filter:alpha(opacity=100)}.hero>*{-webkit-transition:opacity 2.5s cubic-bezier(.55,0,.1,1);transition:opacity 2.5s cubic-bezier(.55,0,.1,1);opacity:1;filter:alpha(opacity=100)}.item{font-size:14px;width:100%}.item-icon-left .icon{left:16px}.item-icon-right .icon{right:16px}.item-thumbnail-left .item-content .item-image,.item-thumbnail-left .item-content>img:first-child,.item-thumbnail-left .item-image,.item-thumbnail-left>img:first-child{border-radius:50%}.tab-item.activated{height:calc(100% + 3px)}.content+.list{padding-top:0}.list .item{border:none;min-height:48px;text-align:left}.list .item.tabs{padding:initial}.list .item.item-bg-image{min-height:150px}.list .item.item-bg-image>img{height:100%;left:0;max-width:initial;opacity:.65;filter:alpha(opacity=65);position:absolute;top:0;width:100%;z-index:0}.list a.item{opacity:1;filter:alpha(opacity=100)}.list .item.item-bg-image h1,.list .item.item-bg-image h2,.list .item.item-bg-image h3,.list .item.item-bg-image h4,.list .item.item-bg-image h5,.list .item.item-bg-image h6{color:#fff;font-weight:700;position:relative;text-shadow:0 0 3px rgba(0,0,0,.95);z-index:1}.list .item.item-bg-image h2{font-size:24px}.list .item.item-bg-image p{color:#fff;font-size:17px;position:relative;text-shadow:0 0 4px rgba(0,0,0,.95);z-index:1}.item-avatar,.item-avatar .item-content,.item-avatar-left,.item-avatar-left .item-content{min-height:80px}.card>.item.item-thumbnail-left,.item-thumbnail-left,.item-thumbnail-left .item-content{padding-left:106px}.card>.item.item-thumbnail-right,.item-thumbnail-right,.item-thumbnail-right .item-content{padding-right:106px}.item-avatar .item-content .item-image,.item-avatar .item-content>img:first-child,.item-avatar .item-image,.item-avatar-left .item-content .item-image,.item-avatar-left .item-content>img:first-child,.item-avatar-left .item-image,.item-avatar-left>img:first-child,.item-avatar>img:first-child{border-radius:50%;left:16px;max-height:40px;max-width:40px}.avatar,.item-avatar .avatar{background-position:center;background-size:cover;border-radius:50%;display:inline-block;height:56px;left:16px;position:absolute;width:56px}.list.half{display:inline-block;float:left;margin:0;padding:0;width:50%}.list.half:first-child{padding:16px 8px 16px 16px}.list.half:last-child{padding:16px 16px 16px 8px}.list.half:first-child .card.card-gallery,.list.half:last-child .card.card-gallery{margin-left:0;margin-right:0}.list.condensed-space>.card,.list.condensed-space>.item{margin:0 0 2px}.list .card.card-gallery{display:block;float:left;margin:0 0 0 13px;padding:0;width:auto}.list.half .item{width:100%}.list.half .item.card{margin-bottom:16px}.list .card.card-gallery.item h2{padding:12px}.list .item.item-gallery img{width:100%}.item.item-divider{border-top:solid 1px rgba(0,0,0,.12);font-size:14px;font-weight:700;height:48px;line-height:48px;color:rgba(0,0,0,.54)}.item.item-divider:first-child{border:none}.item .item-content.activated,.item .item-content.active,.item-complex.activated .item-content,.item-complex.active .item-content,.item.activated,.item.active{background-color:transparent}.list-inset{margin:20px 30px;border-left:solid 1px #ccc;border-radius:0;background-color:#fff}.item-floating-label,.list .item.item-floating-label{border-bottom:solid 1px #ccc}.loader{position:relative;margin:0 auto;width:100px;height:100px;zoom:1.7}.circular{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100px;position:relative;width:100px}.path{stroke-dasharray:1,200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}100%{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}100%{stroke-dasharray:89,200;stroke-dashoffset:-124}}@-webkit-keyframes color{0%,100%{stroke:#d62d20}40%{stroke:#0057e7}66%{stroke:#008744}80%,90%{stroke:#ffa700}}@keyframes color{0%,100%{stroke:#d62d20}40%{stroke:#0057e7}66%{stroke:#008744}80%,90%{stroke:#ffa700}}.login{background-position:25% 25%;background-size:180% 180%;height:100%;-webkit-transition:all 1.5s ease-in-out;transition:all 1.5s ease-in-out}.login .item{margin:0 12px;padding-left:0;padding-right:0;width:initial}.login .button-bar{bottom:0;margin:28px 12px 0;width:initial}.login .light-bg{background-color:#fff}.icon.hero-icon:before{line-height:130px}.card.has-mask:after,.hero.has-mask:after,.item.has-mask:after{content:'';background:-webkit-linear-gradient(top,transparent 0,rgba(0,0,0,.6) 100%);height:100%;left:0;position:absolute;top:0;z-index:0;width:100%}.card.has-mask-reverse:after,.hero.has-mask-reverse:after,.item.has-mask-reverse:after{content:'';background:-webkit-linear-gradient(top,rgba(0,0,0,.6) 0,transparent 100%);height:100%;left:0;position:absolute;top:0;z-index:0;width:100%}.menu-bottom{bottom:16px;left:16px;right:16px;position:absolute}.menu-top{top:16px;left:16px;right:16px;position:absolute}.menu .avatar{top:16px;left:16px;height:65px;width:65px}.menu .bar.bar-header.expanded{box-shadow:none;min-height:150px;color:#fff}.menu-open .bar.bar-header.expanded{background-position:0;background-size:100%}.has-expanded-header{top:150px!important}.motion{-webkit-transition:all .5s ease-out;transition:all .5s ease-out}.fade{opacity:0;filter:alpha(opacity=0);-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.spin-back{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(360deg) scale(0)!important;transform:translateZ(0) rotate(360deg) scale(0)!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.spiral{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(-360deg) scale(0) translate(-120px)!important;transform:translateZ(0) rotate(-360deg) scale(0) translate(-120px)!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.spiral-back{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(360deg) scale(0) translate(120px)!important;transform:translateZ(0) rotate(360deg) scale(0) translate(120px)!important;-webkit-transition:all .1s ease-out!important;transition:all .1s ease-out!important}.menu-open .avatar{opacity:1;filter:alpha(opacity=100);-webkit-transform:translateZ(0) rotate(0) scale(1)!important;transform:translateZ(0) rotate(0) scale(1)!important;-webkit-transition:all .3s ease-out!important;transition:all .3s ease-out!important}.spin{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotate(0) scale(0)!important;transform:translateZ(0) rotate(0) scale(0)!important;-webkit-transition:all .3s ease-out!important;transition:all .3s ease-out!important}.spin.on{-webkit-transform:translateZ(0) rotate(-360deg) scale(1)!important;transform:translateZ(0) rotate(-360deg) scale(1)!important}.flap{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotateX(0) scale(0) translate(-120px)!important;transform:translateZ(0) rotateX(0) scale(0) translate(-120px)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.flap.on{-webkit-transform:translateZ(0) rotateX(-720deg) scale(1) translate(0)!important;transform:translateZ(0) rotateX(-720deg) scale(1) translate(0)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.drop{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) scale(3)!important;transform:translateZ(0) scale(3)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.drop.on{-webkit-transform:translateZ(0) scale(1)!important;transform:translateZ(0) scale(1)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.flip{-webkit-backface-visibility:hidden!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0) rotateY(0) scale(0)!important;transform:translateZ(0) rotateY(0) scale(0)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.flip.on{-webkit-transform:translateZ(0) rotateY(-720deg) scale(1)!important;transform:translateZ(0) rotateY(-720deg) scale(1)!important;-webkit-transition:all .5s ease-out!important;transition:all .5s ease-out!important}.bold{font-weight:700}.static{position:static}.pull-left{float:left}.pull-right{float:right}.double-padding,.ionic-content.double-padding{padding:16px}.double-padding-x{padding-left:16px;padding-right:16px}.double-padding-y{padding-top:16px;padding-bottom:16px}.outline{border-style:solid;border-width:1px}.border-top{border-top:solid 1px #ccc;padding-top:30px}.no-border{border:none}.circle{border-radius:50%}.bar.no-padding,.button-bar.no-padding,.button.no-padding,.card.no-padding,.item.no-padding,.list.no-padding,.no-padding{padding:0}.flat,.flat.button,.flat.button.icon,.flat.hero,.flat.tabs{box-shadow:none;-webkit-box-shadow:none}.im-wrapper,.padding{padding:16px!important}.padding-bottom{padding-bottom:16px!important}.padding-top{padding-top:16px!important}.padding-left{padding-left:16px!important}.padding-right{padding-right:16px!important}.no-padding-bottom{padding-bottom:0!important}.no-padding-top{padding-top:0!important}.no-padding-left{padding-left:0!important}.no-padding-right{padding-right:0!important}.z1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.bar.bar-positive.darker{background-color:#164FAB}.bar.bar-positive.dark-positive-bg{background-color:#2C5CAD}.muted{color:#C3C3C3}.clear-bg{background:0 0}.animate-blinds .item{-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1);-webkit-transition:-webkit-transform .3s cubic-bezier(.55,0,.1,1);transition:transform .3s cubic-bezier(.55,0,.1,1)}.animate-blinds .item-bg-image>img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-blinds .in,.animate-blinds.done>*{-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.animate-blinds .in,.animate-blinds.done .item{visibility:visible}.animate-blinds .item{visibility:hidden;opacity:0;filter:alpha(opacity=0)}.animate-blinds .in,.animate-blinds.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:1;filter:alpha(opacity=100);visibility:visible}.animate-blinds.done .in{opacity:1;filter:alpha(opacity=100)}.animate-blinds .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-blinds.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-blinds .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-pan-in-left{background-position:0 0}.animate-ripple .item-bg-image img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-ripple .item{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);opacity:0;filter:alpha(opacity=0)}.animate-ripple .item.in{opacity:1;filter:alpha(opacity=100)}.animate-ripple .done{visibility:hidden;-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1);-webkit-transition:-webkit-transform .3s cubic-bezier(.55,0,.1,1);transition:transform .3s cubic-bezier(.55,0,.1,1)}.animate-ripple .in,.animate-ripple.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;visibility:visible}.animate-ripple.done .in{opacity:1;filter:alpha(opacity=100)}.animate-ripple .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-ripple.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-ripple .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-fade-slide-in .item{-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1)}.animate-fade-slide-in .item-bg-image img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-fade-slide-in .in,.animate-fade-slide-in.done .item{-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:visible}.list .item.item-bg-image{max-height:150px}.animate-fade-slide-in .item{visibility:hidden;-ms-transform:translate3d(-250px,250px,0);-webkit-transform:translate3d(-250px,250px,0);transform:translate3d(-250px,250px,0);-webkit-transition:-webkit-transform .5s cubic-bezier(.55,0,.1,1);transition:transform .5s cubic-bezier(.55,0,.1,1);opacity:0;filter:alpha(opacity=0)}.animate-fade-slide-in .in,.animate-fade-slide-in.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .5s ease-in-out;transition:all .5s ease-in-out;opacity:1;filter:alpha(opacity=100);visibility:visible}.animate-fade-slide-in.done .in{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-fade-slide-in.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-fade-slide-in-right .item{-ms-transform:scale3d(.8,0,1);-webkit-transform:scale3d(.8,0,1);transform:scale3d(.8,0,1)}.animate-fade-slide-in-right .item-bg-image>img.background{box-shadow:none;-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.animate-fade-slide-in-right .in,.animate-fade-slide-in-right.done>*{-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.animate-fade-slide-in-right .in,.animate-fade-slide-in-right.done .item{visibility:visible}.animate-fade-slide-in-right .item{visibility:hidden;-ms-transform:translate3d(250px,250px,0);-webkit-transform:translate3d(250px,250px,0);transform:translate3d(250px,250px,0);-webkit-transition:-webkit-transform .5s cubic-bezier(.55,0,.1,1);transition:transform .5s cubic-bezier(.55,0,.1,1);opacity:0;filter:alpha(opacity=0)}.animate-fade-slide-in-right .in,.animate-fade-slide-in-right.done{-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;opacity:1;filter:alpha(opacity=100);visibility:visible}.animate-fade-slide-in-right.done .in{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in-right .has-mask-reverse:after{opacity:0;filter:alpha(opacity=0);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.animate-fade-slide-in-right.done .has-mask-reverse:after{opacity:1;filter:alpha(opacity=100)}.animate-fade-slide-in-right .out{-ms-transform:scale3d(0,0,1);-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.hero.slide-up,.slide-up{height:100%;overflow:hidden;text-align:center}.slide-up{-webkit-transition:all 1s cubic-bezier(.55,0,.1,1);transition:all 1s cubic-bezier(.55,0,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.hero.slide-up *,.slide-up *{opacity:0;filter:alpha(opacity=0)}.hero.slide-up+.mid-bar,.slide-up+.mid-bar{height:100%;opacity:.7;filter:alpha(opacity=70);-webkit-transform:translate3d(100%,-240px,0);transform:translate3d(100%,-240px,0)}/*! + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Forked by Zach Fitzgerald and other contributors for Ionic Material + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */.button-clear,.button-fab,.button-flat,.button-raised,.ink,.popup .button{position:relative;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.ink-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background-color:rgba(255,255,255,.4);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);pointer-events:none}.ink-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.button-clear,.button-fab,.button-flat,.button-raised,.ink-button,.ink-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.button-clear.activated,.button-clear:active,.button-fab.activated,.button-fab:active,.button-flat.activated,.button-flat:active,.button-raised.activated,.button-raised:active,.ink-button.activated,.ink-button:active,.ink-circle.activated,.ink-circle:active,.ink.activated,.ink:active,.popup .button.activated,.popup .button:active{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.button-clear,.button-clear:link,.button-clear:visited,.button-fab,.button-fab:link,.button-fab:visited,.button-flat,.button-flat:link,.button-flat:visited,.button-raised,.button-raised:link,.button-raised:visited,.ink-button,.ink-button-input,.ink-button:link,.ink-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;font-size:14px;text-align:center;text-decoration:none;z-index:1}.ink-button{padding:10px 15px;border-radius:2px}.ink-button-input{margin:0;padding:10px 15px}.ink-input-wrapper{border-radius:2px;vertical-align:bottom}.ink-input-wrapper.ink-button{padding:0}.ink-input-wrapper .ink-button-input{position:relative;top:0;left:0;z-index:1}.ink-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.ink-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12)}.ink-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.ink-block{display:block}.ink-ripple{z-index:0}.button-clear .ink-ripple,.ink-dark .ink-ripple,.list .ink-ripple,[class$="-clear"]>.ink-ripple,[class$="-light"]>.ink-ripple,[class$="-stable"]>.ink-ripple,[class$="-100"]>.ink-ripple{background-color:rgba(0,0,0,.2)}.tab-item{position:relative}*{font-family:RobotoDraft,Roboto,"Helvetica Neue","Segoe UI",sans-serif}.rounded{border-radius:4px}a{cursor:pointer}.has-header.expanded{top:76px}.bar{border-bottom:none;padding:0}.bar .button{min-height:44px;min-width:44px;max-width:48px;margin-bottom:0;max-height:44px;width:48px}.bar .title+.buttons.buttons-right{right:0;top:0}.title-left,.title-right,.title.title-left,.title.title-right{left:48px}.bar .button-positive,.bar .button-positive.activated,.bar .button-positive:active,.bar .button-positive:hover,.bar-positive,.bar-positive.activated,.bar-positive:active,.bar-positive:hover,.button-bar-positive,.button-bar-positive.activated,.button-bar-positive:active,.button-bar-positive:hover,.button-positive,.button-positive.activated,.button-positive:active,.button-positive:hover,.header-positive,.header-positive.activated,.header-positive:active,.header-positive:hover,.positive-bg,.positive-bg.activated,.positive-bg:active,.positive-bg:hover,.positive-border,.positive-border.activated,.positive-border:active,.positive-border:hover{background-color:#3F51B5;color:#fff}.bar .button-positive-900,.bar .button-positive-900.activated,.bar .button-positive-900:active,.bar .button-positive-900:hover,.bar-positive-900,.bar-positive-900.activated,.bar-positive-900:active,.bar-positive-900:hover,.button-bar-positive-900,.button-bar-positive-900.activated,.button-bar-positive-900:active,.button-bar-positive-900:hover,.button-positive-900,.button-positive-900.activated,.button-positive-900:active,.button-positive-900:hover,.header-positive-900,.header-positive-900.activated,.header-positive-900:active,.header-positive-900:hover,.positive-900-bg,.positive-900-bg.activated,.positive-900-bg:active,.positive-900-bg:hover,.positive-900-border,.positive-900-border.activated,.positive-900-border:active,.positive-900-border:hover{background-color:#1A237E;color:#fff}.bar .button-positive-100,.bar .button-positive-100.activated,.bar .button-positive-100:active,.bar .button-positive-100:hover,.bar-positive-100,.bar-positive-100.activated,.bar-positive-100:active,.bar-positive-100:hover,.button-bar-positive-100,.button-bar-positive-100.activated,.button-bar-positive-100:active,.button-bar-positive-100:hover,.button-positive-100,.button-positive-100.activated,.button-positive-100:active,.button-positive-100:hover,.header-positive-100,.header-positive-100.activated,.header-positive-100:active,.header-positive-100:hover,.positive-100-bg,.positive-100-bg.activated,.positive-100-bg:active,.positive-100-bg:hover,.positive-100-border,.positive-100-border.activated,.positive-100-border:active,.positive-100-border:hover{background-color:#C5CAE9;color:#fff}.bar .button-calm,.bar .button-calm.activated,.bar .button-calm:active,.bar .button-calm:hover,.bar-calm,.bar-calm.activated,.bar-calm:active,.bar-calm:hover,.button-bar-calm,.button-bar-calm.activated,.button-bar-calm:active,.button-bar-calm:hover,.button-calm,.button-calm.activated,.button-calm:active,.button-calm:hover,.calm-bg,.calm-bg.activated,.calm-bg:active,.calm-bg:hover,.calm-border,.calm-border.activated,.calm-border:active,.calm-border:hover,.header-calm,.header-calm.activated,.header-calm:active,.header-calm:hover{background-color:#2196F3;color:#fff}.bar .button-calm-900,.bar .button-calm-900.activated,.bar .button-calm-900:active,.bar .button-calm-900:hover,.bar-calm-900,.bar-calm-900.activated,.bar-calm-900:active,.bar-calm-900:hover,.button-bar-calm-900,.button-bar-calm-900.activated,.button-bar-calm-900:active,.button-bar-calm-900:hover,.button-calm-900,.button-calm-900.activated,.button-calm-900:active,.button-calm-900:hover,.calm-900-bg,.calm-900-bg.activated,.calm-900-bg:active,.calm-900-bg:hover,.calm-900-border,.calm-900-border.activated,.calm-900-border:active,.calm-900-border:hover,.header-calm-900,.header-calm-900.activated,.header-calm-900:active,.header-calm-900:hover{background-color:#0D47A1;color:#fff}.bar .button-calm-100,.bar .button-calm-100.activated,.bar .button-calm-100:active,.bar .button-calm-100:hover,.bar-calm-100,.bar-calm-100.activated,.bar-calm-100:active,.bar-calm-100:hover,.button-bar-calm-100,.button-bar-calm-100.activated,.button-bar-calm-100:active,.button-bar-calm-100:hover,.button-calm-100,.button-calm-100.activated,.button-calm-100:active,.button-calm-100:hover,.calm-100-bg,.calm-100-bg.activated,.calm-100-bg:active,.calm-100-bg:hover,.calm-100-border,.calm-100-border.activated,.calm-100-border:active,.calm-100-border:hover,.header-calm-100,.header-calm-100.activated,.header-calm-100:active,.header-calm-100:hover{background-color:#BBDEFB;color:#fff}.bar .button-royal,.bar .button-royal.activated,.bar .button-royal:active,.bar .button-royal:hover,.bar-royal,.bar-royal.activated,.bar-royal:active,.bar-royal:hover,.button-bar-royal,.button-bar-royal.activated,.button-bar-royal:active,.button-bar-royal:hover,.button-royal,.button-royal.activated,.button-royal:active,.button-royal:hover,.header-royal,.header-royal.activated,.header-royal:active,.header-royal:hover,.royal-bg,.royal-bg.activated,.royal-bg:active,.royal-bg:hover,.royal-border,.royal-border.activated,.royal-border:active,.royal-border:hover{background-color:#673AB7;color:#fff}.bar .button-royal-900,.bar .button-royal-900.activated,.bar .button-royal-900:active,.bar .button-royal-900:hover,.bar-royal-900,.bar-royal-900.activated,.bar-royal-900:active,.bar-royal-900:hover,.button-bar-royal-900,.button-bar-royal-900.activated,.button-bar-royal-900:active,.button-bar-royal-900:hover,.button-royal-900,.button-royal-900.activated,.button-royal-900:active,.button-royal-900:hover,.header-royal-900,.header-royal-900.activated,.header-royal-900:active,.header-royal-900:hover,.royal-900-bg,.royal-900-bg.activated,.royal-900-bg:active,.royal-900-bg:hover,.royal-900-border,.royal-900-border.activated,.royal-900-border:active,.royal-900-border:hover{background-color:#311B92;color:#fff}.bar .button-royal-100,.bar .button-royal-100.activated,.bar .button-royal-100:active,.bar .button-royal-100:hover,.bar-royal-100,.bar-royal-100.activated,.bar-royal-100:active,.bar-royal-100:hover,.button-bar-royal-100,.button-bar-royal-100.activated,.button-bar-royal-100:active,.button-bar-royal-100:hover,.button-royal-100,.button-royal-100.activated,.button-royal-100:active,.button-royal-100:hover,.header-royal-100,.header-royal-100.activated,.header-royal-100:active,.header-royal-100:hover,.royal-100-bg,.royal-100-bg.activated,.royal-100-bg:active,.royal-100-bg:hover,.royal-100-border,.royal-100-border.activated,.royal-100-border:active,.royal-100-border:hover{background-color:#D1C4E9;color:#fff}.balanced-bg,.balanced-bg.activated,.balanced-bg:active,.balanced-bg:hover,.balanced-border,.balanced-border.activated,.balanced-border:active,.balanced-border:hover,.bar .button-balanced,.bar .button-balanced.activated,.bar .button-balanced:active,.bar .button-balanced:hover,.bar-balanced,.bar-balanced.activated,.bar-balanced:active,.bar-balanced:hover,.button-balanced,.button-balanced.activated,.button-balanced:active,.button-balanced:hover,.button-bar-balanced,.button-bar-balanced.activated,.button-bar-balanced:active,.button-bar-balanced:hover,.header-balanced,.header-balanced.activated,.header-balanced:active,.header-balanced:hover{background-color:#4CAF50;color:#fff}.balanced-900-bg,.balanced-900-bg.activated,.balanced-900-bg:active,.balanced-900-bg:hover,.balanced-900-border,.balanced-900-border.activated,.balanced-900-border:active,.balanced-900-border:hover,.bar .button-balanced-900,.bar .button-balanced-900.activated,.bar .button-balanced-900:active,.bar .button-balanced-900:hover,.bar-balanced-900,.bar-balanced-900.activated,.bar-balanced-900:active,.bar-balanced-900:hover,.button-balanced-900,.button-balanced-900.activated,.button-balanced-900:active,.button-balanced-900:hover,.button-bar-balanced-900,.button-bar-balanced-900.activated,.button-bar-balanced-900:active,.button-bar-balanced-900:hover,.header-balanced-900,.header-balanced-900.activated,.header-balanced-900:active,.header-balanced-900:hover{background-color:#1B5E20;color:#fff}.balanced-100-bg,.balanced-100-bg.activated,.balanced-100-bg:active,.balanced-100-bg:hover,.balanced-100-border,.balanced-100-border.activated,.balanced-100-border:active,.balanced-100-border:hover,.bar .balanced-100-bg:hover,.bar .button-balanced-100,.bar .button-balanced-100.activated,.bar .button-balanced-100:active,.bar-balanced-100,.bar-balanced-100.activated,.bar-balanced-100:active,.bar-balanced-100:hover,.button-balanced-100,.button-balanced-100.activated,.button-balanced-100:active,.button-balanced-100:hover,.button-bar-balanced-100,.button-bar-balanced-100.activated,.button-bar-balanced-100:active,.button-bar-balanced-100:hover,.header-balanced-100,.header-balanced-100.activated,.header-balanced-100:active,.header-balanced-100:hover{background-color:#C8E6C9;color:#fff}.bar .button-energized,.bar .button-energized.activated,.bar .button-energized:active,.bar .button-energized:hover,.bar-energized,.bar-energized.activated,.bar-energized:active,.bar-energized:hover,.button-bar-energized,.button-bar-energized.activated,.button-bar-energized:active,.button-bar-energized:hover,.button-energized,.button-energized.activated,.button-energized:active,.button-energized:hover,.energized-bg,.energized-bg.activated,.energized-bg:active,.energized-bg:hover,.energized-border,.energized-border.activated,.energized-border:active,.energized-border:hover,.header-energized,.header-energized.activated,.header-energized:active,.header-energized:hover{background-color:#FF9800;color:#fff}.bar .button-energized-900,.bar .button-energized-900.activated,.bar .button-energized-900:active,.bar .button-energized-900:hover,.bar-energized-900,.bar-energized-900.activated,.bar-energized-900:active,.bar-energized-900:hover,.button-bar-energized-900,.button-bar-energized-900.activated,.button-bar-energized-900:active,.button-bar-energized-900:hover,.button-energized-900,.button-energized-900.activated,.button-energized-900:active,.button-energized-900:hover,.energized-900-bg,.energized-900-bg.activated,.energized-900-bg:active,.energized-900-bg:hover,.energized-900-border,.energized-900-border.activated,.energized-900-border:active,.energized-900-border:hover,.header-energized-900,.header-energized-900.activated,.header-energized-900:active,.header-energized-900:hover{background-color:#E65100;color:#fff}.bar .button-energized-100,.bar .button-energized-100.activated,.bar .button-energized-100:active,.bar .button-energized-100:hover,.bar-energized-100,.bar-energized-100.activated,.bar-energized-100:active,.bar-energized-100:hover,.button-bar-energized-100,.button-bar-energized-100.activated,.button-bar-energized-100:active,.button-bar-energized-100:hover,.button-energized-100,.button-energized-100.activated,.button-energized-100:active,.button-energized-100:hover,.energized-100-bg,.energized-100-bg.activated,.energized-100-bg:active,.energized-100-bg:hover,.energized-100-border,.energized-100-border.activated,.energized-100-border:active,.energized-100-border:hover,.header-energized-100,.header-energized-100.activated,.header-energized-100:active,.header-energized-100:hover{background-color:#FFE0B2}.assertive-bg,.assertive-bg.activated,.assertive-bg:active,.assertive-bg:hover,.assertive-border,.assertive-border.activated,.assertive-border:active,.assertive-border:hover,.bar .button-assertive,.bar .button-assertive.activated,.bar .button-assertive:active,.bar .button-assertive:hover,.bar-assertive,.bar-assertive.activated,.bar-assertive:active,.bar-assertive:hover,.button-assertive,.button-assertive.activated,.button-assertive:active,.button-assertive:hover,.button-bar-assertive,.button-bar-assertive.activated,.button-bar-assertive:active,.button-bar-assertive:hover,.header-assertive,.header-assertive.activated,.header-assertive:active,.header-assertive:hover{background-color:#F44336;color:#fff}.assertive-900-bg,.assertive-900-bg.activated,.assertive-900-bg:active,.assertive-900-bg:hover,.assertive-900-border,.assertive-900-border.activated,.assertive-900-border:active,.assertive-900-border:hover,.bar .button-assertive-900,.bar .button-assertive-900.activated,.bar .button-assertive-900:active,.bar .button-assertive-900:hover,.bar-assertive-900,.bar-assertive-900.activated,.bar-assertive-900:active,.bar-assertive-900:hover,.button-assertive-900,.button-assertive-900.activated,.button-assertive-900:active,.button-assertive-900:hover,.button-bar-assertive-900,.button-bar-assertive-900.activated,.button-bar-assertive-900:active,.button-bar-assertive-900:hover,.header-assertive-900,.header-assertive-900.activated,.header-assertive-900:active,.header-assertive-900:hover{background-color:#B71C1C;color:#fff}.assertive-100-bg,.assertive-100-bg.activated,.assertive-100-bg:active,.assertive-100-bg:hover,.assertive-100-border,.assertive-100-border.activated,.assertive-100-border:active,.assertive-100-border:hover,.bar .button-assertive-100,.bar .button-assertive-100.activated,.bar .button-assertive-100:active,.bar .button-assertive-100:hover,.bar-assertive-100,.bar-assertive-100.activated,.bar-assertive-100:active,.bar-assertive-100:hover,.button-assertive-100,.button-assertive-100.activated,.button-assertive-100:active,.button-assertive-100:hover,.button-bar-assertive-100,.button-bar-assertive-100.activated,.button-bar-assertive-100:active,.button-bar-assertive-100:hover,.header-assertive-100,.header-assertive-100.activated,.header-assertive-100:active,.header-assertive-100:hover{background-color:#FFCDD2;color:#fff}.bar .button-stable,.bar .button-stable.activated,.bar .button-stable:active,.bar .button-stable:hover,.bar-stable,.bar-stable.activated,.bar-stable:active,.bar-stable:hover,.button-bar-stable,.button-bar-stable.activated,.button-bar-stable:active,.button-bar-stable:hover,.button-stable,.button-stable.activated,.button-stable:active,.button-stable:hover,.header-stable,.header-stable.activated,.header-stable:active,.header-stable:hover,.stable-bg,.stable-bg.activated,.stable-bg:active,.stable-bg:hover,.stable-border,.stable-border.activated,.stable-border:active,.stable-border:hover{background-color:#E0E0E0;color:#fff}.positive,.positive *,.positive-900,.positive-900 *,.positive-900:active,.positive-900:active *,.positive-900:hover,.positive-900:hover *,.positive:active,.positive:active *,.positive:hover,.positive:hover *{color:#3F51B5}.positive-100,.positive-100 *,.positive-100:active,.positive-100:active *,.positive-100:hover,.positive-100:hover *{color:#C5CAE9}.calm-900,.calm-900 *,.calm-900:active,.calm-900:active *,.calm-900:hover,.calm-900:hover *{color:#0D47A1}.calm-100,.calm-100 *,.calm-100:active,.calm-100:active *,.calm-100:hover,.calm-100:hover *{color:#BBDEFB}.royal,.royal *,.royal:active,.royal:active *,.royal:hover,.royal:hover *{color:#673AB7}.royal-900,.royal-900 *,.royal-900:active,.royal-900:active *,.royal-900:hover,.royal-900:hover *{color:#311B92}.royal-100,.royal-100 *,.royal-100:active,.royal-100:active *,.royal-100:hover,.royal-100:hover *{color:#D1C4E9}.balanced,.balanced *,.balanced:active,.balanced:active *,.balanced:hover,.balanced:hover *{color:#4CAF50}.balanced-900,.balanced-900 *,.balanced-900:active,.balanced-900:active *,.balanced-900:hover,.balanced-900:hover *{color:#1B5E20}.balanced-100,.balanced-100 *,.balanced-100:active,.balanced-100:active *,.balanced-100:hover,.balanced-100:hover *{color:#C8E6C9}.energized,.energized *,.energized:active,.energized:active *,.energized:hover,.energized:hover *{color:#FF9800}.energized-900,.energized-900 *,.energized-900:active,.energized-900:active *,.energized-900:hover,.energized-900:hover *{color:#E65100}.energized-100,.energized-100 *,.energized-100:active,.energized-100:active *,.energized-100:hover,.energized-100:hover *{color:#FFE0B2}.assertive,.assertive *,.assertive:active,.assertive:active *,.assertive:hover,.assertive:hover *{color:#F44336}.assertive-900,.assertive-900 *,.assertive-900:active,.assertive-900:active *,.assertive-900:hover,.assertive-900:hover *{color:#B71C1C}.assertive-100,.assertive-100 *,.assertive-100:active,.assertive-100:active *,.assertive-100:hover,.assertive-100:hover *{color:#FFCDD2}.stable,.stable *,.stable:active,.stable:active *,.stable:hover,.stable:hover *{color:#E0E0E0}.light,.light *,.light:active,.light:active *,.light:hover,.light:hover *{color:#fff}.dark,.dark *,.dark:active,.dark:active *,.dark:hover,.dark:hover *{color:#444}.light-border{border-color:#ddd}.navbar-default .navbar-nav>li>a{margin:0;padding-right:26px;padding-left:26px;border-top:3px solid transparent;color:#BFD5C9;opacity:1}.mid-bar{padding:16px}.mid-bar h1,.mid-bar h2,.mid-bar h3,.mid-bar h4,.mid-bar h5,.mid-bar h6{color:#fff;margin-bottom:5px}.mid-bar p{color:rgba(255,255,255,.5);margin-bottom:0}.card>.item-avatar,.item-avatar,.item-avatar .item-content,.item-avatar-left,.item-avatar-left .item-content{padding-left:95px}.item,.item-complex .item-content,.item-radio .item-content{background-color:transparent}.dark-bg h2,.item.dark-bg h2{color:#fff}.tabs-striped .tabs{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.bar .button.button-clear{color:#fff}.bar .button.button-icon .icon:before,.bar .button.button-icon.icon-left:before,.bar .button.button-icon.icon-right:before,.bar .button.button-icon:before{vertical-align:top;font-size:24px}.menu{background-color:transparent}.button-icon.button.activated,.button-icon.button.active{opacity:initial}.popover{opacity:0;position:absolute;right:8px;transform:translate(50%,-50%) scale(0,0);transition:transform .3s ease-in-out,opacity .3s ease-in-out;top:8px}.popover.ng-enter{opacity:1;transform:translate(0,-14px) scale(1,1);transition:transform .3s ease-in-out,opacity .3s ease-in-out}.popover.ng-leave{opacity:0;transform:translate(50%,-50%) scale(0,0);transition:transform .3s ease-in-out,opacity .3s ease-in-out}.button{overflow:hidden!important} +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvbWQtbGFiZWwuc2NzcyIsImVsZW1lbnRzL2Jhci1oZWFkZXItZXhwYW5kZWQuc2NzcyIsImVsZW1lbnRzL2Jhci5zY3NzIiwiZWxlbWVudHMvYnV0dG9uLWJhci5zY3NzIiwiZWxlbWVudHMvYnV0dG9uLWZhYi5zY3NzIiwiZWxlbWVudHMvYnV0dG9uLWZsb2F0aW5nLnNjc3MiLCJlbGVtZW50cy9idXR0b24uc2NzcyIsImVsZW1lbnRzL2NhcmQuc2NzcyIsImVsZW1lbnRzL2hlcm8uc2NzcyIsImVsZW1lbnRzL2l0ZW0uc2NzcyIsImVsZW1lbnRzL2xpc3Quc2NzcyIsImVsZW1lbnRzL2xvYWRpbmcuc2NzcyIsImVsZW1lbnRzL2xvZ2luLnNjc3MiLCJlbGVtZW50cy9tYXNrLnNjc3MiLCJlbGVtZW50cy9tZW51LnNjc3MiLCJlbGVtZW50cy9tb3Rpb24tZWxlbWVudHMuc2NzcyIsImhlbHBlcnMvdXRpbGl0aWVzLnNjc3MiLCJtb3Rpb24vYmxpbmRzLnNjc3MiLCJtb3Rpb24vcGFuLWluLWxlZnQuc2NzcyIsIm1vdGlvbi9yaXBwbGUuc2NzcyIsIm1vdGlvbi9zbGlkZS1mYWRlLWluLnNjc3MiLCJtb3Rpb24vc2xpZGUtaW4tcmlnaHQuc2NzcyIsIm1vdGlvbi9zbGlkZS11cC5zY3NzIiwib3ZlcnJpZGVzL2luay5zY3NzIiwib3ZlcnJpZGVzL2lvbmljLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsZUFDSSxjQUNBLGVBQ0EsZ0JBQ0EsaUJBQ0Esa0JBQ0EsaUJBRVcsNEJBQ1gsa0JBRUEsVUFDQSxrREFDQSwwQ0FDQSxnQ0FDQSx3QkFDQSxXQUNBLFdBQ0EseUJBQ0EsMkJBQ0EsdUJBQ0EsbUJBRVcscUJBQ1gsZ0NBQ0EsU0FDQSxXQUNBLHNCQUNBLGtCQUNBLGtCQUNBLFVBRVcsMEJBQ1gsa0JBQ0EsU0FDQSxXQUNBLE9BQ0EsV0FDQSx5Q0FDQSxpQ0FDQSxpQ0FDQSx5QkFDQSxVQUVXLGdDQUNYLGdCQUVXLGlD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QUpBLGdCQUNBLGtCQUhJLGNBcUJVLGNBQ2QsZ0JBS0EscUJBQ0EsdUJBSkEsb0JBQ0Esc0JBSEksY0FxQk0sVUFDVixZQUtBLGlCQUNBLG1CQUpBLGdCQUNBLGtCQUhJLGNBVU0sVUFDVixZQUtBLGlCQUNBLG1CQUpBLGdCQUNBLGtCQUhJLGNBVUcsT0FDUCxTQUtBLGNBQ0EsZ0JBSkEsYUFDQSxlQUhJLGNBVU8sV0FDWCxhQUtBLGtCQUNBLG9CQUpBLGlCQUNBLG1CQUhJLGNBVU8sV0FDWCxhQUtBLGtCQUNBLG9CQUpBLGlCQUNBLG1CQUhJLGNBVU0sVUFDVixZQUtBLGlCQUNBLG1CQUpBLGdCQUNBLGtCQUhJLGNBVVUsY0FDZCxnQkFLQSxxQkFDQSx1QkFKQSxvQkFDQSxzQkFISSxjQVVVLGNBQ2QsZ0JBS0EscUJBQ0EsdUJBSkEsb0JBQ0Esc0JBSEksY0FVTyxXQUNYLGFBS0Esa0JBQ0Esb0JBSkEsaUJBQ0EsbUJBSEksY0FVVyxlQUNmLGlCQUtBLHNCQUNBLHdCQUpBLHFCQUNBLHVCQUhJLGNBVVcsZUFDZixpQkFLQSxzQkFDQSx3QkFKQSxxQkFDQSx1QkFISSxjQVVPLFdBQ1gsYUFLQSxrQkFDQSxvQkFKQSxpQkFDQSxtQkFISSxjQVVXLGVBQ2YsaUJBS0Esc0JBQ0Esd0JBSkEscUJBQ0EsdUJBSEksY0FVVyxlQUNmLGlCQUtBLHNCQUNBLHdCQUpBLHFCQUNBLHVCQUhJLGNBVUksUUFDUixVQUtBLGVBQ0EsaUJBSkEsY0FDQSxnQkFISSxjQVVHLE9BQ1AsU0FLQSxjQUNBLGdCQUpBLGFBQ0EsZUFISSxXQVVFLE1BQ04sUUFLQSxhQUNBLGVBSkEsWUFDQSxjQUhJLFdBU0osY0FDSSxrQkFHK0IsaUNBQy9CLFNBQ0EsbUJBQ0Esa0JBQ0EsaUNBQ0EsY0FDQSxVQU9KLFNBQ0ksYUFRSyxZQUNULFlBQ0EsWUFDQSxZQUNBLFlBQ0EsWUFKSSxXQUNBLGtCQUdLLFdBQ0wsMkJBQ0EsZ0JBY0osbUJBSlEsYUFDUiwyQkFDQSxrQkFDQSxnQ0FGSSxrQkFLUSxNQUNaLDRCQUNBLDBCQURJLDZCQUlVLFlBQ2QsaUJBQUksV0FHVSxvQkFDVix1Q0FHUSwwQkFDUixXQU1vQixzQ0FDeEIsMENBQ0EsMkNBQ0EsZ0NBRkksbUJBQ0EsZUFHSixNQUNJLDZCQUtKLDhCQURtQiwyQkFDZixnQkFNSixTQUNJLFVBQ0Esa0JBQ0EsVUFDQSx5Q0FDQSw2REFDQSxRQUVJLGtCQUNKLFVBQ0Esd0NBQ0EsNkRBR0ksa0JBQ0osVUFDQSx5Q0FDQSw2REFNSixRQUNJIiwiZmlsZSI6ImlvbmljLm1hdGVyaWFsLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6W10sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic-material/ionic.material.min.js b/platforms/android/assets/www/lib/ionic-material/ionic.material.min.js new file mode 100644 index 0000000..a53b443 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic-material/ionic.material.min.js @@ -0,0 +1,14 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(function(){try{return require("angular")}catch(e){}}()):"function"==typeof define&&define.amd?define(["angular"],t):"object"==typeof exports?exports.ionicMaterial=t(function(){try{return require("angular")}catch(e){}}()):e.ionicMaterial=t(e.angular)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";e.exports=function(){var e;try{e=n(1)}catch(t){}if(e&&e.version||(e=window.angular),!e||!e.version)throw new Error("ionic-material could not load angular module :(");var r=e.module("ionic-material",["ionic"]);return n(2)(r),n(3)(r),"ionic-material"}()},function(t,n,r){if("undefined"==typeof e){var i=new Error('Cannot find module "angular"');throw i.code="MODULE_NOT_FOUND",i}t.exports=e},function(e,t,n){"use strict";/*! + * Fork by Zach Fitzgerald and other contributors of Ionic Material + * + * Waves v0.5.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + * + */ +e.exports=function(e){function t(){function e(e){return null!==e&&e===e.window}function t(t){return e(t)?t:9===t.nodeType&&t.defaultView}function n(e){var n,r,i={top:0,left:0},o=e&&e.ownerDocument;return n=o.documentElement,"undefined"!=typeof e.getBoundingClientRect&&(i=e.getBoundingClientRect()),r=t(o),{top:i.top+r.pageYOffset-n.clientTop,left:i.left+r.pageXOffset-n.clientLeft}}function r(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function i(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+":"+e[n]+";");return t}var o,a=a||{};if(document&&document.querySelectorAll&&document.querySelectorAll.bind)try{o=document.querySelectorAll.bind(document)}catch(l){}else if(window&&window.angular&&window.angular.element)o=window.angular.element;else{var s=function(e,t,n){var r=e.length;t=null==t?0:0>t?Math.max(r+t,0):Math.min(t,r),n=null==n?r:0>n?Math.max(r+n,0):Math.min(n,r);for(var i=[];n>t;)i.push(e[t++]);return i},f=function(e,t,n){var r=s(arguments,2);return function(){return e.apply(t,r.concat(s(arguments)))}};o=f(document.querySelectorAll,document)}if(!o)throw new Error("ionic material ink module could not create reference of DOM nodes");var c={duration:500,show:function(e){if(2===e.button)return!1;var t=this,o=document.createElement("div"),a=this.dataset.inkColor,l=this.dataset.inkOpacity,s=a||l;o.className="ink-ripple",t.appendChild(o);var f=n(t),u=e.pageY-f.top,d=e.pageX-f.left,p="scale("+t.clientWidth/100*2.5+")";"touches"in e&&(u=e.touches[0].pageY-f.top,d=e.touches[0].pageX-f.left),o.setAttribute("data-hold",Date.now()),o.setAttribute("data-scale",p),o.setAttribute("data-x",d),o.setAttribute("data-y",u);var m={top:u+"px",left:d+"px"};if(o.className=o.className+" ink-notransition",s){var h;if(a){var y=r(a);h=y.r+","+y.g+","+y.b}else h="0,0,0";l||(l=.2);var g="rgba("+h+","+l+")";m["background-color"]=g}o.setAttribute("style",i(m)),o.className=o.className.replace("ink-notransition",""),m["-webkit-transform"]=p,m["-moz-transform"]=p,m["-ms-transform"]=p,m["-o-transform"]=p,m.transform=p,m.opacity="1",m["-webkit-transition-duration"]=c.duration+"ms",m["-moz-transition-duration"]=c.duration+"ms",m["-o-transition-duration"]=c.duration+"ms",m["transition-duration"]=c.duration+"ms",o.setAttribute("style",i(m))},hide:function(){for(var e=this,t=(1.4*e.clientWidth,null),n=e.children.length,r=0;n>r;r++)-1===e.children[r].className.indexOf("ink-ripple")||(t=e.children[r]);if(!t)return!1;var o=t.getAttribute("data-x"),a=t.getAttribute("data-y"),l=t.getAttribute("data-scale"),s=Date.now()-Number(t.getAttribute("data-hold")),f=500-s;0>f&&(f=0),setTimeout(function(){var n={top:a+"px",left:o+"px",opacity:"0","-webkit-transition-duration":c.duration+"ms","-moz-transition-duration":c.duration+"ms","-o-transition-duration":c.duration+"ms","transition-duration":c.duration+"ms","-webkit-transform":l,"-moz-transform":l,"-ms-transform":l,"-o-transform":l,transform:l};t.setAttribute("style",i(n)),setTimeout(function(){try{e.removeChild(t)}catch(n){return!1}},c.duration)},f)},wrapInput:function(e){for(var t=0;tn;n++){var r=e[n];r.className+=" in",r.className+=" done"}}function n(n){var r={finishDelayThrottle:2,finishSpeedPercent:.5,leftOffsetPercentage:.8,selector:".animate-blinds .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid blinds selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;a>f&&o[f].offsetTopf;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top;parseFloat(i/c/n.finishDelayThrottle).toFixed(2);o[e].className+=" done"}},c*n.finishSpeedPercent),t(o,a)}function r(n){var r={finishDelayThrottle:2,finishSpeedPercent:.72,leftOffsetPercentage:.8,selector:".animate-fade-slide-in .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid fadeSlideIn selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;a>f&&o[f].offsetTopf;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top,a=i/c/n.finishDelayThrottle;parseFloat(a).toFixed(2)}o[0].className+=" done"},c*n.finishSpeedPercent),t(o,a)}function i(n){var r={finishDelayThrottle:2,finishSpeedPercent:.72,leftOffsetPercentage:.8,selector:".animate-fade-slide-in-right .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid fadeSlideInRight selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;a>f&&o[f].offsetTopf;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top,a=i/c/n.finishDelayThrottle;parseFloat(a).toFixed(2)}o[0].className+=" done"},c*n.finishSpeedPercent),t(o,a)}function o(n){var r={finishDelayThrottle:2,finishSpeedPercent:.72,leftOffsetPercentage:.8,selector:".animate-ripple .item",startVelocity:1100};"undefined"==typeof n&&(n={}),n.finishDelayThrottle=n.finishDelayThrottle||r.finishDelayThrottle,n.finishSpeedPercent=n.finishSpeedPercent||r.finishSpeedPercent,n.leftOffsetPercentage=n.leftOffsetPercentage||r.leftOffsetPercentage,n.startVelocity=n.startVelocity||r.startVelocity,"undefined"==typeof n.selector&&(n.selector=r.selector);var i="undefined"==typeof n.selector||""===n.selector;if(i)return console.log("invalid ripple selector"),!1;for(var o=document.querySelectorAll(n.selector),a=o.length,l=0,s=e(),f=0;ff;f++){var u=o[f],d=u.getBoundingClientRect(),p=d.left*n.leftOffsetPercentage+d.top,m=parseFloat(p/c).toFixed(2);u.style.webkitTransitionDelay=m+"s",u.style.transitionDelay=m+"s",u.className+=" in"}setTimeout(function(){for(var e=0;l>e;e++){var t=o[e],r=t.getBoundingClientRect(),i=r.left*n.leftOffsetPercentage+r.top,a=i/c/n.finishDelayThrottle;parseFloat(a).toFixed(2)}o[0].className+=" done"},c*n.finishSpeedPercent),t(o,a)}function a(e){"string"==typeof e&&(e={selector:e});var t="undefined"==typeof e.selector||""===e.selector;if(t)return console.log("invalid pushDown selector"),!1;for(var n=document.querySelectorAll(e.selector),r=n.length,i=0;r>i;i++){var o=n[i],a="animate-pan-in-left",l=o.className.lastIndexOf(a);o.className=o.className.substr(0,l)}}function l(e){"string"==typeof e&&(e={selector:e});var t="undefined"==typeof e.selector||""===e.selector;if(t)return console.log("invalid pushDown selector"),!1;for(var n=document.querySelectorAll(e.selector),r=n.length,i=0;r>i;i++){var o=n[i],a=e.selector.split(".")[1],l=o.className.lastIndexOf(a);o.className=o.className.substr(0,l)}}function s(e){"string"==typeof e&&(e={selector:e});var t="undefined"==typeof e.selector||""===e.selector;if(t)return console.log("invalid pushDown selector"),!1;for(var n=document.querySelectorAll(e.selector),r=n.length,i=0;r>i;i++){var o=n[i],a=e.selector.split(".")[1],l=o.className.lastIndexOf(a);o.className=o.className.substr(0,l)}}var f={blinds:n,fadeSlideIn:r,fadeSlideInRight:i,panInLeft:a,pushDown:l,ripple:o,slideUp:s};return f}e.factory("ionicMaterialMotion",t),t.$inject=[]}}])}); +//# sourceMappingURL=ionic.material.min.js.map \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic-material/ionic.material.min.js.map b/platforms/android/assets/www/lib/ionic-material/ionic.material.min.js.map new file mode 100644 index 0000000..b582062 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic-material/ionic.material.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///ionic.material.min.js","webpack:///webpack/bootstrap aca4d68e3e47af1bef6a","webpack:///./src/js/ionic-material.js","webpack:///external \"angular\"","webpack:///./src/js/lib/_ink.js","webpack:///./src/js/lib/_motion.js"],"names":["root","factory","exports","module","require","e","define","amd","this","__WEBPACK_EXTERNAL_MODULE_1__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","angular","err","version","window","Error","app","code","angularApp","ink","isWindow","obj","getWindow","elem","nodeType","defaultView","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","hexToRgb","hex","result","exec","r","parseInt","g","b","convertStyle","style","a","hasOwnProperty","$$","Ink","document","querySelectorAll","bind","element","slicePolyfill","arr","start","end","len","length","Math","max","min","push","bindPolyfill","fn","context","args","argsArr","arguments","apply","concat","Effect","duration","show","button","el","ripple","createElement","customColor","dataset","inkColor","customOpacity","inkOpacity","hasCustomRipple","className","appendChild","pos","relativeY","pageY","relativeX","pageX","scale","clientWidth","touches","setAttribute","Date","now","rippleStyle","colorRgb","fromHex","bg","replace","transform","opacity","hide","childrenLength","children","indexOf","getAttribute","diff","Number","delay","setTimeout","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","removeChild","wrapInput","elements","tagName","toLowerCase","parent","parentNode","wrapper","elementStyle","removeAttribute","replaceChild","displayEffect","options","selectors","Array","prototype","forEach","i","addEventListener","inject","Motion","getViewportHeight","innerHeight","showNotAnimatedElements","total","child","blinds","defaults","finishDelayThrottle","finishSpeedPercent","leftOffsetPercentage","selector","startVelocity","isInvalidSelector","console","log","animateBlindsDom","elementsCount","elementAnimationCount","viewportHeight","offsetTop","speed","childOffset","parseFloat","toFixed","webkitTransitionDelay","transitionDelay","fadeSlideIn","animateFadeSlideInDom","delayValue","fadeSlideInRight","animateSlideInRightDom","animateRippleDom","panInLeft","animatePanInLeftDom","classNameToRemove","indexOfClassNameToRemove","lastIndexOf","substr","pushDown","animatePushDownDom","split","slideUp","animateSlideUpDom","motion","$inject"],"mappings":"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","file":"ionic.material.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ionicMaterial\"] = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse\n\t\troot[\"ionicMaterial\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"angular\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ionicMaterial\"] = factory((function webpackLoadOptionalExternalModule() { try { return require(\"angular\"); } catch(e) {} }()));\n\telse\n\t\troot[\"ionicMaterial\"] = factory(root[\"angular\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Ionic Material\n\t * \"Bundle Index\" / \"Entryfile\"\n\t * https://github.com/zachsoft/ionic-material\n\t *\n\t * Recommended: use a compiled version, especially in production!\n\t */\n\t\n\t'use strict';\n\t\n\tmodule.exports = (function(){\n\t\n\t var angular;\n\t\n\t try {\n\t angular = __webpack_require__(1);\n\t } catch(err){ }\n\t\n\t if(!angular || !angular.version){\n\t /*global window: true*/\n\t angular = window.angular;\n\t /*global window: false*/\n\t }\n\t\n\t if(!angular || !angular.version){\n\t throw new Error('ionic-material could not load angular module :(');\n\t }\n\t\n\t // set up angular module\n\t var app = angular.module('ionic-material', ['ionic']);\n\t\n\t // Import Dependencies\n\t __webpack_require__(2)(app);\n\t __webpack_require__(3)(app);\n\t\n\t return 'ionic-material';\n\t})();\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tif(typeof __WEBPACK_EXTERNAL_MODULE_1__ === 'undefined') {var e = new Error(\"Cannot find module \\\"angular\\\"\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*!\n\t * Fork by Zach Fitzgerald and other contributors of Ionic Material\n\t *\n\t * Waves v0.5.4\n\t * http://fian.my.id/Waves\n\t *\n\t * Copyright 2014 Alfiana E. Sibuea and other contributors\n\t *\n\t * Released under the MIT license\n\t * https://github.com/fians/Waves/blob/master/LICENSE\n\t *\n\t */\n\tmodule.exports = function (angularApp) {\n\t\n\t angularApp.factory('ionicMaterialInk', ink);\n\t\n\t function ink (){\n\t /*global document*/\n\t var Ink = Ink || {};\n\t\n\t // all DOM nodes\n\t var $$;\n\t\n\t // phantomJS throws an error when you try to use document.querySelectorAll.bind\n\t if(document && document.querySelectorAll && document.querySelectorAll.bind){\n\t try{\n\t // all DOM nodes\n\t $$ = document.querySelectorAll.bind(document);\n\t\n\t } catch(e){}\n\t } else if (window && window.angular && window.angular.element) {\n\t // we can use angular.element instead\n\t $$ = window.angular.element;\n\t } else {\n\t\n\t\n\t /**\n\t * mout.js 0.11.0 bind and slice polyfills (substitutes?)\n\t * TODO: pull out mout.js bind and slice molyfills and inject into material.ink\n\t */\n\t\n\t /**\n\t * Create slice of source array or array-like object\n\t */\n\t var slicePolyfill = function moutslicePolyfill(arr, start, end){\n\t var len = arr.length;\n\t /*jshint eqnull:true */\n\t if (start == null) {\n\t start = 0;\n\t } else if (start < 0) {\n\t start = Math.max(len + start, 0);\n\t } else {\n\t start = Math.min(start, len);\n\t }\n\t\n\t\n\t if (end == null) {\n\t\n\t end = len;\n\t } else if (end < 0) {\n\t end = Math.max(len + end, 0);\n\t } else {\n\t end = Math.min(end, len);\n\t }\n\t\n\t var result = [];\n\t while (start < end) {\n\t result.push(arr[start++]);\n\t }\n\t\n\t return result;\n\t };\n\t\n\t\n\t\n\t /**\n\t * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection.\n\t * @param {Function} fn Function.\n\t * @param {object} context Execution context.\n\t * @param {rest} args Arguments (0...n arguments).\n\t * @return {Function} Wrapped Function.\n\t */\n\t var bindPolyfill = function moutBind(fn, context, args){\n\t var argsArr = slicePolyfill(arguments, 2); //curried args\n\t return function(){\n\t return fn.apply(context, argsArr.concat(slicePolyfill(arguments)));\n\t };\n\t };\n\t\n\t $$ = bindPolyfill(document.querySelectorAll, document);\n\t /*jshint ignore:end */\n\t }\n\t\n\t if (!$$){\n\t throw new Error('ionic material ink module could not create reference of DOM nodes');\n\t }\n\t\n\t // Find exact position of element\n\t function isWindow(obj) {\n\t return obj !== null && obj === obj.window;\n\t }\n\t\n\t function getWindow(elem) {\n\t return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;\n\t }\n\t\n\t function offset(elem) {\n\t var docElem, win,\n\t box = {\n\t top: 0,\n\t left: 0\n\t },\n\t doc = elem && elem.ownerDocument;\n\t\n\t docElem = doc.documentElement;\n\t\n\t if (typeof elem.getBoundingClientRect !== typeof undefined) {\n\t box = elem.getBoundingClientRect();\n\t }\n\t win = getWindow(doc);\n\t return {\n\t top: box.top + win.pageYOffset - docElem.clientTop,\n\t left: box.left + win.pageXOffset - docElem.clientLeft\n\t };\n\t }\n\t\n\t function hexToRgb(hex) {\n\t var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\t return result ? {\n\t r: parseInt(result[1], 16),\n\t g: parseInt(result[2], 16),\n\t b: parseInt(result[3], 16)\n\t } : null;\n\t }\n\t\n\t function convertStyle(obj) {\n\t var style = '';\n\t\n\t for (var a in obj) {\n\t if (obj.hasOwnProperty(a)) {\n\t style += (a + ':' + obj[a] + ';');\n\t }\n\t }\n\t\n\t return style;\n\t }\n\t\n\t var Effect = {\n\t\n\t // Effect delay\n\t duration: 500,\n\t\n\t show: function(e) {\n\t\n\t // Disable right click\n\t if (e.button === 2) {\n\t return false;\n\t }\n\t\n\t var el = this;\n\t\n\t // Create ripple\n\t var ripple = document.createElement('div');\n\t var customColor = this.dataset.inkColor;\n\t var customOpacity = this.dataset.inkOpacity;\n\t var hasCustomRipple = customColor || customOpacity;\n\t ripple.className = 'ink-ripple';\n\t el.appendChild(ripple);\n\t\n\t // Get click coordinate and element witdh\n\t var pos = offset(el);\n\t var relativeY = (e.pageY - pos.top);\n\t var relativeX = (e.pageX - pos.left);\n\t var scale = 'scale(' + ((el.clientWidth / 100) * 2.5) + ')';\n\t\n\t // Support for touch devices\n\t if ('touches' in e) {\n\t relativeY = (e.touches[0].pageY - pos.top);\n\t relativeX = (e.touches[0].pageX - pos.left);\n\t }\n\t\n\t // Attach data to element\n\t ripple.setAttribute('data-hold', Date.now());\n\t ripple.setAttribute('data-scale', scale);\n\t ripple.setAttribute('data-x', relativeX);\n\t ripple.setAttribute('data-y', relativeY);\n\t\n\t // Set ripple position\n\t var rippleStyle = {\n\t 'top': relativeY + 'px',\n\t 'left': relativeX + 'px'\n\t };\n\t\n\t ripple.className = ripple.className + ' ink-notransition';\n\t\n\t if (hasCustomRipple) {\n\t var colorRgb;\n\t if (customColor) {\n\t var fromHex = hexToRgb(customColor);\n\t colorRgb = fromHex.r + ',' + fromHex.g + ',' + fromHex.b;\n\t } else {\n\t colorRgb = '0,0,0';\n\t }\n\t if (!customOpacity) {\n\t customOpacity = 0.2;\n\t }\n\t var bg = 'rgba(' + colorRgb + ',' + customOpacity + ')';\n\t rippleStyle['background-color'] = bg;\n\t }\n\t\n\t ripple.setAttribute('style', convertStyle(rippleStyle));\n\t ripple.className = ripple.className.replace('ink-notransition', '');\n\t\n\t // Scale the ripple\n\t rippleStyle['-webkit-transform'] = scale;\n\t rippleStyle['-moz-transform'] = scale;\n\t rippleStyle['-ms-transform'] = scale;\n\t rippleStyle['-o-transform'] = scale;\n\t rippleStyle.transform = scale;\n\t rippleStyle.opacity = '1';\n\t\n\t rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';\n\t rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';\n\t rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';\n\t rippleStyle['transition-duration'] = Effect.duration + 'ms';\n\t\n\t ripple.setAttribute('style', convertStyle(rippleStyle));\n\t },\n\t\n\t hide: function() {\n\t\n\t var el = this;\n\t\n\t var width = el.clientWidth * 1.4;\n\t\n\t // Get first ripple\n\t var ripple = null;\n\t\n\t var childrenLength = el.children.length;\n\t\n\t for (var a = 0; a < childrenLength; a++) {\n\t if (el.children[a].className.indexOf('ink-ripple') !== -1) {\n\t ripple = el.children[a];\n\t continue;\n\t }\n\t }\n\t\n\t if (!ripple) {\n\t return false;\n\t }\n\t\n\t var relativeX = ripple.getAttribute('data-x');\n\t var relativeY = ripple.getAttribute('data-y');\n\t var scale = ripple.getAttribute('data-scale');\n\t\n\t // Get delay beetween mousedown and mouse leave\n\t var diff = Date.now() - Number(ripple.getAttribute('data-hold'));\n\t var delay = 500 - diff;\n\t\n\t if (delay < 0) {\n\t delay = 0;\n\t }\n\t\n\t // Fade out ripple after delay\n\t setTimeout(function() {\n\t\n\t var style = {\n\t 'top': relativeY + 'px',\n\t 'left': relativeX + 'px',\n\t 'opacity': '0',\n\t\n\t // Duration\n\t '-webkit-transition-duration': Effect.duration + 'ms',\n\t '-moz-transition-duration': Effect.duration + 'ms',\n\t '-o-transition-duration': Effect.duration + 'ms',\n\t 'transition-duration': Effect.duration + 'ms',\n\t '-webkit-transform': scale,\n\t '-moz-transform': scale,\n\t '-ms-transform': scale,\n\t '-o-transform': scale,\n\t 'transform': scale,\n\t };\n\t\n\t ripple.setAttribute('style', convertStyle(style));\n\t\n\t setTimeout(function() {\n\t try {\n\t el.removeChild(ripple);\n\t } catch (e) {\n\t return false;\n\t }\n\t }, Effect.duration);\n\t }, delay);\n\t },\n\t\n\t // Little hack to make can perform ink effect\n\t wrapInput: function(elements) {\n\t\n\t for (var a = 0; a < elements.length; a++) {\n\t\n\t var el = elements[a];\n\t\n\t if (el.tagName.toLowerCase() === 'input') {\n\t\n\t var parent = el.parentNode;\n\t\n\t // If input already have parent just pass through\n\t if (parent.tagName.toLowerCase() === 'i' &&\n\t parent.className.indexOf('ink') !== -1 &&\n\t parent.className.indexOf('tab-item') !== -1 &&\n\t parent.className.indexOf('button-fab') !== -1 &&\n\t parent.className.indexOf('button-raised') !== -1 &&\n\t parent.className.indexOf('button-flat') !== -1 &&\n\t parent.className.indexOf('button-clear') !== -1 &&\n\t parent.className.indexOf('button') !== -1 &&\n\t parent.className.indexOf('item') !== -1) {\n\t return false;\n\t }\n\t\n\t // Put element class and style to the specified parent\n\t var wrapper = document.createElement('i');\n\t wrapper.className = el.className + ' ink-input-wrapper';\n\t\n\t var elementStyle = el.getAttribute('style');\n\t\n\t if (!elementStyle) {\n\t elementStyle = '';\n\t }\n\t\n\t wrapper.setAttribute('style', elementStyle);\n\t\n\t el.className = 'ink-button-input';\n\t el.removeAttribute('style');\n\t\n\t // Put element as child\n\t parent.replaceChild(wrapper, el);\n\t wrapper.appendChild(el);\n\t }\n\t }\n\t }\n\t };\n\t\n\t Ink.displayEffect = function(options) {\n\t options = options || {};\n\t\n\t if ('duration' in options) {\n\t Effect.duration = options.duration;\n\t }\n\t\n\t //Wrap input inside tag\n\t var selectors = '.ink,.tab-item,.button-fab,.button-raised,.button-flat,.button-clear,a.item,.popup .button';\n\t Effect.wrapInput($$(selectors));\n\t\n\t Array.prototype.forEach.call($$(selectors), function(i) {\n\t if ('ontouchstart' in window) {\n\t i.addEventListener('touchstart', Effect.show, false);\n\t i.addEventListener('touchend', Effect.hide, false);\n\t i.addEventListener('touchcancel', Effect.hide, false);\n\t } else {\n\t i.addEventListener('mousedown', Effect.show, false);\n\t i.addEventListener('mouseup', Effect.hide, false);\n\t i.addEventListener('mouseleave', Effect.hide, false);\n\t }\n\t });\n\t };\n\t\n\t return Ink;\n\t }\n\t\n\t ink.inject = [];\n\t};\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = function(angularApp) {\n\t angularApp.factory('ionicMaterialMotion', Motion);\n\t\n\t function Motion() {\n\t /*global document, window*/\n\t\n\t 'use strict';\n\t\n\t /*============================================================================*/\n\t /* HELPERS (non-exports)\n\t /=============================================================================*\n\t / Abstract common lookups and manipulations in case better alternatives\n\t / arise or future cross-platform differences warrant separate handling\n\t /=============================================================================*/\n\t\n\t function getViewportHeight() {\n\t return window.innerHeight;\n\t }\n\t\n\t function getBoundingClientRect(domNode) {\n\t return domNode.getBoundingClientRect;\n\t }\n\t\n\t function showNotAnimatedElements(elements, total) {\n\t // Load the elements without effect\n\t for (var i = 0; i < total; i++) {\n\t var child = elements[i];\n\t child.className += ' in';\n\t child.className += ' done';\n\t }\n\t }\n\t\n\t\n\t\n\t /*============================================================================*/\n\t /* MOTION (EXPORT)\n\t /=============================================================================*\n\t / Animation methods for the library\n\t /=============================================================================*/\n\t\n\t var motion = {\n\t blinds: blinds,\n\t fadeSlideIn: fadeSlideIn,\n\t fadeSlideInRight: fadeSlideInRight,\n\t panInLeft: panInLeft,\n\t pushDown: pushDown,\n\t ripple: ripple,\n\t slideUp: slideUp\n\t };\n\t\n\t function blinds(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.5,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-blinds .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid blinds selector');\n\t return false;\n\t }\n\t\n\t var animateBlindsDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateBlindsDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not exacting\n\t // more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the elements\n\t // maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < elementsCount; i++) {\n\t if (animateBlindsDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateBlindsDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateBlindsDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed / options.finishDelayThrottle).toFixed(2);\n\t //child.querySelector('img').style.webkitTransitionDelay = delay + \"s\";\n\t //child.querySelector('img').style.transitionDelay = delay + \"s\";\n\t //child.querySelector('img').className += ' in';\n\t animateBlindsDom[i].className += ' done';\n\t }\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateBlindsDom, elementsCount);\n\t }\n\t\n\t function fadeSlideIn(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.72,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-fade-slide-in .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid fadeSlideIn selector');\n\t return false;\n\t }\n\t\n\t var animateFadeSlideInDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateFadeSlideInDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not exacting\n\t // more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the elements\n\t // maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < elementsCount; i++) {\n\t if (animateFadeSlideInDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateFadeSlideInDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateFadeSlideInDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delayValue = offset / speed / options.finishDelayThrottle;\n\t var delay = parseFloat(delayValue).toFixed(2);\n\t }\n\t animateFadeSlideInDom[0].className += ' done';\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateFadeSlideInDom, elementsCount);\n\t }\n\t\n\t function fadeSlideInRight(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.72,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-fade-slide-in-right .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid fadeSlideInRight selector');\n\t return false;\n\t }\n\t\n\t var animateSlideInRightDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateSlideInRightDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not\n\t // exacting more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the\n\t // elements maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < elementsCount; i++) {\n\t if (animateSlideInRightDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateSlideInRightDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateSlideInRightDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delayValue = offset / speed / options.finishDelayThrottle;\n\t var delay = parseFloat(delayValue).toFixed(2);\n\t }\n\t animateSlideInRightDom[0].className += ' done';\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateSlideInRightDom, elementsCount);\n\t\n\t }\n\t\n\t function ripple(options) {\n\t\n\t // Declare our defaults\n\t var defaults = {\n\t finishDelayThrottle: 2,\n\t finishSpeedPercent: 0.72,\n\t leftOffsetPercentage: 0.8,\n\t selector: '.animate-ripple .item',\n\t startVelocity: 1100\n\t };\n\t\n\t // Apply defaults if properties are not passed\n\t if (typeof options === 'undefined') {\n\t options = {};\n\t }\n\t\n\t options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n\t options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n\t options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n\t options.startVelocity = options.startVelocity || defaults.startVelocity;\n\t\n\t if (typeof options.selector == 'undefined') {\n\t options.selector = defaults.selector;\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid ripple selector');\n\t return false;\n\t }\n\t\n\t var animateRippleDom = document.querySelectorAll(options.selector);\n\t var elementsCount = animateRippleDom.length;\n\t var elementAnimationCount = 0;\n\t\n\t // Count the elements within the starting viewport so we're not\n\t // exacting more effort than required...\n\t //\n\t // We use css visiblity: hidden instead of display: none so the\n\t // elements maintain their DOM flow\n\t\n\t var viewportHeight = getViewportHeight();\n\t for (var i = 0; i < animateRippleDom.length; i++) {\n\t if (animateRippleDom[i].offsetTop < viewportHeight) {\n\t elementAnimationCount += 1;\n\t continue;\n\t }\n\t break;\n\t }\n\t\n\t // Sequentially animate with a delay based on proximity\n\t var speed = options.startVelocity;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateRippleDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delay = parseFloat(offset / speed).toFixed(2);\n\t child.style.webkitTransitionDelay = delay + \"s\";\n\t child.style.transitionDelay = delay + \"s\";\n\t child.className += ' in';\n\t }\n\t\n\t // When we're done animating, switch the class to 'done'\n\t setTimeout(function() {\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var child = animateRippleDom[i];\n\t var childOffset = child.getBoundingClientRect();\n\t var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n\t var delayValue = offset / speed / options.finishDelayThrottle;\n\t var delay = parseFloat(delayValue).toFixed(2);\n\t }\n\t animateRippleDom[0].className += ' done';\n\t\n\t }, speed * options.finishSpeedPercent);\n\t\n\t // Load the elements without effect\n\t showNotAnimatedElements(animateRippleDom, elementsCount);\n\t }\n\t\n\t function panInLeft(options) {\n\t\n\t // We have a single option, so it may be passed as a string or property\n\t if (typeof options === 'string') {\n\t options = {\n\t selector: options\n\t };\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid pushDown selector');\n\t return false;\n\t }\n\t\n\t var animatePanInLeftDom = document.querySelectorAll(options.selector);\n\t var elementAnimationCount = animatePanInLeftDom.length;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var element = animatePanInLeftDom[i];\n\t var classNameToRemove = 'animate-pan-in-left';\n\t var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n\t element.className = element.className.substr(0, indexOfClassNameToRemove);\n\t }\n\t }\n\t\n\t function pushDown(options) {\n\t\n\t // We have a single option, so it may be passed as a string or property\n\t if (typeof options === 'string') {\n\t options = {\n\t selector: options\n\t };\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid pushDown selector');\n\t return false;\n\t }\n\t\n\t var animatePushDownDom = document.querySelectorAll(options.selector);\n\t var elementAnimationCount = animatePushDownDom.length;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var element = animatePushDownDom[i];\n\t var classNameToRemove = options.selector.split('.')[1];\n\t var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n\t element.className = element.className.substr(0, indexOfClassNameToRemove);\n\t }\n\t }\n\t\n\t function slideUp(options) {\n\t\n\t // We have a single option, so it may be passed as a string or property\n\t if (typeof options === 'string') {\n\t options = {\n\t selector: options\n\t };\n\t }\n\t\n\t // Fail early & silently log\n\t var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\t\n\t if (isInvalidSelector) {\n\t console.log('invalid pushDown selector');\n\t return false;\n\t }\n\t\n\t var animateSlideUpDom = document.querySelectorAll(options.selector);\n\t var elementAnimationCount = animateSlideUpDom.length;\n\t for (var i = 0; i < elementAnimationCount; i++) {\n\t var element = animateSlideUpDom[i];\n\t var classNameToRemove = options.selector.split('.')[1];\n\t var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n\t element.className = element.className.substr(0, indexOfClassNameToRemove);\n\t }\n\t }\n\t\n\t /* Export object\n\t /============================================================================*/\n\t return motion;\n\t }\n\t\n\t Motion.$inject = [];\n\t};\n\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** ionic.material.min.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap aca4d68e3e47af1bef6a\n **/","/**\n * Ionic Material\n * \"Bundle Index\" / \"Entryfile\"\n * https://github.com/zachsoft/ionic-material\n *\n * Recommended: use a compiled version, especially in production!\n */\n\n'use strict';\n\nmodule.exports = (function(){\n\n var angular;\n\n try {\n angular = require('angular');\n } catch(err){ }\n\n if(!angular || !angular.version){\n /*global window: true*/\n angular = window.angular;\n /*global window: false*/\n }\n\n if(!angular || !angular.version){\n throw new Error('ionic-material could not load angular module :(');\n }\n\n // set up angular module\n var app = angular.module('ionic-material', ['ionic']);\n\n // Import Dependencies\n require('./lib/_ink')(app);\n require('./lib/_motion')(app);\n\n return 'ionic-material';\n})();\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/js/ionic-material.js\n ** module id = 0\n ** module chunks = 0\n **/","if(typeof __WEBPACK_EXTERNAL_MODULE_1__ === 'undefined') {var e = new Error(\"Cannot find module \\\"angular\\\"\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"angular\"\n ** module id = 1\n ** module chunks = 0\n **/","'use strict';\n\n/*!\n * Fork by Zach Fitzgerald and other contributors of Ionic Material\n *\n * Waves v0.5.4\n * http://fian.my.id/Waves\n *\n * Copyright 2014 Alfiana E. Sibuea and other contributors\n *\n * Released under the MIT license\n * https://github.com/fians/Waves/blob/master/LICENSE\n *\n */\nmodule.exports = function (angularApp) {\n\n angularApp.factory('ionicMaterialInk', ink);\n\n function ink (){\n /*global document*/\n var Ink = Ink || {};\n\n // all DOM nodes\n var $$;\n\n // phantomJS throws an error when you try to use document.querySelectorAll.bind\n if(document && document.querySelectorAll && document.querySelectorAll.bind){\n try{\n // all DOM nodes\n $$ = document.querySelectorAll.bind(document);\n\n } catch(e){}\n } else if (window && window.angular && window.angular.element) {\n // we can use angular.element instead\n $$ = window.angular.element;\n } else {\n\n\n /**\n * mout.js 0.11.0 bind and slice polyfills (substitutes?)\n * TODO: pull out mout.js bind and slice molyfills and inject into material.ink\n */\n\n /**\n * Create slice of source array or array-like object\n */\n var slicePolyfill = function moutslicePolyfill(arr, start, end){\n var len = arr.length;\n /*jshint eqnull:true */\n if (start == null) {\n start = 0;\n } else if (start < 0) {\n start = Math.max(len + start, 0);\n } else {\n start = Math.min(start, len);\n }\n\n\n if (end == null) {\n\n end = len;\n } else if (end < 0) {\n end = Math.max(len + end, 0);\n } else {\n end = Math.min(end, len);\n }\n\n var result = [];\n while (start < end) {\n result.push(arr[start++]);\n }\n\n return result;\n };\n\n\n\n /**\n * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection.\n * @param {Function} fn Function.\n * @param {object} context Execution context.\n * @param {rest} args Arguments (0...n arguments).\n * @return {Function} Wrapped Function.\n */\n var bindPolyfill = function moutBind(fn, context, args){\n var argsArr = slicePolyfill(arguments, 2); //curried args\n return function(){\n return fn.apply(context, argsArr.concat(slicePolyfill(arguments)));\n };\n };\n\n $$ = bindPolyfill(document.querySelectorAll, document);\n /*jshint ignore:end */\n }\n\n if (!$$){\n throw new Error('ionic material ink module could not create reference of DOM nodes');\n }\n\n // Find exact position of element\n function isWindow(obj) {\n return obj !== null && obj === obj.window;\n }\n\n function getWindow(elem) {\n return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;\n }\n\n function offset(elem) {\n var docElem, win,\n box = {\n top: 0,\n left: 0\n },\n doc = elem && elem.ownerDocument;\n\n docElem = doc.documentElement;\n\n if (typeof elem.getBoundingClientRect !== typeof undefined) {\n box = elem.getBoundingClientRect();\n }\n win = getWindow(doc);\n return {\n top: box.top + win.pageYOffset - docElem.clientTop,\n left: box.left + win.pageXOffset - docElem.clientLeft\n };\n }\n\n function hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n }\n\n function convertStyle(obj) {\n var style = '';\n\n for (var a in obj) {\n if (obj.hasOwnProperty(a)) {\n style += (a + ':' + obj[a] + ';');\n }\n }\n\n return style;\n }\n\n var Effect = {\n\n // Effect delay\n duration: 500,\n\n show: function(e) {\n\n // Disable right click\n if (e.button === 2) {\n return false;\n }\n\n var el = this;\n\n // Create ripple\n var ripple = document.createElement('div');\n var customColor = this.dataset.inkColor;\n var customOpacity = this.dataset.inkOpacity;\n var hasCustomRipple = customColor || customOpacity;\n ripple.className = 'ink-ripple';\n el.appendChild(ripple);\n\n // Get click coordinate and element witdh\n var pos = offset(el);\n var relativeY = (e.pageY - pos.top);\n var relativeX = (e.pageX - pos.left);\n var scale = 'scale(' + ((el.clientWidth / 100) * 2.5) + ')';\n\n // Support for touch devices\n if ('touches' in e) {\n relativeY = (e.touches[0].pageY - pos.top);\n relativeX = (e.touches[0].pageX - pos.left);\n }\n\n // Attach data to element\n ripple.setAttribute('data-hold', Date.now());\n ripple.setAttribute('data-scale', scale);\n ripple.setAttribute('data-x', relativeX);\n ripple.setAttribute('data-y', relativeY);\n\n // Set ripple position\n var rippleStyle = {\n 'top': relativeY + 'px',\n 'left': relativeX + 'px'\n };\n\n ripple.className = ripple.className + ' ink-notransition';\n\n if (hasCustomRipple) {\n var colorRgb;\n if (customColor) {\n var fromHex = hexToRgb(customColor);\n colorRgb = fromHex.r + ',' + fromHex.g + ',' + fromHex.b;\n } else {\n colorRgb = '0,0,0';\n }\n if (!customOpacity) {\n customOpacity = 0.2;\n }\n var bg = 'rgba(' + colorRgb + ',' + customOpacity + ')';\n rippleStyle['background-color'] = bg;\n }\n\n ripple.setAttribute('style', convertStyle(rippleStyle));\n ripple.className = ripple.className.replace('ink-notransition', '');\n\n // Scale the ripple\n rippleStyle['-webkit-transform'] = scale;\n rippleStyle['-moz-transform'] = scale;\n rippleStyle['-ms-transform'] = scale;\n rippleStyle['-o-transform'] = scale;\n rippleStyle.transform = scale;\n rippleStyle.opacity = '1';\n\n rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';\n rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';\n rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';\n rippleStyle['transition-duration'] = Effect.duration + 'ms';\n\n ripple.setAttribute('style', convertStyle(rippleStyle));\n },\n\n hide: function() {\n\n var el = this;\n\n var width = el.clientWidth * 1.4;\n\n // Get first ripple\n var ripple = null;\n\n var childrenLength = el.children.length;\n\n for (var a = 0; a < childrenLength; a++) {\n if (el.children[a].className.indexOf('ink-ripple') !== -1) {\n ripple = el.children[a];\n continue;\n }\n }\n\n if (!ripple) {\n return false;\n }\n\n var relativeX = ripple.getAttribute('data-x');\n var relativeY = ripple.getAttribute('data-y');\n var scale = ripple.getAttribute('data-scale');\n\n // Get delay beetween mousedown and mouse leave\n var diff = Date.now() - Number(ripple.getAttribute('data-hold'));\n var delay = 500 - diff;\n\n if (delay < 0) {\n delay = 0;\n }\n\n // Fade out ripple after delay\n setTimeout(function() {\n\n var style = {\n 'top': relativeY + 'px',\n 'left': relativeX + 'px',\n 'opacity': '0',\n\n // Duration\n '-webkit-transition-duration': Effect.duration + 'ms',\n '-moz-transition-duration': Effect.duration + 'ms',\n '-o-transition-duration': Effect.duration + 'ms',\n 'transition-duration': Effect.duration + 'ms',\n '-webkit-transform': scale,\n '-moz-transform': scale,\n '-ms-transform': scale,\n '-o-transform': scale,\n 'transform': scale,\n };\n\n ripple.setAttribute('style', convertStyle(style));\n\n setTimeout(function() {\n try {\n el.removeChild(ripple);\n } catch (e) {\n return false;\n }\n }, Effect.duration);\n }, delay);\n },\n\n // Little hack to make can perform ink effect\n wrapInput: function(elements) {\n\n for (var a = 0; a < elements.length; a++) {\n\n var el = elements[a];\n\n if (el.tagName.toLowerCase() === 'input') {\n\n var parent = el.parentNode;\n\n // If input already have parent just pass through\n if (parent.tagName.toLowerCase() === 'i' &&\n parent.className.indexOf('ink') !== -1 &&\n parent.className.indexOf('tab-item') !== -1 &&\n parent.className.indexOf('button-fab') !== -1 &&\n parent.className.indexOf('button-raised') !== -1 &&\n parent.className.indexOf('button-flat') !== -1 &&\n parent.className.indexOf('button-clear') !== -1 &&\n parent.className.indexOf('button') !== -1 &&\n parent.className.indexOf('item') !== -1) {\n return false;\n }\n\n // Put element class and style to the specified parent\n var wrapper = document.createElement('i');\n wrapper.className = el.className + ' ink-input-wrapper';\n\n var elementStyle = el.getAttribute('style');\n\n if (!elementStyle) {\n elementStyle = '';\n }\n\n wrapper.setAttribute('style', elementStyle);\n\n el.className = 'ink-button-input';\n el.removeAttribute('style');\n\n // Put element as child\n parent.replaceChild(wrapper, el);\n wrapper.appendChild(el);\n }\n }\n }\n };\n\n Ink.displayEffect = function(options) {\n options = options || {};\n\n if ('duration' in options) {\n Effect.duration = options.duration;\n }\n\n //Wrap input inside tag\n var selectors = '.ink,.tab-item,.button-fab,.button-raised,.button-flat,.button-clear,a.item,.popup .button';\n Effect.wrapInput($$(selectors));\n\n Array.prototype.forEach.call($$(selectors), function(i) {\n if ('ontouchstart' in window) {\n i.addEventListener('touchstart', Effect.show, false);\n i.addEventListener('touchend', Effect.hide, false);\n i.addEventListener('touchcancel', Effect.hide, false);\n } else {\n i.addEventListener('mousedown', Effect.show, false);\n i.addEventListener('mouseup', Effect.hide, false);\n i.addEventListener('mouseleave', Effect.hide, false);\n }\n });\n };\n\n return Ink;\n }\n\n ink.inject = [];\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/js/lib/_ink.js\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = function(angularApp) {\n angularApp.factory('ionicMaterialMotion', Motion);\n\n function Motion() {\n /*global document, window*/\n\n 'use strict';\n\n /*============================================================================*/\n /* HELPERS (non-exports)\n /=============================================================================*\n / Abstract common lookups and manipulations in case better alternatives\n / arise or future cross-platform differences warrant separate handling\n /=============================================================================*/\n\n function getViewportHeight() {\n return window.innerHeight;\n }\n\n function getBoundingClientRect(domNode) {\n return domNode.getBoundingClientRect;\n }\n\n function showNotAnimatedElements(elements, total) {\n // Load the elements without effect\n for (var i = 0; i < total; i++) {\n var child = elements[i];\n child.className += ' in';\n child.className += ' done';\n }\n }\n\n\n\n /*============================================================================*/\n /* MOTION (EXPORT)\n /=============================================================================*\n / Animation methods for the library\n /=============================================================================*/\n\n var motion = {\n blinds: blinds,\n fadeSlideIn: fadeSlideIn,\n fadeSlideInRight: fadeSlideInRight,\n panInLeft: panInLeft,\n pushDown: pushDown,\n ripple: ripple,\n slideUp: slideUp\n };\n\n function blinds(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.5,\n leftOffsetPercentage: 0.8,\n selector: '.animate-blinds .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid blinds selector');\n return false;\n }\n\n var animateBlindsDom = document.querySelectorAll(options.selector);\n var elementsCount = animateBlindsDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not exacting\n // more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the elements\n // maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < elementsCount; i++) {\n if (animateBlindsDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateBlindsDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateBlindsDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed / options.finishDelayThrottle).toFixed(2);\n //child.querySelector('img').style.webkitTransitionDelay = delay + \"s\";\n //child.querySelector('img').style.transitionDelay = delay + \"s\";\n //child.querySelector('img').className += ' in';\n animateBlindsDom[i].className += ' done';\n }\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateBlindsDom, elementsCount);\n }\n\n function fadeSlideIn(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.72,\n leftOffsetPercentage: 0.8,\n selector: '.animate-fade-slide-in .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid fadeSlideIn selector');\n return false;\n }\n\n var animateFadeSlideInDom = document.querySelectorAll(options.selector);\n var elementsCount = animateFadeSlideInDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not exacting\n // more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the elements\n // maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < elementsCount; i++) {\n if (animateFadeSlideInDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateFadeSlideInDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateFadeSlideInDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delayValue = offset / speed / options.finishDelayThrottle;\n var delay = parseFloat(delayValue).toFixed(2);\n }\n animateFadeSlideInDom[0].className += ' done';\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateFadeSlideInDom, elementsCount);\n }\n\n function fadeSlideInRight(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.72,\n leftOffsetPercentage: 0.8,\n selector: '.animate-fade-slide-in-right .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid fadeSlideInRight selector');\n return false;\n }\n\n var animateSlideInRightDom = document.querySelectorAll(options.selector);\n var elementsCount = animateSlideInRightDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not\n // exacting more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the\n // elements maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < elementsCount; i++) {\n if (animateSlideInRightDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateSlideInRightDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateSlideInRightDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delayValue = offset / speed / options.finishDelayThrottle;\n var delay = parseFloat(delayValue).toFixed(2);\n }\n animateSlideInRightDom[0].className += ' done';\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateSlideInRightDom, elementsCount);\n\n }\n\n function ripple(options) {\n\n // Declare our defaults\n var defaults = {\n finishDelayThrottle: 2,\n finishSpeedPercent: 0.72,\n leftOffsetPercentage: 0.8,\n selector: '.animate-ripple .item',\n startVelocity: 1100\n };\n\n // Apply defaults if properties are not passed\n if (typeof options === 'undefined') {\n options = {};\n }\n\n options.finishDelayThrottle = options.finishDelayThrottle || defaults.finishDelayThrottle;\n options.finishSpeedPercent = options.finishSpeedPercent || defaults.finishSpeedPercent;\n options.leftOffsetPercentage = options.leftOffsetPercentage || defaults.leftOffsetPercentage;\n options.startVelocity = options.startVelocity || defaults.startVelocity;\n\n if (typeof options.selector == 'undefined') {\n options.selector = defaults.selector;\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid ripple selector');\n return false;\n }\n\n var animateRippleDom = document.querySelectorAll(options.selector);\n var elementsCount = animateRippleDom.length;\n var elementAnimationCount = 0;\n\n // Count the elements within the starting viewport so we're not\n // exacting more effort than required...\n //\n // We use css visiblity: hidden instead of display: none so the\n // elements maintain their DOM flow\n\n var viewportHeight = getViewportHeight();\n for (var i = 0; i < animateRippleDom.length; i++) {\n if (animateRippleDom[i].offsetTop < viewportHeight) {\n elementAnimationCount += 1;\n continue;\n }\n break;\n }\n\n // Sequentially animate with a delay based on proximity\n var speed = options.startVelocity;\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateRippleDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delay = parseFloat(offset / speed).toFixed(2);\n child.style.webkitTransitionDelay = delay + \"s\";\n child.style.transitionDelay = delay + \"s\";\n child.className += ' in';\n }\n\n // When we're done animating, switch the class to 'done'\n setTimeout(function() {\n for (var i = 0; i < elementAnimationCount; i++) {\n var child = animateRippleDom[i];\n var childOffset = child.getBoundingClientRect();\n var offset = childOffset.left * options.leftOffsetPercentage + childOffset.top;\n var delayValue = offset / speed / options.finishDelayThrottle;\n var delay = parseFloat(delayValue).toFixed(2);\n }\n animateRippleDom[0].className += ' done';\n\n }, speed * options.finishSpeedPercent);\n\n // Load the elements without effect\n showNotAnimatedElements(animateRippleDom, elementsCount);\n }\n\n function panInLeft(options) {\n\n // We have a single option, so it may be passed as a string or property\n if (typeof options === 'string') {\n options = {\n selector: options\n };\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid pushDown selector');\n return false;\n }\n\n var animatePanInLeftDom = document.querySelectorAll(options.selector);\n var elementAnimationCount = animatePanInLeftDom.length;\n for (var i = 0; i < elementAnimationCount; i++) {\n var element = animatePanInLeftDom[i];\n var classNameToRemove = 'animate-pan-in-left';\n var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n element.className = element.className.substr(0, indexOfClassNameToRemove);\n }\n }\n\n function pushDown(options) {\n\n // We have a single option, so it may be passed as a string or property\n if (typeof options === 'string') {\n options = {\n selector: options\n };\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid pushDown selector');\n return false;\n }\n\n var animatePushDownDom = document.querySelectorAll(options.selector);\n var elementAnimationCount = animatePushDownDom.length;\n for (var i = 0; i < elementAnimationCount; i++) {\n var element = animatePushDownDom[i];\n var classNameToRemove = options.selector.split('.')[1];\n var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n element.className = element.className.substr(0, indexOfClassNameToRemove);\n }\n }\n\n function slideUp(options) {\n\n // We have a single option, so it may be passed as a string or property\n if (typeof options === 'string') {\n options = {\n selector: options\n };\n }\n\n // Fail early & silently log\n var isInvalidSelector = typeof options.selector === 'undefined' || options.selector === '';\n\n if (isInvalidSelector) {\n console.log('invalid pushDown selector');\n return false;\n }\n\n var animateSlideUpDom = document.querySelectorAll(options.selector);\n var elementAnimationCount = animateSlideUpDom.length;\n for (var i = 0; i < elementAnimationCount; i++) {\n var element = animateSlideUpDom[i];\n var classNameToRemove = options.selector.split('.')[1];\n var indexOfClassNameToRemove = element.className.lastIndexOf(classNameToRemove);\n element.className = element.className.substr(0, indexOfClassNameToRemove);\n }\n }\n\n /* Export object\n /============================================================================*/\n return motion;\n }\n\n Motion.$inject = [];\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/js/lib/_motion.js\n ** module id = 3\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic/css/bootstrap-3.3.5/bootstrap.min.css b/platforms/android/assets/www/lib/ionic/css/bootstrap-3.3.5/bootstrap.min.css new file mode 100644 index 0000000..d65c66b --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/css/bootstrap-3.3.5/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:3;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic/css/ionic.css b/platforms/android/assets/www/lib/ionic/css/ionic.css new file mode 100644 index 0000000..9a4be17 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/css/ionic.css @@ -0,0 +1,9729 @@ +@charset "UTF-8"; +/*! + * Copyright 2015 Drifty Co. + * http://drifty.com/ + * + * Ionic, v1.2.4 + * A powerful HTML5 mobile app framework. + * http://ionicframework.com/ + * + * By @maxlynch, @benjsperry, @adamdbradley <3 + * + * Licensed under the MIT license. Please see LICENSE for more information. + * + */ +/*! + Ionicons, v2.0.1 + Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ + https://twitter.com/benjsperry https://twitter.com/ionicframework + MIT License: https://github.com/driftyco/ionicons + + Android-style icons originally built by Google’s + Material Design Icons: https://github.com/google/material-design-icons + used under CC BY http://creativecommons.org/licenses/by/4.0/ + Modified icons to fit ionicon’s grid from original. +*/ +@font-face { + font-family: "Ionicons"; + src: url("../fonts/ionicons.eot?v=2.0.1"); + src: url("../fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"), url("../fonts/ionicons.ttf?v=2.0.1") format("truetype"), url("../fonts/ionicons.woff?v=2.0.1") format("woff"), url("../fonts/ionicons.woff") format("woff"), url("../fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg"); + font-weight: normal; + font-style: normal; } + +.ion, .ionicons, +.ion-alert:before, +.ion-alert-circled:before, +.ion-android-add:before, +.ion-android-add-circle:before, +.ion-android-alarm-clock:before, +.ion-android-alert:before, +.ion-android-apps:before, +.ion-android-archive:before, +.ion-android-arrow-back:before, +.ion-android-arrow-down:before, +.ion-android-arrow-dropdown:before, +.ion-android-arrow-dropdown-circle:before, +.ion-android-arrow-dropleft:before, +.ion-android-arrow-dropleft-circle:before, +.ion-android-arrow-dropright:before, +.ion-android-arrow-dropright-circle:before, +.ion-android-arrow-dropup:before, +.ion-android-arrow-dropup-circle:before, +.ion-android-arrow-forward:before, +.ion-android-arrow-up:before, +.ion-android-attach:before, +.ion-android-bar:before, +.ion-android-bicycle:before, +.ion-android-boat:before, +.ion-android-bookmark:before, +.ion-android-bulb:before, +.ion-android-bus:before, +.ion-android-calendar:before, +.ion-android-call:before, +.ion-android-camera:before, +.ion-android-cancel:before, +.ion-android-car:before, +.ion-android-cart:before, +.ion-android-chat:before, +.ion-android-checkbox:before, +.ion-android-checkbox-blank:before, +.ion-android-checkbox-outline:before, +.ion-android-checkbox-outline-blank:before, +.ion-android-checkmark-circle:before, +.ion-android-clipboard:before, +.ion-android-close:before, +.ion-android-cloud:before, +.ion-android-cloud-circle:before, +.ion-android-cloud-done:before, +.ion-android-cloud-outline:before, +.ion-android-color-palette:before, +.ion-android-compass:before, +.ion-android-contact:before, +.ion-android-contacts:before, +.ion-android-contract:before, +.ion-android-create:before, +.ion-android-delete:before, +.ion-android-desktop:before, +.ion-android-document:before, +.ion-android-done:before, +.ion-android-done-all:before, +.ion-android-download:before, +.ion-android-drafts:before, +.ion-android-exit:before, +.ion-android-expand:before, +.ion-android-favorite:before, +.ion-android-favorite-outline:before, +.ion-android-film:before, +.ion-android-folder:before, +.ion-android-folder-open:before, +.ion-android-funnel:before, +.ion-android-globe:before, +.ion-android-hand:before, +.ion-android-hangout:before, +.ion-android-happy:before, +.ion-android-home:before, +.ion-android-image:before, +.ion-android-laptop:before, +.ion-android-list:before, +.ion-android-locate:before, +.ion-android-lock:before, +.ion-android-mail:before, +.ion-android-map:before, +.ion-android-menu:before, +.ion-android-microphone:before, +.ion-android-microphone-off:before, +.ion-android-more-horizontal:before, +.ion-android-more-vertical:before, +.ion-android-navigate:before, +.ion-android-notifications:before, +.ion-android-notifications-none:before, +.ion-android-notifications-off:before, +.ion-android-open:before, +.ion-android-options:before, +.ion-android-people:before, +.ion-android-person:before, +.ion-android-person-add:before, +.ion-android-phone-landscape:before, +.ion-android-phone-portrait:before, +.ion-android-pin:before, +.ion-android-plane:before, +.ion-android-playstore:before, +.ion-android-print:before, +.ion-android-radio-button-off:before, +.ion-android-radio-button-on:before, +.ion-android-refresh:before, +.ion-android-remove:before, +.ion-android-remove-circle:before, +.ion-android-restaurant:before, +.ion-android-sad:before, +.ion-android-search:before, +.ion-android-send:before, +.ion-android-settings:before, +.ion-android-share:before, +.ion-android-share-alt:before, +.ion-android-star:before, +.ion-android-star-half:before, +.ion-android-star-outline:before, +.ion-android-stopwatch:before, +.ion-android-subway:before, +.ion-android-sunny:before, +.ion-android-sync:before, +.ion-android-textsms:before, +.ion-android-time:before, +.ion-android-train:before, +.ion-android-unlock:before, +.ion-android-upload:before, +.ion-android-volume-down:before, +.ion-android-volume-mute:before, +.ion-android-volume-off:before, +.ion-android-volume-up:before, +.ion-android-walk:before, +.ion-android-warning:before, +.ion-android-watch:before, +.ion-android-wifi:before, +.ion-aperture:before, +.ion-archive:before, +.ion-arrow-down-a:before, +.ion-arrow-down-b:before, +.ion-arrow-down-c:before, +.ion-arrow-expand:before, +.ion-arrow-graph-down-left:before, +.ion-arrow-graph-down-right:before, +.ion-arrow-graph-up-left:before, +.ion-arrow-graph-up-right:before, +.ion-arrow-left-a:before, +.ion-arrow-left-b:before, +.ion-arrow-left-c:before, +.ion-arrow-move:before, +.ion-arrow-resize:before, +.ion-arrow-return-left:before, +.ion-arrow-return-right:before, +.ion-arrow-right-a:before, +.ion-arrow-right-b:before, +.ion-arrow-right-c:before, +.ion-arrow-shrink:before, +.ion-arrow-swap:before, +.ion-arrow-up-a:before, +.ion-arrow-up-b:before, +.ion-arrow-up-c:before, +.ion-asterisk:before, +.ion-at:before, +.ion-backspace:before, +.ion-backspace-outline:before, +.ion-bag:before, +.ion-battery-charging:before, +.ion-battery-empty:before, +.ion-battery-full:before, +.ion-battery-half:before, +.ion-battery-low:before, +.ion-beaker:before, +.ion-beer:before, +.ion-bluetooth:before, +.ion-bonfire:before, +.ion-bookmark:before, +.ion-bowtie:before, +.ion-briefcase:before, +.ion-bug:before, +.ion-calculator:before, +.ion-calendar:before, +.ion-camera:before, +.ion-card:before, +.ion-cash:before, +.ion-chatbox:before, +.ion-chatbox-working:before, +.ion-chatboxes:before, +.ion-chatbubble:before, +.ion-chatbubble-working:before, +.ion-chatbubbles:before, +.ion-checkmark:before, +.ion-checkmark-circled:before, +.ion-checkmark-round:before, +.ion-chevron-down:before, +.ion-chevron-left:before, +.ion-chevron-right:before, +.ion-chevron-up:before, +.ion-clipboard:before, +.ion-clock:before, +.ion-close:before, +.ion-close-circled:before, +.ion-close-round:before, +.ion-closed-captioning:before, +.ion-cloud:before, +.ion-code:before, +.ion-code-download:before, +.ion-code-working:before, +.ion-coffee:before, +.ion-compass:before, +.ion-compose:before, +.ion-connection-bars:before, +.ion-contrast:before, +.ion-crop:before, +.ion-cube:before, +.ion-disc:before, +.ion-document:before, +.ion-document-text:before, +.ion-drag:before, +.ion-earth:before, +.ion-easel:before, +.ion-edit:before, +.ion-egg:before, +.ion-eject:before, +.ion-email:before, +.ion-email-unread:before, +.ion-erlenmeyer-flask:before, +.ion-erlenmeyer-flask-bubbles:before, +.ion-eye:before, +.ion-eye-disabled:before, +.ion-female:before, +.ion-filing:before, +.ion-film-marker:before, +.ion-fireball:before, +.ion-flag:before, +.ion-flame:before, +.ion-flash:before, +.ion-flash-off:before, +.ion-folder:before, +.ion-fork:before, +.ion-fork-repo:before, +.ion-forward:before, +.ion-funnel:before, +.ion-gear-a:before, +.ion-gear-b:before, +.ion-grid:before, +.ion-hammer:before, +.ion-happy:before, +.ion-happy-outline:before, +.ion-headphone:before, +.ion-heart:before, +.ion-heart-broken:before, +.ion-help:before, +.ion-help-buoy:before, +.ion-help-circled:before, +.ion-home:before, +.ion-icecream:before, +.ion-image:before, +.ion-images:before, +.ion-information:before, +.ion-information-circled:before, +.ion-ionic:before, +.ion-ios-alarm:before, +.ion-ios-alarm-outline:before, +.ion-ios-albums:before, +.ion-ios-albums-outline:before, +.ion-ios-americanfootball:before, +.ion-ios-americanfootball-outline:before, +.ion-ios-analytics:before, +.ion-ios-analytics-outline:before, +.ion-ios-arrow-back:before, +.ion-ios-arrow-down:before, +.ion-ios-arrow-forward:before, +.ion-ios-arrow-left:before, +.ion-ios-arrow-right:before, +.ion-ios-arrow-thin-down:before, +.ion-ios-arrow-thin-left:before, +.ion-ios-arrow-thin-right:before, +.ion-ios-arrow-thin-up:before, +.ion-ios-arrow-up:before, +.ion-ios-at:before, +.ion-ios-at-outline:before, +.ion-ios-barcode:before, +.ion-ios-barcode-outline:before, +.ion-ios-baseball:before, +.ion-ios-baseball-outline:before, +.ion-ios-basketball:before, +.ion-ios-basketball-outline:before, +.ion-ios-bell:before, +.ion-ios-bell-outline:before, +.ion-ios-body:before, +.ion-ios-body-outline:before, +.ion-ios-bolt:before, +.ion-ios-bolt-outline:before, +.ion-ios-book:before, +.ion-ios-book-outline:before, +.ion-ios-bookmarks:before, +.ion-ios-bookmarks-outline:before, +.ion-ios-box:before, +.ion-ios-box-outline:before, +.ion-ios-briefcase:before, +.ion-ios-briefcase-outline:before, +.ion-ios-browsers:before, +.ion-ios-browsers-outline:before, +.ion-ios-calculator:before, +.ion-ios-calculator-outline:before, +.ion-ios-calendar:before, +.ion-ios-calendar-outline:before, +.ion-ios-camera:before, +.ion-ios-camera-outline:before, +.ion-ios-cart:before, +.ion-ios-cart-outline:before, +.ion-ios-chatboxes:before, +.ion-ios-chatboxes-outline:before, +.ion-ios-chatbubble:before, +.ion-ios-chatbubble-outline:before, +.ion-ios-checkmark:before, +.ion-ios-checkmark-empty:before, +.ion-ios-checkmark-outline:before, +.ion-ios-circle-filled:before, +.ion-ios-circle-outline:before, +.ion-ios-clock:before, +.ion-ios-clock-outline:before, +.ion-ios-close:before, +.ion-ios-close-empty:before, +.ion-ios-close-outline:before, +.ion-ios-cloud:before, +.ion-ios-cloud-download:before, +.ion-ios-cloud-download-outline:before, +.ion-ios-cloud-outline:before, +.ion-ios-cloud-upload:before, +.ion-ios-cloud-upload-outline:before, +.ion-ios-cloudy:before, +.ion-ios-cloudy-night:before, +.ion-ios-cloudy-night-outline:before, +.ion-ios-cloudy-outline:before, +.ion-ios-cog:before, +.ion-ios-cog-outline:before, +.ion-ios-color-filter:before, +.ion-ios-color-filter-outline:before, +.ion-ios-color-wand:before, +.ion-ios-color-wand-outline:before, +.ion-ios-compose:before, +.ion-ios-compose-outline:before, +.ion-ios-contact:before, +.ion-ios-contact-outline:before, +.ion-ios-copy:before, +.ion-ios-copy-outline:before, +.ion-ios-crop:before, +.ion-ios-crop-strong:before, +.ion-ios-download:before, +.ion-ios-download-outline:before, +.ion-ios-drag:before, +.ion-ios-email:before, +.ion-ios-email-outline:before, +.ion-ios-eye:before, +.ion-ios-eye-outline:before, +.ion-ios-fastforward:before, +.ion-ios-fastforward-outline:before, +.ion-ios-filing:before, +.ion-ios-filing-outline:before, +.ion-ios-film:before, +.ion-ios-film-outline:before, +.ion-ios-flag:before, +.ion-ios-flag-outline:before, +.ion-ios-flame:before, +.ion-ios-flame-outline:before, +.ion-ios-flask:before, +.ion-ios-flask-outline:before, +.ion-ios-flower:before, +.ion-ios-flower-outline:before, +.ion-ios-folder:before, +.ion-ios-folder-outline:before, +.ion-ios-football:before, +.ion-ios-football-outline:before, +.ion-ios-game-controller-a:before, +.ion-ios-game-controller-a-outline:before, +.ion-ios-game-controller-b:before, +.ion-ios-game-controller-b-outline:before, +.ion-ios-gear:before, +.ion-ios-gear-outline:before, +.ion-ios-glasses:before, +.ion-ios-glasses-outline:before, +.ion-ios-grid-view:before, +.ion-ios-grid-view-outline:before, +.ion-ios-heart:before, +.ion-ios-heart-outline:before, +.ion-ios-help:before, +.ion-ios-help-empty:before, +.ion-ios-help-outline:before, +.ion-ios-home:before, +.ion-ios-home-outline:before, +.ion-ios-infinite:before, +.ion-ios-infinite-outline:before, +.ion-ios-information:before, +.ion-ios-information-empty:before, +.ion-ios-information-outline:before, +.ion-ios-ionic-outline:before, +.ion-ios-keypad:before, +.ion-ios-keypad-outline:before, +.ion-ios-lightbulb:before, +.ion-ios-lightbulb-outline:before, +.ion-ios-list:before, +.ion-ios-list-outline:before, +.ion-ios-location:before, +.ion-ios-location-outline:before, +.ion-ios-locked:before, +.ion-ios-locked-outline:before, +.ion-ios-loop:before, +.ion-ios-loop-strong:before, +.ion-ios-medical:before, +.ion-ios-medical-outline:before, +.ion-ios-medkit:before, +.ion-ios-medkit-outline:before, +.ion-ios-mic:before, +.ion-ios-mic-off:before, +.ion-ios-mic-outline:before, +.ion-ios-minus:before, +.ion-ios-minus-empty:before, +.ion-ios-minus-outline:before, +.ion-ios-monitor:before, +.ion-ios-monitor-outline:before, +.ion-ios-moon:before, +.ion-ios-moon-outline:before, +.ion-ios-more:before, +.ion-ios-more-outline:before, +.ion-ios-musical-note:before, +.ion-ios-musical-notes:before, +.ion-ios-navigate:before, +.ion-ios-navigate-outline:before, +.ion-ios-nutrition:before, +.ion-ios-nutrition-outline:before, +.ion-ios-paper:before, +.ion-ios-paper-outline:before, +.ion-ios-paperplane:before, +.ion-ios-paperplane-outline:before, +.ion-ios-partlysunny:before, +.ion-ios-partlysunny-outline:before, +.ion-ios-pause:before, +.ion-ios-pause-outline:before, +.ion-ios-paw:before, +.ion-ios-paw-outline:before, +.ion-ios-people:before, +.ion-ios-people-outline:before, +.ion-ios-person:before, +.ion-ios-person-outline:before, +.ion-ios-personadd:before, +.ion-ios-personadd-outline:before, +.ion-ios-photos:before, +.ion-ios-photos-outline:before, +.ion-ios-pie:before, +.ion-ios-pie-outline:before, +.ion-ios-pint:before, +.ion-ios-pint-outline:before, +.ion-ios-play:before, +.ion-ios-play-outline:before, +.ion-ios-plus:before, +.ion-ios-plus-empty:before, +.ion-ios-plus-outline:before, +.ion-ios-pricetag:before, +.ion-ios-pricetag-outline:before, +.ion-ios-pricetags:before, +.ion-ios-pricetags-outline:before, +.ion-ios-printer:before, +.ion-ios-printer-outline:before, +.ion-ios-pulse:before, +.ion-ios-pulse-strong:before, +.ion-ios-rainy:before, +.ion-ios-rainy-outline:before, +.ion-ios-recording:before, +.ion-ios-recording-outline:before, +.ion-ios-redo:before, +.ion-ios-redo-outline:before, +.ion-ios-refresh:before, +.ion-ios-refresh-empty:before, +.ion-ios-refresh-outline:before, +.ion-ios-reload:before, +.ion-ios-reverse-camera:before, +.ion-ios-reverse-camera-outline:before, +.ion-ios-rewind:before, +.ion-ios-rewind-outline:before, +.ion-ios-rose:before, +.ion-ios-rose-outline:before, +.ion-ios-search:before, +.ion-ios-search-strong:before, +.ion-ios-settings:before, +.ion-ios-settings-strong:before, +.ion-ios-shuffle:before, +.ion-ios-shuffle-strong:before, +.ion-ios-skipbackward:before, +.ion-ios-skipbackward-outline:before, +.ion-ios-skipforward:before, +.ion-ios-skipforward-outline:before, +.ion-ios-snowy:before, +.ion-ios-speedometer:before, +.ion-ios-speedometer-outline:before, +.ion-ios-star:before, +.ion-ios-star-half:before, +.ion-ios-star-outline:before, +.ion-ios-stopwatch:before, +.ion-ios-stopwatch-outline:before, +.ion-ios-sunny:before, +.ion-ios-sunny-outline:before, +.ion-ios-telephone:before, +.ion-ios-telephone-outline:before, +.ion-ios-tennisball:before, +.ion-ios-tennisball-outline:before, +.ion-ios-thunderstorm:before, +.ion-ios-thunderstorm-outline:before, +.ion-ios-time:before, +.ion-ios-time-outline:before, +.ion-ios-timer:before, +.ion-ios-timer-outline:before, +.ion-ios-toggle:before, +.ion-ios-toggle-outline:before, +.ion-ios-trash:before, +.ion-ios-trash-outline:before, +.ion-ios-undo:before, +.ion-ios-undo-outline:before, +.ion-ios-unlocked:before, +.ion-ios-unlocked-outline:before, +.ion-ios-upload:before, +.ion-ios-upload-outline:before, +.ion-ios-videocam:before, +.ion-ios-videocam-outline:before, +.ion-ios-volume-high:before, +.ion-ios-volume-low:before, +.ion-ios-wineglass:before, +.ion-ios-wineglass-outline:before, +.ion-ios-world:before, +.ion-ios-world-outline:before, +.ion-ipad:before, +.ion-iphone:before, +.ion-ipod:before, +.ion-jet:before, +.ion-key:before, +.ion-knife:before, +.ion-laptop:before, +.ion-leaf:before, +.ion-levels:before, +.ion-lightbulb:before, +.ion-link:before, +.ion-load-a:before, +.ion-load-b:before, +.ion-load-c:before, +.ion-load-d:before, +.ion-location:before, +.ion-lock-combination:before, +.ion-locked:before, +.ion-log-in:before, +.ion-log-out:before, +.ion-loop:before, +.ion-magnet:before, +.ion-male:before, +.ion-man:before, +.ion-map:before, +.ion-medkit:before, +.ion-merge:before, +.ion-mic-a:before, +.ion-mic-b:before, +.ion-mic-c:before, +.ion-minus:before, +.ion-minus-circled:before, +.ion-minus-round:before, +.ion-model-s:before, +.ion-monitor:before, +.ion-more:before, +.ion-mouse:before, +.ion-music-note:before, +.ion-navicon:before, +.ion-navicon-round:before, +.ion-navigate:before, +.ion-network:before, +.ion-no-smoking:before, +.ion-nuclear:before, +.ion-outlet:before, +.ion-paintbrush:before, +.ion-paintbucket:before, +.ion-paper-airplane:before, +.ion-paperclip:before, +.ion-pause:before, +.ion-person:before, +.ion-person-add:before, +.ion-person-stalker:before, +.ion-pie-graph:before, +.ion-pin:before, +.ion-pinpoint:before, +.ion-pizza:before, +.ion-plane:before, +.ion-planet:before, +.ion-play:before, +.ion-playstation:before, +.ion-plus:before, +.ion-plus-circled:before, +.ion-plus-round:before, +.ion-podium:before, +.ion-pound:before, +.ion-power:before, +.ion-pricetag:before, +.ion-pricetags:before, +.ion-printer:before, +.ion-pull-request:before, +.ion-qr-scanner:before, +.ion-quote:before, +.ion-radio-waves:before, +.ion-record:before, +.ion-refresh:before, +.ion-reply:before, +.ion-reply-all:before, +.ion-ribbon-a:before, +.ion-ribbon-b:before, +.ion-sad:before, +.ion-sad-outline:before, +.ion-scissors:before, +.ion-search:before, +.ion-settings:before, +.ion-share:before, +.ion-shuffle:before, +.ion-skip-backward:before, +.ion-skip-forward:before, +.ion-social-android:before, +.ion-social-android-outline:before, +.ion-social-angular:before, +.ion-social-angular-outline:before, +.ion-social-apple:before, +.ion-social-apple-outline:before, +.ion-social-bitcoin:before, +.ion-social-bitcoin-outline:before, +.ion-social-buffer:before, +.ion-social-buffer-outline:before, +.ion-social-chrome:before, +.ion-social-chrome-outline:before, +.ion-social-codepen:before, +.ion-social-codepen-outline:before, +.ion-social-css3:before, +.ion-social-css3-outline:before, +.ion-social-designernews:before, +.ion-social-designernews-outline:before, +.ion-social-dribbble:before, +.ion-social-dribbble-outline:before, +.ion-social-dropbox:before, +.ion-social-dropbox-outline:before, +.ion-social-euro:before, +.ion-social-euro-outline:before, +.ion-social-facebook:before, +.ion-social-facebook-outline:before, +.ion-social-foursquare:before, +.ion-social-foursquare-outline:before, +.ion-social-freebsd-devil:before, +.ion-social-github:before, +.ion-social-github-outline:before, +.ion-social-google:before, +.ion-social-google-outline:before, +.ion-social-googleplus:before, +.ion-social-googleplus-outline:before, +.ion-social-hackernews:before, +.ion-social-hackernews-outline:before, +.ion-social-html5:before, +.ion-social-html5-outline:before, +.ion-social-instagram:before, +.ion-social-instagram-outline:before, +.ion-social-javascript:before, +.ion-social-javascript-outline:before, +.ion-social-linkedin:before, +.ion-social-linkedin-outline:before, +.ion-social-markdown:before, +.ion-social-nodejs:before, +.ion-social-octocat:before, +.ion-social-pinterest:before, +.ion-social-pinterest-outline:before, +.ion-social-python:before, +.ion-social-reddit:before, +.ion-social-reddit-outline:before, +.ion-social-rss:before, +.ion-social-rss-outline:before, +.ion-social-sass:before, +.ion-social-skype:before, +.ion-social-skype-outline:before, +.ion-social-snapchat:before, +.ion-social-snapchat-outline:before, +.ion-social-tumblr:before, +.ion-social-tumblr-outline:before, +.ion-social-tux:before, +.ion-social-twitch:before, +.ion-social-twitch-outline:before, +.ion-social-twitter:before, +.ion-social-twitter-outline:before, +.ion-social-usd:before, +.ion-social-usd-outline:before, +.ion-social-vimeo:before, +.ion-social-vimeo-outline:before, +.ion-social-whatsapp:before, +.ion-social-whatsapp-outline:before, +.ion-social-windows:before, +.ion-social-windows-outline:before, +.ion-social-wordpress:before, +.ion-social-wordpress-outline:before, +.ion-social-yahoo:before, +.ion-social-yahoo-outline:before, +.ion-social-yen:before, +.ion-social-yen-outline:before, +.ion-social-youtube:before, +.ion-social-youtube-outline:before, +.ion-soup-can:before, +.ion-soup-can-outline:before, +.ion-speakerphone:before, +.ion-speedometer:before, +.ion-spoon:before, +.ion-star:before, +.ion-stats-bars:before, +.ion-steam:before, +.ion-stop:before, +.ion-thermometer:before, +.ion-thumbsdown:before, +.ion-thumbsup:before, +.ion-toggle:before, +.ion-toggle-filled:before, +.ion-transgender:before, +.ion-trash-a:before, +.ion-trash-b:before, +.ion-trophy:before, +.ion-tshirt:before, +.ion-tshirt-outline:before, +.ion-umbrella:before, +.ion-university:before, +.ion-unlocked:before, +.ion-upload:before, +.ion-usb:before, +.ion-videocamera:before, +.ion-volume-high:before, +.ion-volume-low:before, +.ion-volume-medium:before, +.ion-volume-mute:before, +.ion-wand:before, +.ion-waterdrop:before, +.ion-wifi:before, +.ion-wineglass:before, +.ion-woman:before, +.ion-wrench:before, +.ion-xbox:before { + display: inline-block; + font-family: "Ionicons"; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + text-rendering: auto; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +.ion-alert:before { + content: ""; } + +.ion-alert-circled:before { + content: ""; } + +.ion-android-add:before { + content: ""; } + +.ion-android-add-circle:before { + content: ""; } + +.ion-android-alarm-clock:before { + content: ""; } + +.ion-android-alert:before { + content: ""; } + +.ion-android-apps:before { + content: ""; } + +.ion-android-archive:before { + content: ""; } + +.ion-android-arrow-back:before { + content: ""; } + +.ion-android-arrow-down:before { + content: ""; } + +.ion-android-arrow-dropdown:before { + content: ""; } + +.ion-android-arrow-dropdown-circle:before { + content: ""; } + +.ion-android-arrow-dropleft:before { + content: ""; } + +.ion-android-arrow-dropleft-circle:before { + content: ""; } + +.ion-android-arrow-dropright:before { + content: ""; } + +.ion-android-arrow-dropright-circle:before { + content: ""; } + +.ion-android-arrow-dropup:before { + content: ""; } + +.ion-android-arrow-dropup-circle:before { + content: ""; } + +.ion-android-arrow-forward:before { + content: ""; } + +.ion-android-arrow-up:before { + content: ""; } + +.ion-android-attach:before { + content: ""; } + +.ion-android-bar:before { + content: ""; } + +.ion-android-bicycle:before { + content: ""; } + +.ion-android-boat:before { + content: ""; } + +.ion-android-bookmark:before { + content: ""; } + +.ion-android-bulb:before { + content: ""; } + +.ion-android-bus:before { + content: ""; } + +.ion-android-calendar:before { + content: ""; } + +.ion-android-call:before { + content: ""; } + +.ion-android-camera:before { + content: ""; } + +.ion-android-cancel:before { + content: ""; } + +.ion-android-car:before { + content: ""; } + +.ion-android-cart:before { + content: ""; } + +.ion-android-chat:before { + content: ""; } + +.ion-android-checkbox:before { + content: ""; } + +.ion-android-checkbox-blank:before { + content: ""; } + +.ion-android-checkbox-outline:before { + content: ""; } + +.ion-android-checkbox-outline-blank:before { + content: ""; } + +.ion-android-checkmark-circle:before { + content: ""; } + +.ion-android-clipboard:before { + content: ""; } + +.ion-android-close:before { + content: ""; } + +.ion-android-cloud:before { + content: ""; } + +.ion-android-cloud-circle:before { + content: ""; } + +.ion-android-cloud-done:before { + content: ""; } + +.ion-android-cloud-outline:before { + content: ""; } + +.ion-android-color-palette:before { + content: ""; } + +.ion-android-compass:before { + content: ""; } + +.ion-android-contact:before { + content: ""; } + +.ion-android-contacts:before { + content: ""; } + +.ion-android-contract:before { + content: ""; } + +.ion-android-create:before { + content: ""; } + +.ion-android-delete:before { + content: ""; } + +.ion-android-desktop:before { + content: ""; } + +.ion-android-document:before { + content: ""; } + +.ion-android-done:before { + content: ""; } + +.ion-android-done-all:before { + content: ""; } + +.ion-android-download:before { + content: ""; } + +.ion-android-drafts:before { + content: ""; } + +.ion-android-exit:before { + content: ""; } + +.ion-android-expand:before { + content: ""; } + +.ion-android-favorite:before { + content: ""; } + +.ion-android-favorite-outline:before { + content: ""; } + +.ion-android-film:before { + content: ""; } + +.ion-android-folder:before { + content: ""; } + +.ion-android-folder-open:before { + content: ""; } + +.ion-android-funnel:before { + content: ""; } + +.ion-android-globe:before { + content: ""; } + +.ion-android-hand:before { + content: ""; } + +.ion-android-hangout:before { + content: ""; } + +.ion-android-happy:before { + content: ""; } + +.ion-android-home:before { + content: ""; } + +.ion-android-image:before { + content: ""; } + +.ion-android-laptop:before { + content: ""; } + +.ion-android-list:before { + content: ""; } + +.ion-android-locate:before { + content: ""; } + +.ion-android-lock:before { + content: ""; } + +.ion-android-mail:before { + content: ""; } + +.ion-android-map:before { + content: ""; } + +.ion-android-menu:before { + content: ""; } + +.ion-android-microphone:before { + content: ""; } + +.ion-android-microphone-off:before { + content: ""; } + +.ion-android-more-horizontal:before { + content: ""; } + +.ion-android-more-vertical:before { + content: ""; } + +.ion-android-navigate:before { + content: ""; } + +.ion-android-notifications:before { + content: ""; } + +.ion-android-notifications-none:before { + content: ""; } + +.ion-android-notifications-off:before { + content: ""; } + +.ion-android-open:before { + content: ""; } + +.ion-android-options:before { + content: ""; } + +.ion-android-people:before { + content: ""; } + +.ion-android-person:before { + content: ""; } + +.ion-android-person-add:before { + content: ""; } + +.ion-android-phone-landscape:before { + content: ""; } + +.ion-android-phone-portrait:before { + content: ""; } + +.ion-android-pin:before { + content: ""; } + +.ion-android-plane:before { + content: ""; } + +.ion-android-playstore:before { + content: ""; } + +.ion-android-print:before { + content: ""; } + +.ion-android-radio-button-off:before { + content: ""; } + +.ion-android-radio-button-on:before { + content: ""; } + +.ion-android-refresh:before { + content: ""; } + +.ion-android-remove:before { + content: ""; } + +.ion-android-remove-circle:before { + content: ""; } + +.ion-android-restaurant:before { + content: ""; } + +.ion-android-sad:before { + content: ""; } + +.ion-android-search:before { + content: ""; } + +.ion-android-send:before { + content: ""; } + +.ion-android-settings:before { + content: ""; } + +.ion-android-share:before { + content: ""; } + +.ion-android-share-alt:before { + content: ""; } + +.ion-android-star:before { + content: ""; } + +.ion-android-star-half:before { + content: ""; } + +.ion-android-star-outline:before { + content: ""; } + +.ion-android-stopwatch:before { + content: ""; } + +.ion-android-subway:before { + content: ""; } + +.ion-android-sunny:before { + content: ""; } + +.ion-android-sync:before { + content: ""; } + +.ion-android-textsms:before { + content: ""; } + +.ion-android-time:before { + content: ""; } + +.ion-android-train:before { + content: ""; } + +.ion-android-unlock:before { + content: ""; } + +.ion-android-upload:before { + content: ""; } + +.ion-android-volume-down:before { + content: ""; } + +.ion-android-volume-mute:before { + content: ""; } + +.ion-android-volume-off:before { + content: ""; } + +.ion-android-volume-up:before { + content: ""; } + +.ion-android-walk:before { + content: ""; } + +.ion-android-warning:before { + content: ""; } + +.ion-android-watch:before { + content: ""; } + +.ion-android-wifi:before { + content: ""; } + +.ion-aperture:before { + content: ""; } + +.ion-archive:before { + content: ""; } + +.ion-arrow-down-a:before { + content: ""; } + +.ion-arrow-down-b:before { + content: ""; } + +.ion-arrow-down-c:before { + content: ""; } + +.ion-arrow-expand:before { + content: ""; } + +.ion-arrow-graph-down-left:before { + content: ""; } + +.ion-arrow-graph-down-right:before { + content: ""; } + +.ion-arrow-graph-up-left:before { + content: ""; } + +.ion-arrow-graph-up-right:before { + content: ""; } + +.ion-arrow-left-a:before { + content: ""; } + +.ion-arrow-left-b:before { + content: ""; } + +.ion-arrow-left-c:before { + content: ""; } + +.ion-arrow-move:before { + content: ""; } + +.ion-arrow-resize:before { + content: ""; } + +.ion-arrow-return-left:before { + content: ""; } + +.ion-arrow-return-right:before { + content: ""; } + +.ion-arrow-right-a:before { + content: ""; } + +.ion-arrow-right-b:before { + content: ""; } + +.ion-arrow-right-c:before { + content: ""; } + +.ion-arrow-shrink:before { + content: ""; } + +.ion-arrow-swap:before { + content: ""; } + +.ion-arrow-up-a:before { + content: ""; } + +.ion-arrow-up-b:before { + content: ""; } + +.ion-arrow-up-c:before { + content: ""; } + +.ion-asterisk:before { + content: ""; } + +.ion-at:before { + content: ""; } + +.ion-backspace:before { + content: ""; } + +.ion-backspace-outline:before { + content: ""; } + +.ion-bag:before { + content: ""; } + +.ion-battery-charging:before { + content: ""; } + +.ion-battery-empty:before { + content: ""; } + +.ion-battery-full:before { + content: ""; } + +.ion-battery-half:before { + content: ""; } + +.ion-battery-low:before { + content: ""; } + +.ion-beaker:before { + content: ""; } + +.ion-beer:before { + content: ""; } + +.ion-bluetooth:before { + content: ""; } + +.ion-bonfire:before { + content: ""; } + +.ion-bookmark:before { + content: ""; } + +.ion-bowtie:before { + content: ""; } + +.ion-briefcase:before { + content: ""; } + +.ion-bug:before { + content: ""; } + +.ion-calculator:before { + content: ""; } + +.ion-calendar:before { + content: ""; } + +.ion-camera:before { + content: ""; } + +.ion-card:before { + content: ""; } + +.ion-cash:before { + content: ""; } + +.ion-chatbox:before { + content: ""; } + +.ion-chatbox-working:before { + content: ""; } + +.ion-chatboxes:before { + content: ""; } + +.ion-chatbubble:before { + content: ""; } + +.ion-chatbubble-working:before { + content: ""; } + +.ion-chatbubbles:before { + content: ""; } + +.ion-checkmark:before { + content: ""; } + +.ion-checkmark-circled:before { + content: ""; } + +.ion-checkmark-round:before { + content: ""; } + +.ion-chevron-down:before { + content: ""; } + +.ion-chevron-left:before { + content: ""; } + +.ion-chevron-right:before { + content: ""; } + +.ion-chevron-up:before { + content: ""; } + +.ion-clipboard:before { + content: ""; } + +.ion-clock:before { + content: ""; } + +.ion-close:before { + content: ""; } + +.ion-close-circled:before { + content: ""; } + +.ion-close-round:before { + content: ""; } + +.ion-closed-captioning:before { + content: ""; } + +.ion-cloud:before { + content: ""; } + +.ion-code:before { + content: ""; } + +.ion-code-download:before { + content: ""; } + +.ion-code-working:before { + content: ""; } + +.ion-coffee:before { + content: ""; } + +.ion-compass:before { + content: ""; } + +.ion-compose:before { + content: ""; } + +.ion-connection-bars:before { + content: ""; } + +.ion-contrast:before { + content: ""; } + +.ion-crop:before { + content: ""; } + +.ion-cube:before { + content: ""; } + +.ion-disc:before { + content: ""; } + +.ion-document:before { + content: ""; } + +.ion-document-text:before { + content: ""; } + +.ion-drag:before { + content: ""; } + +.ion-earth:before { + content: ""; } + +.ion-easel:before { + content: ""; } + +.ion-edit:before { + content: ""; } + +.ion-egg:before { + content: ""; } + +.ion-eject:before { + content: ""; } + +.ion-email:before { + content: ""; } + +.ion-email-unread:before { + content: ""; } + +.ion-erlenmeyer-flask:before { + content: ""; } + +.ion-erlenmeyer-flask-bubbles:before { + content: ""; } + +.ion-eye:before { + content: ""; } + +.ion-eye-disabled:before { + content: ""; } + +.ion-female:before { + content: ""; } + +.ion-filing:before { + content: ""; } + +.ion-film-marker:before { + content: ""; } + +.ion-fireball:before { + content: ""; } + +.ion-flag:before { + content: ""; } + +.ion-flame:before { + content: ""; } + +.ion-flash:before { + content: ""; } + +.ion-flash-off:before { + content: ""; } + +.ion-folder:before { + content: ""; } + +.ion-fork:before { + content: ""; } + +.ion-fork-repo:before { + content: ""; } + +.ion-forward:before { + content: ""; } + +.ion-funnel:before { + content: ""; } + +.ion-gear-a:before { + content: ""; } + +.ion-gear-b:before { + content: ""; } + +.ion-grid:before { + content: ""; } + +.ion-hammer:before { + content: ""; } + +.ion-happy:before { + content: ""; } + +.ion-happy-outline:before { + content: ""; } + +.ion-headphone:before { + content: ""; } + +.ion-heart:before { + content: ""; } + +.ion-heart-broken:before { + content: ""; } + +.ion-help:before { + content: ""; } + +.ion-help-buoy:before { + content: ""; } + +.ion-help-circled:before { + content: ""; } + +.ion-home:before { + content: ""; } + +.ion-icecream:before { + content: ""; } + +.ion-image:before { + content: ""; } + +.ion-images:before { + content: ""; } + +.ion-information:before { + content: ""; } + +.ion-information-circled:before { + content: ""; } + +.ion-ionic:before { + content: ""; } + +.ion-ios-alarm:before { + content: ""; } + +.ion-ios-alarm-outline:before { + content: ""; } + +.ion-ios-albums:before { + content: ""; } + +.ion-ios-albums-outline:before { + content: ""; } + +.ion-ios-americanfootball:before { + content: ""; } + +.ion-ios-americanfootball-outline:before { + content: ""; } + +.ion-ios-analytics:before { + content: ""; } + +.ion-ios-analytics-outline:before { + content: ""; } + +.ion-ios-arrow-back:before { + content: ""; } + +.ion-ios-arrow-down:before { + content: ""; } + +.ion-ios-arrow-forward:before { + content: ""; } + +.ion-ios-arrow-left:before { + content: ""; } + +.ion-ios-arrow-right:before { + content: ""; } + +.ion-ios-arrow-thin-down:before { + content: ""; } + +.ion-ios-arrow-thin-left:before { + content: ""; } + +.ion-ios-arrow-thin-right:before { + content: ""; } + +.ion-ios-arrow-thin-up:before { + content: ""; } + +.ion-ios-arrow-up:before { + content: ""; } + +.ion-ios-at:before { + content: ""; } + +.ion-ios-at-outline:before { + content: ""; } + +.ion-ios-barcode:before { + content: ""; } + +.ion-ios-barcode-outline:before { + content: ""; } + +.ion-ios-baseball:before { + content: ""; } + +.ion-ios-baseball-outline:before { + content: ""; } + +.ion-ios-basketball:before { + content: ""; } + +.ion-ios-basketball-outline:before { + content: ""; } + +.ion-ios-bell:before { + content: ""; } + +.ion-ios-bell-outline:before { + content: ""; } + +.ion-ios-body:before { + content: ""; } + +.ion-ios-body-outline:before { + content: ""; } + +.ion-ios-bolt:before { + content: ""; } + +.ion-ios-bolt-outline:before { + content: ""; } + +.ion-ios-book:before { + content: ""; } + +.ion-ios-book-outline:before { + content: ""; } + +.ion-ios-bookmarks:before { + content: ""; } + +.ion-ios-bookmarks-outline:before { + content: ""; } + +.ion-ios-box:before { + content: ""; } + +.ion-ios-box-outline:before { + content: ""; } + +.ion-ios-briefcase:before { + content: ""; } + +.ion-ios-briefcase-outline:before { + content: ""; } + +.ion-ios-browsers:before { + content: ""; } + +.ion-ios-browsers-outline:before { + content: ""; } + +.ion-ios-calculator:before { + content: ""; } + +.ion-ios-calculator-outline:before { + content: ""; } + +.ion-ios-calendar:before { + content: ""; } + +.ion-ios-calendar-outline:before { + content: ""; } + +.ion-ios-camera:before { + content: ""; } + +.ion-ios-camera-outline:before { + content: ""; } + +.ion-ios-cart:before { + content: ""; } + +.ion-ios-cart-outline:before { + content: ""; } + +.ion-ios-chatboxes:before { + content: ""; } + +.ion-ios-chatboxes-outline:before { + content: ""; } + +.ion-ios-chatbubble:before { + content: ""; } + +.ion-ios-chatbubble-outline:before { + content: ""; } + +.ion-ios-checkmark:before { + content: ""; } + +.ion-ios-checkmark-empty:before { + content: ""; } + +.ion-ios-checkmark-outline:before { + content: ""; } + +.ion-ios-circle-filled:before { + content: ""; } + +.ion-ios-circle-outline:before { + content: ""; } + +.ion-ios-clock:before { + content: ""; } + +.ion-ios-clock-outline:before { + content: ""; } + +.ion-ios-close:before { + content: ""; } + +.ion-ios-close-empty:before { + content: ""; } + +.ion-ios-close-outline:before { + content: ""; } + +.ion-ios-cloud:before { + content: ""; } + +.ion-ios-cloud-download:before { + content: ""; } + +.ion-ios-cloud-download-outline:before { + content: ""; } + +.ion-ios-cloud-outline:before { + content: ""; } + +.ion-ios-cloud-upload:before { + content: ""; } + +.ion-ios-cloud-upload-outline:before { + content: ""; } + +.ion-ios-cloudy:before { + content: ""; } + +.ion-ios-cloudy-night:before { + content: ""; } + +.ion-ios-cloudy-night-outline:before { + content: ""; } + +.ion-ios-cloudy-outline:before { + content: ""; } + +.ion-ios-cog:before { + content: ""; } + +.ion-ios-cog-outline:before { + content: ""; } + +.ion-ios-color-filter:before { + content: ""; } + +.ion-ios-color-filter-outline:before { + content: ""; } + +.ion-ios-color-wand:before { + content: ""; } + +.ion-ios-color-wand-outline:before { + content: ""; } + +.ion-ios-compose:before { + content: ""; } + +.ion-ios-compose-outline:before { + content: ""; } + +.ion-ios-contact:before { + content: ""; } + +.ion-ios-contact-outline:before { + content: ""; } + +.ion-ios-copy:before { + content: ""; } + +.ion-ios-copy-outline:before { + content: ""; } + +.ion-ios-crop:before { + content: ""; } + +.ion-ios-crop-strong:before { + content: ""; } + +.ion-ios-download:before { + content: ""; } + +.ion-ios-download-outline:before { + content: ""; } + +.ion-ios-drag:before { + content: ""; } + +.ion-ios-email:before { + content: ""; } + +.ion-ios-email-outline:before { + content: ""; } + +.ion-ios-eye:before { + content: ""; } + +.ion-ios-eye-outline:before { + content: ""; } + +.ion-ios-fastforward:before { + content: ""; } + +.ion-ios-fastforward-outline:before { + content: ""; } + +.ion-ios-filing:before { + content: ""; } + +.ion-ios-filing-outline:before { + content: ""; } + +.ion-ios-film:before { + content: ""; } + +.ion-ios-film-outline:before { + content: ""; } + +.ion-ios-flag:before { + content: ""; } + +.ion-ios-flag-outline:before { + content: ""; } + +.ion-ios-flame:before { + content: ""; } + +.ion-ios-flame-outline:before { + content: ""; } + +.ion-ios-flask:before { + content: ""; } + +.ion-ios-flask-outline:before { + content: ""; } + +.ion-ios-flower:before { + content: ""; } + +.ion-ios-flower-outline:before { + content: ""; } + +.ion-ios-folder:before { + content: ""; } + +.ion-ios-folder-outline:before { + content: ""; } + +.ion-ios-football:before { + content: ""; } + +.ion-ios-football-outline:before { + content: ""; } + +.ion-ios-game-controller-a:before { + content: ""; } + +.ion-ios-game-controller-a-outline:before { + content: ""; } + +.ion-ios-game-controller-b:before { + content: ""; } + +.ion-ios-game-controller-b-outline:before { + content: ""; } + +.ion-ios-gear:before { + content: ""; } + +.ion-ios-gear-outline:before { + content: ""; } + +.ion-ios-glasses:before { + content: ""; } + +.ion-ios-glasses-outline:before { + content: ""; } + +.ion-ios-grid-view:before { + content: ""; } + +.ion-ios-grid-view-outline:before { + content: ""; } + +.ion-ios-heart:before { + content: ""; } + +.ion-ios-heart-outline:before { + content: ""; } + +.ion-ios-help:before { + content: ""; } + +.ion-ios-help-empty:before { + content: ""; } + +.ion-ios-help-outline:before { + content: ""; } + +.ion-ios-home:before { + content: ""; } + +.ion-ios-home-outline:before { + content: ""; } + +.ion-ios-infinite:before { + content: ""; } + +.ion-ios-infinite-outline:before { + content: ""; } + +.ion-ios-information:before { + content: ""; } + +.ion-ios-information-empty:before { + content: ""; } + +.ion-ios-information-outline:before { + content: ""; } + +.ion-ios-ionic-outline:before { + content: ""; } + +.ion-ios-keypad:before { + content: ""; } + +.ion-ios-keypad-outline:before { + content: ""; } + +.ion-ios-lightbulb:before { + content: ""; } + +.ion-ios-lightbulb-outline:before { + content: ""; } + +.ion-ios-list:before { + content: ""; } + +.ion-ios-list-outline:before { + content: ""; } + +.ion-ios-location:before { + content: ""; } + +.ion-ios-location-outline:before { + content: ""; } + +.ion-ios-locked:before { + content: ""; } + +.ion-ios-locked-outline:before { + content: ""; } + +.ion-ios-loop:before { + content: ""; } + +.ion-ios-loop-strong:before { + content: ""; } + +.ion-ios-medical:before { + content: ""; } + +.ion-ios-medical-outline:before { + content: ""; } + +.ion-ios-medkit:before { + content: ""; } + +.ion-ios-medkit-outline:before { + content: ""; } + +.ion-ios-mic:before { + content: ""; } + +.ion-ios-mic-off:before { + content: ""; } + +.ion-ios-mic-outline:before { + content: ""; } + +.ion-ios-minus:before { + content: ""; } + +.ion-ios-minus-empty:before { + content: ""; } + +.ion-ios-minus-outline:before { + content: ""; } + +.ion-ios-monitor:before { + content: ""; } + +.ion-ios-monitor-outline:before { + content: ""; } + +.ion-ios-moon:before { + content: ""; } + +.ion-ios-moon-outline:before { + content: ""; } + +.ion-ios-more:before { + content: ""; } + +.ion-ios-more-outline:before { + content: ""; } + +.ion-ios-musical-note:before { + content: ""; } + +.ion-ios-musical-notes:before { + content: ""; } + +.ion-ios-navigate:before { + content: ""; } + +.ion-ios-navigate-outline:before { + content: ""; } + +.ion-ios-nutrition:before { + content: ""; } + +.ion-ios-nutrition-outline:before { + content: ""; } + +.ion-ios-paper:before { + content: ""; } + +.ion-ios-paper-outline:before { + content: ""; } + +.ion-ios-paperplane:before { + content: ""; } + +.ion-ios-paperplane-outline:before { + content: ""; } + +.ion-ios-partlysunny:before { + content: ""; } + +.ion-ios-partlysunny-outline:before { + content: ""; } + +.ion-ios-pause:before { + content: ""; } + +.ion-ios-pause-outline:before { + content: ""; } + +.ion-ios-paw:before { + content: ""; } + +.ion-ios-paw-outline:before { + content: ""; } + +.ion-ios-people:before { + content: ""; } + +.ion-ios-people-outline:before { + content: ""; } + +.ion-ios-person:before { + content: ""; } + +.ion-ios-person-outline:before { + content: ""; } + +.ion-ios-personadd:before { + content: ""; } + +.ion-ios-personadd-outline:before { + content: ""; } + +.ion-ios-photos:before { + content: ""; } + +.ion-ios-photos-outline:before { + content: ""; } + +.ion-ios-pie:before { + content: ""; } + +.ion-ios-pie-outline:before { + content: ""; } + +.ion-ios-pint:before { + content: ""; } + +.ion-ios-pint-outline:before { + content: ""; } + +.ion-ios-play:before { + content: ""; } + +.ion-ios-play-outline:before { + content: ""; } + +.ion-ios-plus:before { + content: ""; } + +.ion-ios-plus-empty:before { + content: ""; } + +.ion-ios-plus-outline:before { + content: ""; } + +.ion-ios-pricetag:before { + content: ""; } + +.ion-ios-pricetag-outline:before { + content: ""; } + +.ion-ios-pricetags:before { + content: ""; } + +.ion-ios-pricetags-outline:before { + content: ""; } + +.ion-ios-printer:before { + content: ""; } + +.ion-ios-printer-outline:before { + content: ""; } + +.ion-ios-pulse:before { + content: ""; } + +.ion-ios-pulse-strong:before { + content: ""; } + +.ion-ios-rainy:before { + content: ""; } + +.ion-ios-rainy-outline:before { + content: ""; } + +.ion-ios-recording:before { + content: ""; } + +.ion-ios-recording-outline:before { + content: ""; } + +.ion-ios-redo:before { + content: ""; } + +.ion-ios-redo-outline:before { + content: ""; } + +.ion-ios-refresh:before { + content: ""; } + +.ion-ios-refresh-empty:before { + content: ""; } + +.ion-ios-refresh-outline:before { + content: ""; } + +.ion-ios-reload:before { + content: ""; } + +.ion-ios-reverse-camera:before { + content: ""; } + +.ion-ios-reverse-camera-outline:before { + content: ""; } + +.ion-ios-rewind:before { + content: ""; } + +.ion-ios-rewind-outline:before { + content: ""; } + +.ion-ios-rose:before { + content: ""; } + +.ion-ios-rose-outline:before { + content: ""; } + +.ion-ios-search:before { + content: ""; } + +.ion-ios-search-strong:before { + content: ""; } + +.ion-ios-settings:before { + content: ""; } + +.ion-ios-settings-strong:before { + content: ""; } + +.ion-ios-shuffle:before { + content: ""; } + +.ion-ios-shuffle-strong:before { + content: ""; } + +.ion-ios-skipbackward:before { + content: ""; } + +.ion-ios-skipbackward-outline:before { + content: ""; } + +.ion-ios-skipforward:before { + content: ""; } + +.ion-ios-skipforward-outline:before { + content: ""; } + +.ion-ios-snowy:before { + content: ""; } + +.ion-ios-speedometer:before { + content: ""; } + +.ion-ios-speedometer-outline:before { + content: ""; } + +.ion-ios-star:before { + content: ""; } + +.ion-ios-star-half:before { + content: ""; } + +.ion-ios-star-outline:before { + content: ""; } + +.ion-ios-stopwatch:before { + content: ""; } + +.ion-ios-stopwatch-outline:before { + content: ""; } + +.ion-ios-sunny:before { + content: ""; } + +.ion-ios-sunny-outline:before { + content: ""; } + +.ion-ios-telephone:before { + content: ""; } + +.ion-ios-telephone-outline:before { + content: ""; } + +.ion-ios-tennisball:before { + content: ""; } + +.ion-ios-tennisball-outline:before { + content: ""; } + +.ion-ios-thunderstorm:before { + content: ""; } + +.ion-ios-thunderstorm-outline:before { + content: ""; } + +.ion-ios-time:before { + content: ""; } + +.ion-ios-time-outline:before { + content: ""; } + +.ion-ios-timer:before { + content: ""; } + +.ion-ios-timer-outline:before { + content: ""; } + +.ion-ios-toggle:before { + content: ""; } + +.ion-ios-toggle-outline:before { + content: ""; } + +.ion-ios-trash:before { + content: ""; } + +.ion-ios-trash-outline:before { + content: ""; } + +.ion-ios-undo:before { + content: ""; } + +.ion-ios-undo-outline:before { + content: ""; } + +.ion-ios-unlocked:before { + content: ""; } + +.ion-ios-unlocked-outline:before { + content: ""; } + +.ion-ios-upload:before { + content: ""; } + +.ion-ios-upload-outline:before { + content: ""; } + +.ion-ios-videocam:before { + content: ""; } + +.ion-ios-videocam-outline:before { + content: ""; } + +.ion-ios-volume-high:before { + content: ""; } + +.ion-ios-volume-low:before { + content: ""; } + +.ion-ios-wineglass:before { + content: ""; } + +.ion-ios-wineglass-outline:before { + content: ""; } + +.ion-ios-world:before { + content: ""; } + +.ion-ios-world-outline:before { + content: ""; } + +.ion-ipad:before { + content: ""; } + +.ion-iphone:before { + content: ""; } + +.ion-ipod:before { + content: ""; } + +.ion-jet:before { + content: ""; } + +.ion-key:before { + content: ""; } + +.ion-knife:before { + content: ""; } + +.ion-laptop:before { + content: ""; } + +.ion-leaf:before { + content: ""; } + +.ion-levels:before { + content: ""; } + +.ion-lightbulb:before { + content: ""; } + +.ion-link:before { + content: ""; } + +.ion-load-a:before { + content: ""; } + +.ion-load-b:before { + content: ""; } + +.ion-load-c:before { + content: ""; } + +.ion-load-d:before { + content: ""; } + +.ion-location:before { + content: ""; } + +.ion-lock-combination:before { + content: ""; } + +.ion-locked:before { + content: ""; } + +.ion-log-in:before { + content: ""; } + +.ion-log-out:before { + content: ""; } + +.ion-loop:before { + content: ""; } + +.ion-magnet:before { + content: ""; } + +.ion-male:before { + content: ""; } + +.ion-man:before { + content: ""; } + +.ion-map:before { + content: ""; } + +.ion-medkit:before { + content: ""; } + +.ion-merge:before { + content: ""; } + +.ion-mic-a:before { + content: ""; } + +.ion-mic-b:before { + content: ""; } + +.ion-mic-c:before { + content: ""; } + +.ion-minus:before { + content: ""; } + +.ion-minus-circled:before { + content: ""; } + +.ion-minus-round:before { + content: ""; } + +.ion-model-s:before { + content: ""; } + +.ion-monitor:before { + content: ""; } + +.ion-more:before { + content: ""; } + +.ion-mouse:before { + content: ""; } + +.ion-music-note:before { + content: ""; } + +.ion-navicon:before { + content: ""; } + +.ion-navicon-round:before { + content: ""; } + +.ion-navigate:before { + content: ""; } + +.ion-network:before { + content: ""; } + +.ion-no-smoking:before { + content: ""; } + +.ion-nuclear:before { + content: ""; } + +.ion-outlet:before { + content: ""; } + +.ion-paintbrush:before { + content: ""; } + +.ion-paintbucket:before { + content: ""; } + +.ion-paper-airplane:before { + content: ""; } + +.ion-paperclip:before { + content: ""; } + +.ion-pause:before { + content: ""; } + +.ion-person:before { + content: ""; } + +.ion-person-add:before { + content: ""; } + +.ion-person-stalker:before { + content: ""; } + +.ion-pie-graph:before { + content: ""; } + +.ion-pin:before { + content: ""; } + +.ion-pinpoint:before { + content: ""; } + +.ion-pizza:before { + content: ""; } + +.ion-plane:before { + content: ""; } + +.ion-planet:before { + content: ""; } + +.ion-play:before { + content: ""; } + +.ion-playstation:before { + content: ""; } + +.ion-plus:before { + content: ""; } + +.ion-plus-circled:before { + content: ""; } + +.ion-plus-round:before { + content: ""; } + +.ion-podium:before { + content: ""; } + +.ion-pound:before { + content: ""; } + +.ion-power:before { + content: ""; } + +.ion-pricetag:before { + content: ""; } + +.ion-pricetags:before { + content: ""; } + +.ion-printer:before { + content: ""; } + +.ion-pull-request:before { + content: ""; } + +.ion-qr-scanner:before { + content: ""; } + +.ion-quote:before { + content: ""; } + +.ion-radio-waves:before { + content: ""; } + +.ion-record:before { + content: ""; } + +.ion-refresh:before { + content: ""; } + +.ion-reply:before { + content: ""; } + +.ion-reply-all:before { + content: ""; } + +.ion-ribbon-a:before { + content: ""; } + +.ion-ribbon-b:before { + content: ""; } + +.ion-sad:before { + content: ""; } + +.ion-sad-outline:before { + content: ""; } + +.ion-scissors:before { + content: ""; } + +.ion-search:before { + content: ""; } + +.ion-settings:before { + content: ""; } + +.ion-share:before { + content: ""; } + +.ion-shuffle:before { + content: ""; } + +.ion-skip-backward:before { + content: ""; } + +.ion-skip-forward:before { + content: ""; } + +.ion-social-android:before { + content: ""; } + +.ion-social-android-outline:before { + content: ""; } + +.ion-social-angular:before { + content: ""; } + +.ion-social-angular-outline:before { + content: ""; } + +.ion-social-apple:before { + content: ""; } + +.ion-social-apple-outline:before { + content: ""; } + +.ion-social-bitcoin:before { + content: ""; } + +.ion-social-bitcoin-outline:before { + content: ""; } + +.ion-social-buffer:before { + content: ""; } + +.ion-social-buffer-outline:before { + content: ""; } + +.ion-social-chrome:before { + content: ""; } + +.ion-social-chrome-outline:before { + content: ""; } + +.ion-social-codepen:before { + content: ""; } + +.ion-social-codepen-outline:before { + content: ""; } + +.ion-social-css3:before { + content: ""; } + +.ion-social-css3-outline:before { + content: ""; } + +.ion-social-designernews:before { + content: ""; } + +.ion-social-designernews-outline:before { + content: ""; } + +.ion-social-dribbble:before { + content: ""; } + +.ion-social-dribbble-outline:before { + content: ""; } + +.ion-social-dropbox:before { + content: ""; } + +.ion-social-dropbox-outline:before { + content: ""; } + +.ion-social-euro:before { + content: ""; } + +.ion-social-euro-outline:before { + content: ""; } + +.ion-social-facebook:before { + content: ""; } + +.ion-social-facebook-outline:before { + content: ""; } + +.ion-social-foursquare:before { + content: ""; } + +.ion-social-foursquare-outline:before { + content: ""; } + +.ion-social-freebsd-devil:before { + content: ""; } + +.ion-social-github:before { + content: ""; } + +.ion-social-github-outline:before { + content: ""; } + +.ion-social-google:before { + content: ""; } + +.ion-social-google-outline:before { + content: ""; } + +.ion-social-googleplus:before { + content: ""; } + +.ion-social-googleplus-outline:before { + content: ""; } + +.ion-social-hackernews:before { + content: ""; } + +.ion-social-hackernews-outline:before { + content: ""; } + +.ion-social-html5:before { + content: ""; } + +.ion-social-html5-outline:before { + content: ""; } + +.ion-social-instagram:before { + content: ""; } + +.ion-social-instagram-outline:before { + content: ""; } + +.ion-social-javascript:before { + content: ""; } + +.ion-social-javascript-outline:before { + content: ""; } + +.ion-social-linkedin:before { + content: ""; } + +.ion-social-linkedin-outline:before { + content: ""; } + +.ion-social-markdown:before { + content: ""; } + +.ion-social-nodejs:before { + content: ""; } + +.ion-social-octocat:before { + content: ""; } + +.ion-social-pinterest:before { + content: ""; } + +.ion-social-pinterest-outline:before { + content: ""; } + +.ion-social-python:before { + content: ""; } + +.ion-social-reddit:before { + content: ""; } + +.ion-social-reddit-outline:before { + content: ""; } + +.ion-social-rss:before { + content: ""; } + +.ion-social-rss-outline:before { + content: ""; } + +.ion-social-sass:before { + content: ""; } + +.ion-social-skype:before { + content: ""; } + +.ion-social-skype-outline:before { + content: ""; } + +.ion-social-snapchat:before { + content: ""; } + +.ion-social-snapchat-outline:before { + content: ""; } + +.ion-social-tumblr:before { + content: ""; } + +.ion-social-tumblr-outline:before { + content: ""; } + +.ion-social-tux:before { + content: ""; } + +.ion-social-twitch:before { + content: ""; } + +.ion-social-twitch-outline:before { + content: ""; } + +.ion-social-twitter:before { + content: ""; } + +.ion-social-twitter-outline:before { + content: ""; } + +.ion-social-usd:before { + content: ""; } + +.ion-social-usd-outline:before { + content: ""; } + +.ion-social-vimeo:before { + content: ""; } + +.ion-social-vimeo-outline:before { + content: ""; } + +.ion-social-whatsapp:before { + content: ""; } + +.ion-social-whatsapp-outline:before { + content: ""; } + +.ion-social-windows:before { + content: ""; } + +.ion-social-windows-outline:before { + content: ""; } + +.ion-social-wordpress:before { + content: ""; } + +.ion-social-wordpress-outline:before { + content: ""; } + +.ion-social-yahoo:before { + content: ""; } + +.ion-social-yahoo-outline:before { + content: ""; } + +.ion-social-yen:before { + content: ""; } + +.ion-social-yen-outline:before { + content: ""; } + +.ion-social-youtube:before { + content: ""; } + +.ion-social-youtube-outline:before { + content: ""; } + +.ion-soup-can:before { + content: ""; } + +.ion-soup-can-outline:before { + content: ""; } + +.ion-speakerphone:before { + content: ""; } + +.ion-speedometer:before { + content: ""; } + +.ion-spoon:before { + content: ""; } + +.ion-star:before { + content: ""; } + +.ion-stats-bars:before { + content: ""; } + +.ion-steam:before { + content: ""; } + +.ion-stop:before { + content: ""; } + +.ion-thermometer:before { + content: ""; } + +.ion-thumbsdown:before { + content: ""; } + +.ion-thumbsup:before { + content: ""; } + +.ion-toggle:before { + content: ""; } + +.ion-toggle-filled:before { + content: ""; } + +.ion-transgender:before { + content: ""; } + +.ion-trash-a:before { + content: ""; } + +.ion-trash-b:before { + content: ""; } + +.ion-trophy:before { + content: ""; } + +.ion-tshirt:before { + content: ""; } + +.ion-tshirt-outline:before { + content: ""; } + +.ion-umbrella:before { + content: ""; } + +.ion-university:before { + content: ""; } + +.ion-unlocked:before { + content: ""; } + +.ion-upload:before { + content: ""; } + +.ion-usb:before { + content: ""; } + +.ion-videocamera:before { + content: ""; } + +.ion-volume-high:before { + content: ""; } + +.ion-volume-low:before { + content: ""; } + +.ion-volume-medium:before { + content: ""; } + +.ion-volume-mute:before { + content: ""; } + +.ion-wand:before { + content: ""; } + +.ion-waterdrop:before { + content: ""; } + +.ion-wifi:before { + content: ""; } + +.ion-wineglass:before { + content: ""; } + +.ion-woman:before { + content: ""; } + +.ion-wrench:before { + content: ""; } + +.ion-xbox:before { + content: ""; } + +/** + * Resets + * -------------------------------------------------- + * Adapted from normalize.css and some reset.css. We don't care even one + * bit about old IE, so we don't need any hacks for that in here. + * + * There are probably other things we could remove here, as well. + * + * normalize.css v2.1.2 | MIT License | git.io/normalize + + * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) + * http://cssreset.com + */ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, i, u, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, fieldset, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + font: inherit; + font-size: 100%; } + +ol, ul { + list-style: none; } + +blockquote, q { + quotes: none; } + +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; } + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; } + +/** + * Hide the `template` element in IE, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; } + +script { + display: none !important; } + +/* ========================================================================== + Base + ========================================================================== */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ +html { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-family: sans-serif; + /* 1 */ + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ } + +/** + * Remove default margin. + */ +body { + margin: 0; + line-height: 1; } + +/** + * Remove default outlines. + */ +a, +button, +:focus, +a:focus, +button:focus, +a:active, +a:hover { + outline: 0; } + +/* * + * Remove tap highlight color + */ +a { + -webkit-user-drag: none; + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; } + a[href]:hover { + cursor: pointer; } + +/* ========================================================================== + Typography + ========================================================================== */ +/** + * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + */ +b, +strong { + font-weight: bold; } + +/** + * Address styling not present in Safari 5 and Chrome. + */ +dfn { + font-style: italic; } + +/** + * Address differences between Firefox and other browsers. + */ +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; } + +/** + * Correct font family set oddly in Safari 5 and Chrome. + */ +code, +kbd, +pre, +samp { + font-size: 1em; + font-family: monospace, serif; } + +/** + * Improve readability of pre-formatted text in all browsers. + */ +pre { + white-space: pre-wrap; } + +/** + * Set consistent quote types. + */ +q { + quotes: "\201C" "\201D" "\2018" "\2019"; } + +/** + * Address inconsistent and variable font size in all browsers. + */ +small { + font-size: 80%; } + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ +sub, +sup { + position: relative; + vertical-align: baseline; + font-size: 75%; + line-height: 0; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + border: 1px solid #c0c0c0; } + +/** + * 1. Correct `color` not being inherited in IE 8/9. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + padding: 0; + /* 2 */ + border: 0; + /* 1 */ } + +/** + * 1. Correct font family not being inherited in all browsers. + * 2. Correct font size not being inherited in all browsers. + * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + * 4. Remove any default :focus styles + * 5. Make sure webkit font smoothing is being inherited + * 6. Remove default gradient in Android Firefox / FirefoxOS + */ +button, +input, +select, +textarea { + margin: 0; + /* 3 */ + font-size: 100%; + /* 2 */ + font-family: inherit; + /* 1 */ + outline-offset: 0; + /* 4 */ + outline-style: none; + /* 4 */ + outline-width: 0; + /* 4 */ + -webkit-font-smoothing: inherit; + /* 5 */ + background-image: none; + /* 6 */ } + +/** + * Address Firefox 4+ setting `line-height` on `input` using `importnt` in + * the UA stylesheet. + */ +button, +input { + line-height: normal; } + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. + * Correct `select` style inheritance in Firefox 4+ and Opera. + */ +button, +select { + text-transform: none; } + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + /* 3 */ + -webkit-appearance: button; + /* 2 */ } + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; } + +/** + * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ +input[type="search"] { + -webkit-box-sizing: content-box; + /* 2 */ + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; + /* 1 */ } + +/** + * Remove inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; } + +/** + * 1. Remove default vertical scrollbar in IE 8/9. + * 2. Improve readability and alignment in all browsers. + */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; + /* 2 */ } + +img { + -webkit-user-drag: none; } + +/* ========================================================================== + Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-spacing: 0; + border-collapse: collapse; } + +/** + * Scaffolding + * -------------------------------------------------- + */ +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +html { + overflow: hidden; + -ms-touch-action: pan-y; + touch-action: pan-y; } + +body, +.ionic-body { + -webkit-touch-callout: none; + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; + -webkit-text-size-adjust: none; + -moz-text-size-adjust: none; + text-size-adjust: none; + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + margin: 0; + padding: 0; + color: #000; + word-wrap: break-word; + font-size: 14px; + font-family: -apple-system; + font-family: "-apple-system", "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; + line-height: 20px; + text-rendering: optimizeLegibility; + -webkit-backface-visibility: hidden; + -webkit-user-drag: none; + -ms-content-zooming: none; } + +body.grade-b, +body.grade-c { + text-rendering: auto; } + +.content { + position: relative; } + +.scroll-content { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + margin-top: -1px; + padding-top: 1px; + margin-bottom: -1px; + width: auto; + height: auto; } + +.menu .scroll-content.scroll-content-false { + z-index: 11; } + +.scroll-view { + position: relative; + display: block; + overflow: hidden; + margin-top: -1px; } + .scroll-view.overflow-scroll { + position: relative; } + .scroll-view.scroll-x { + overflow-x: scroll; + overflow-y: hidden; } + .scroll-view.scroll-y { + overflow-x: hidden; + overflow-y: scroll; } + .scroll-view.scroll-xy { + overflow-x: scroll; + overflow-y: scroll; } + +/** + * Scroll is the scroll view component available for complex and custom + * scroll view functionality. + */ +.scroll { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-touch-callout: none; + -webkit-text-size-adjust: none; + -moz-text-size-adjust: none; + text-size-adjust: none; + -webkit-transform-origin: left top; + transform-origin: left top; } + +/** + * Set ms-viewport to prevent MS "page squish" and allow fluid scrolling + * https://msdn.microsoft.com/en-us/library/ie/hh869615(v=vs.85).aspx + */ +@-ms-viewport { + width: device-width; } + +.scroll-bar { + position: absolute; + z-index: 9999; } + +.ng-animate .scroll-bar { + visibility: hidden; } + +.scroll-bar-h { + right: 2px; + bottom: 3px; + left: 2px; + height: 3px; } + .scroll-bar-h .scroll-bar-indicator { + height: 100%; } + +.scroll-bar-v { + top: 2px; + right: 3px; + bottom: 2px; + width: 3px; } + .scroll-bar-v .scroll-bar-indicator { + width: 100%; } + +.scroll-bar-indicator { + position: absolute; + border-radius: 4px; + background: rgba(0, 0, 0, 0.3); + opacity: 1; + -webkit-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; } + .scroll-bar-indicator.scroll-bar-fade-out { + opacity: 0; } + +.platform-android .scroll-bar-indicator { + border-radius: 0; } + +.grade-b .scroll-bar-indicator, +.grade-c .scroll-bar-indicator { + background: #aaa; } + .grade-b .scroll-bar-indicator.scroll-bar-fade-out, + .grade-c .scroll-bar-indicator.scroll-bar-fade-out { + -webkit-transition: none; + transition: none; } + +ion-infinite-scroll { + height: 60px; + width: 100%; + display: block; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-direction: normal; + -webkit-box-orient: horizontal; + -webkit-flex-direction: row; + -moz-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + -moz-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; } + ion-infinite-scroll .icon { + color: #666666; + font-size: 30px; + color: #666666; } + ion-infinite-scroll:not(.active) .spinner, + ion-infinite-scroll:not(.active) .icon:before { + display: none; } + +.overflow-scroll { + overflow-x: hidden; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + top: 0; + right: 0; + bottom: 0; + left: 0; + position: absolute; } + .overflow-scroll.pane { + overflow-x: hidden; + overflow-y: scroll; } + .overflow-scroll .scroll { + position: static; + height: 100%; + -webkit-transform: translate3d(0, 0, 0); } + .overflow-scroll.keyboard-up:not(.keyboard-up-confirm) { + overflow: hidden; } + +/* If you change these, change platform.scss as well */ +.has-header { + top: 44px; } + +.no-header { + top: 0; } + +.has-subheader { + top: 88px; } + +.has-tabs-top { + top: 93px; } + +.has-header.has-subheader.has-tabs-top { + top: 137px; } + +.has-footer { + bottom: 44px; } + +.has-subfooter { + bottom: 88px; } + +.has-tabs, +.bar-footer.has-tabs { + bottom: 49px; } + .has-tabs.pane, + .bar-footer.has-tabs.pane { + bottom: 49px; + height: auto; } + +.bar-subfooter.has-tabs { + bottom: 93px; } + +.has-footer.has-tabs { + bottom: 93px; } + +.pane { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition-duration: 0; + transition-duration: 0; + z-index: 1; } + +.view { + z-index: 1; } + +.pane, +.view { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + background-color: #fff; + overflow: hidden; } + +.view-container { + position: absolute; + display: block; + width: 100%; + height: 100%; } + +/** + * Typography + * -------------------------------------------------- + */ +p { + margin: 0 0 10px; } + +small { + font-size: 85%; } + +cite { + font-style: normal; } + +.text-left { + text-align: left; } + +.text-right { + text-align: right; } + +.text-center { + text-align: center; } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + color: #000; + font-weight: 500; + font-family: "-apple-system", "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; + line-height: 1.2; } + 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; } + +h1, .h1, +h2, .h2, +h3, .h3 { + margin-top: 20px; + margin-bottom: 10px; } + h1:first-child, .h1:first-child, + h2:first-child, .h2:first-child, + h3:first-child, .h3:first-child { + margin-top: 0; } + h1 + h1, h1 + .h1, + h1 + h2, h1 + .h2, + h1 + h3, h1 + .h3, .h1 + h1, .h1 + .h1, + .h1 + h2, .h1 + .h2, + .h1 + h3, .h1 + .h3, + h2 + h1, + h2 + .h1, + h2 + h2, + h2 + .h2, + h2 + h3, + h2 + .h3, .h2 + h1, .h2 + .h1, + .h2 + h2, .h2 + .h2, + .h2 + h3, .h2 + .h3, + h3 + h1, + h3 + .h1, + h3 + h2, + h3 + .h2, + h3 + h3, + h3 + .h3, .h3 + h1, .h3 + .h1, + .h3 + h2, .h3 + .h2, + .h3 + h3, .h3 + .h3 { + margin-top: 10px; } + +h4, .h4, +h5, .h5, +h6, .h6 { + margin-top: 10px; + margin-bottom: 10px; } + +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; } + +h1 small, .h1 small { + font-size: 24px; } + +h2 small, .h2 small { + font-size: 18px; } + +h3 small, .h3 small, +h4 small, .h4 small { + font-size: 14px; } + +dl { + margin-bottom: 20px; } + +dt, +dd { + line-height: 1.42857; } + +dt { + font-weight: bold; } + +blockquote { + margin: 0 0 20px; + padding: 10px 20px; + border-left: 5px solid gray; } + blockquote p { + font-weight: 300; + font-size: 17.5px; + line-height: 1.25; } + blockquote p:last-child { + margin-bottom: 0; } + blockquote small { + display: block; + line-height: 1.42857; } + blockquote small:before { + content: '\2014 \00A0'; } + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; } + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857; } + +a { + color: #387ef5; } + +a.subdued { + padding-right: 10px; + color: #888; + text-decoration: none; } + a.subdued:hover { + text-decoration: none; } + a.subdued:last-child { + padding-right: 0; } + +/** + * Action Sheets + * -------------------------------------------------- + */ +.action-sheet-backdrop { + -webkit-transition: background-color 150ms ease-in-out; + transition: background-color 150ms ease-in-out; + position: fixed; + top: 0; + left: 0; + z-index: 11; + width: 100%; + height: 100%; + background-color: transparent; } + .action-sheet-backdrop.active { + background-color: rgba(0, 0, 0, 0.4); } + +.action-sheet-wrapper { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + -webkit-transition: all cubic-bezier(0.36, 0.66, 0.04, 1) 500ms; + transition: all cubic-bezier(0.36, 0.66, 0.04, 1) 500ms; + position: absolute; + bottom: 0; + left: 0; + right: 0; + width: 100%; + max-width: 500px; + margin: auto; } + +.action-sheet-up { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.action-sheet { + margin-left: 8px; + margin-right: 8px; + width: auto; + z-index: 11; + overflow: hidden; } + .action-sheet .button { + display: block; + padding: 1px; + width: 100%; + border-radius: 0; + border-color: #d1d3d6; + background-color: transparent; + color: #007aff; + font-size: 21px; } + .action-sheet .button:hover { + color: #007aff; } + .action-sheet .button.destructive { + color: #ff3b30; } + .action-sheet .button.destructive:hover { + color: #ff3b30; } + .action-sheet .button.active, .action-sheet .button.activated { + box-shadow: none; + border-color: #d1d3d6; + color: #007aff; + background: #e4e5e7; } + +.action-sheet-has-icons .icon { + position: absolute; + left: 16px; } + +.action-sheet-title { + padding: 16px; + color: #8f8f8f; + text-align: center; + font-size: 13px; } + +.action-sheet-group { + margin-bottom: 8px; + border-radius: 4px; + background-color: #fff; + overflow: hidden; } + .action-sheet-group .button { + border-width: 1px 0px 0px 0px; } + .action-sheet-group .button:first-child:last-child { + border-width: 0; } + +.action-sheet-options { + background: #f1f2f3; } + +.action-sheet-cancel .button { + font-weight: 500; } + +.action-sheet-open { + pointer-events: none; } + .action-sheet-open.modal-open .modal { + pointer-events: none; } + .action-sheet-open .action-sheet-backdrop { + pointer-events: auto; } + +.platform-android .action-sheet-backdrop.active { + background-color: rgba(0, 0, 0, 0.2); } + +.platform-android .action-sheet { + margin: 0; } + .platform-android .action-sheet .action-sheet-title, + .platform-android .action-sheet .button { + text-align: left; + border-color: transparent; + font-size: 16px; + color: inherit; } + .platform-android .action-sheet .action-sheet-title { + font-size: 14px; + padding: 16px; + color: #666; } + .platform-android .action-sheet .button.active, + .platform-android .action-sheet .button.activated { + background: #e8e8e8; } + +.platform-android .action-sheet-group { + margin: 0; + border-radius: 0; + background-color: #fafafa; } + +.platform-android .action-sheet-cancel { + display: none; } + +.platform-android .action-sheet-has-icons .button { + padding-left: 56px; } + +.backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 11; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.4); + visibility: hidden; + opacity: 0; + -webkit-transition: 0.1s opacity linear; + transition: 0.1s opacity linear; } + .backdrop.visible { + visibility: visible; } + .backdrop.active { + opacity: 1; } + +/** + * Bar (Headers and Footers) + * -------------------------------------------------- + */ +.bar { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: absolute; + right: 0; + left: 0; + z-index: 9; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 5px; + width: 100%; + height: 44px; + border-width: 0; + border-style: solid; + border-top: 1px solid transparent; + border-bottom: 1px solid #ddd; + background-color: white; + /* border-width: 1px will actually create 2 device pixels on retina */ + /* this nifty trick sets an actual 1px border on hi-res displays */ + background-size: 0; } + @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { + .bar { + border: none; + background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); + background-position: bottom; + background-size: 100% 1px; + background-repeat: no-repeat; } } + .bar.bar-clear { + border: none; + background: none; + color: #fff; } + .bar.bar-clear .button { + color: #fff; } + .bar.bar-clear .title { + color: #fff; } + .bar.item-input-inset .item-input-wrapper { + margin-top: -1px; } + .bar.item-input-inset .item-input-wrapper input { + padding-left: 8px; + width: 94%; + height: 28px; + background: transparent; } + .bar.bar-light { + border-color: #ddd; + background-color: white; + background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); + color: #444; } + .bar.bar-light .title { + color: #444; } + .bar.bar-light.bar-footer { + background-image: linear-gradient(180deg, #ddd, #ddd 50%, transparent 50%); } + .bar.bar-stable { + border-color: #b2b2b2; + background-color: #f8f8f8; + background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); + color: #444; } + .bar.bar-stable .title { + color: #444; } + .bar.bar-stable.bar-footer { + background-image: linear-gradient(180deg, #b2b2b2, #b2b2b2 50%, transparent 50%); } + .bar.bar-positive { + border-color: #0c60ee; + background-color: #387ef5; + background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%); + color: #fff; } + .bar.bar-positive .title { + color: #fff; } + .bar.bar-positive.bar-footer { + background-image: linear-gradient(180deg, #0c60ee, #0c60ee 50%, transparent 50%); } + .bar.bar-calm { + border-color: #0a9dc7; + background-color: #11c1f3; + background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%); + color: #fff; } + .bar.bar-calm .title { + color: #fff; } + .bar.bar-calm.bar-footer { + background-image: linear-gradient(180deg, #0a9dc7, #0a9dc7 50%, transparent 50%); } + .bar.bar-assertive { + border-color: #e42112; + background-color: #ef473a; + background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%); + color: #fff; } + .bar.bar-assertive .title { + color: #fff; } + .bar.bar-assertive.bar-footer { + background-image: linear-gradient(180deg, #e42112, #e42112 50%, transparent 50%); } + .bar.bar-balanced { + border-color: #28a54c; + background-color: #33cd5f; + background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%); + color: #fff; } + .bar.bar-balanced .title { + color: #fff; } + .bar.bar-balanced.bar-footer { + background-image: linear-gradient(180deg, #28a54c, #0c60ee 50%, transparent 50%); } + .bar.bar-energized { + border-color: #e6b500; + background-color: #ffc900; + background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%); + color: #fff; } + .bar.bar-energized .title { + color: #fff; } + .bar.bar-energized.bar-footer { + background-image: linear-gradient(180deg, #e6b500, #e6b500 50%, transparent 50%); } + .bar.bar-royal { + border-color: #6b46e5; + background-color: #886aea; + background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%); + color: #fff; } + .bar.bar-royal .title { + color: #fff; } + .bar.bar-royal.bar-footer { + background-image: linear-gradient(180deg, #6b46e5, #6b46e5 50%, transparent 50%); } + .bar.bar-dark { + border-color: #111; + background-color: #444444; + background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%); + color: #fff; } + .bar.bar-dark .title { + color: #fff; } + .bar.bar-dark.bar-footer { + background-image: linear-gradient(180deg, #111, #111 50%, transparent 50%); } + .bar .title { + display: block; + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 0; + overflow: hidden; + margin: 0 10px; + min-width: 30px; + height: 43px; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 17px; + font-weight: 500; + line-height: 44px; } + .bar .title.title-left { + text-align: left; } + .bar .title.title-right { + text-align: right; } + .bar .title a { + color: inherit; } + .bar .button, .bar button { + z-index: 1; + padding: 0 8px; + min-width: initial; + min-height: 31px; + font-weight: 400; + font-size: 13px; + line-height: 32px; } + .bar .button.button-icon:before, + .bar .button .icon:before, .bar .button.icon:before, .bar .button.icon-left:before, .bar .button.icon-right:before, .bar button.button-icon:before, + .bar button .icon:before, .bar button.icon:before, .bar button.icon-left:before, .bar button.icon-right:before { + padding-right: 2px; + padding-left: 2px; + font-size: 20px; + line-height: 32px; } + .bar .button.button-icon, .bar button.button-icon { + font-size: 17px; } + .bar .button.button-icon .icon:before, .bar .button.button-icon:before, .bar .button.button-icon.icon-left:before, .bar .button.button-icon.icon-right:before, .bar button.button-icon .icon:before, .bar button.button-icon:before, .bar button.button-icon.icon-left:before, .bar button.button-icon.icon-right:before { + vertical-align: top; + font-size: 32px; + line-height: 32px; } + .bar .button.button-clear, .bar button.button-clear { + padding-right: 2px; + padding-left: 2px; + font-weight: 300; + font-size: 17px; } + .bar .button.button-clear .icon:before, .bar .button.button-clear.icon:before, .bar .button.button-clear.icon-left:before, .bar .button.button-clear.icon-right:before, .bar button.button-clear .icon:before, .bar button.button-clear.icon:before, .bar button.button-clear.icon-left:before, .bar button.button-clear.icon-right:before { + font-size: 32px; + line-height: 32px; } + .bar .button.back-button, .bar button.back-button { + display: block; + margin-right: 5px; + padding: 0; + white-space: nowrap; + font-weight: 400; } + .bar .button.back-button.active, .bar .button.back-button.activated, .bar button.back-button.active, .bar button.back-button.activated { + opacity: 0.2; } + .bar .button-bar > .button, + .bar .buttons > .button { + min-height: 31px; + line-height: 32px; } + .bar .button-bar + .button, + .bar .button + .button-bar { + margin-left: 5px; } + .bar .buttons, + .bar .buttons.primary-buttons, + .bar .buttons.secondary-buttons { + display: inherit; } + .bar .buttons span { + display: inline-block; } + .bar .buttons-left span { + margin-right: 5px; + display: inherit; } + .bar .buttons-right span { + margin-left: 5px; + display: inherit; } + .bar .title + .button:last-child, + .bar > .button + .button:last-child, + .bar > .button.pull-right, + .bar .buttons.pull-right, + .bar .title + .buttons { + position: absolute; + top: 5px; + right: 5px; + bottom: 5px; } + +.platform-android .nav-bar-has-subheader .bar { + background-image: none; } + +.platform-android .bar .back-button .icon:before { + font-size: 24px; } + +.platform-android .bar .title { + font-size: 19px; + line-height: 44px; } + +.bar-light .button { + border-color: transparent; + background-color: white; + color: #444; } + .bar-light .button:hover { + color: #444; + text-decoration: none; } + .bar-light .button.active, .bar-light .button.activated { + background-color: #fafafa; } + .bar-light .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #444; + font-size: 17px; } + .bar-light .button.button-icon { + border-color: transparent; + background: none; } + +.bar-stable .button { + border-color: transparent; + background-color: #f8f8f8; + color: #444; } + .bar-stable .button:hover { + color: #444; + text-decoration: none; } + .bar-stable .button.active, .bar-stable .button.activated { + background-color: #e5e5e5; } + .bar-stable .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #444; + font-size: 17px; } + .bar-stable .button.button-icon { + border-color: transparent; + background: none; } + +.bar-positive .button { + border-color: transparent; + background-color: #387ef5; + color: #fff; } + .bar-positive .button:hover { + color: #fff; + text-decoration: none; } + .bar-positive .button.active, .bar-positive .button.activated { + background-color: #0c60ee; } + .bar-positive .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #fff; + font-size: 17px; } + .bar-positive .button.button-icon { + border-color: transparent; + background: none; } + +.bar-calm .button { + border-color: transparent; + background-color: #11c1f3; + color: #fff; } + .bar-calm .button:hover { + color: #fff; + text-decoration: none; } + .bar-calm .button.active, .bar-calm .button.activated { + background-color: #0a9dc7; } + .bar-calm .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #fff; + font-size: 17px; } + .bar-calm .button.button-icon { + border-color: transparent; + background: none; } + +.bar-assertive .button { + border-color: transparent; + background-color: #ef473a; + color: #fff; } + .bar-assertive .button:hover { + color: #fff; + text-decoration: none; } + .bar-assertive .button.active, .bar-assertive .button.activated { + background-color: #e42112; } + .bar-assertive .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #fff; + font-size: 17px; } + .bar-assertive .button.button-icon { + border-color: transparent; + background: none; } + +.bar-balanced .button { + border-color: transparent; + background-color: #33cd5f; + color: #fff; } + .bar-balanced .button:hover { + color: #fff; + text-decoration: none; } + .bar-balanced .button.active, .bar-balanced .button.activated { + background-color: #28a54c; } + .bar-balanced .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #fff; + font-size: 17px; } + .bar-balanced .button.button-icon { + border-color: transparent; + background: none; } + +.bar-energized .button { + border-color: transparent; + background-color: #ffc900; + color: #fff; } + .bar-energized .button:hover { + color: #fff; + text-decoration: none; } + .bar-energized .button.active, .bar-energized .button.activated { + background-color: #e6b500; } + .bar-energized .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #fff; + font-size: 17px; } + .bar-energized .button.button-icon { + border-color: transparent; + background: none; } + +.bar-royal .button { + border-color: transparent; + background-color: #886aea; + color: #fff; } + .bar-royal .button:hover { + color: #fff; + text-decoration: none; } + .bar-royal .button.active, .bar-royal .button.activated { + background-color: #6b46e5; } + .bar-royal .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #fff; + font-size: 17px; } + .bar-royal .button.button-icon { + border-color: transparent; + background: none; } + +.bar-dark .button { + border-color: transparent; + background-color: #444444; + color: #fff; } + .bar-dark .button:hover { + color: #fff; + text-decoration: none; } + .bar-dark .button.active, .bar-dark .button.activated { + background-color: #262626; } + .bar-dark .button.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #fff; + font-size: 17px; } + .bar-dark .button.button-icon { + border-color: transparent; + background: none; } + +.bar-header { + top: 0; + border-top-width: 0; + border-bottom-width: 1px; } + .bar-header.has-tabs-top { + border-bottom-width: 0px; + background-image: none; } + +.tabs-top .bar-header { + border-bottom-width: 0px; + background-image: none; } + +.bar-footer { + bottom: 0; + border-top-width: 1px; + border-bottom-width: 0; + background-position: top; + height: 44px; } + .bar-footer.item-input-inset { + position: absolute; } + +.bar-tabs { + padding: 0; } + +.bar-subheader { + top: 44px; + display: block; + height: 44px; } + +.bar-subfooter { + bottom: 44px; + display: block; + height: 44px; } + +.nav-bar-block { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 9; } + +.bar .back-button.hide, +.bar .buttons .hide { + display: none; } + +.nav-bar-tabs-top .bar { + background-image: none; } + +/** + * Tabs + * -------------------------------------------------- + * A navigation bar with any number of tab items supported. + */ +.tabs { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-direction: normal; + -webkit-box-orient: horizontal; + -webkit-flex-direction: horizontal; + -moz-flex-direction: horizontal; + -ms-flex-direction: horizontal; + flex-direction: horizontal; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + -moz-justify-content: center; + justify-content: center; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + border-color: #b2b2b2; + background-color: #f8f8f8; + background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); + color: #444; + position: absolute; + bottom: 0; + z-index: 5; + width: 100%; + height: 49px; + border-style: solid; + border-top-width: 1px; + background-size: 0; + line-height: 49px; } + .tabs .tab-item .badge { + background-color: #444; + color: #f8f8f8; } + @media (min--moz-device-pixel-ratio: 1.5), (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { + .tabs { + padding-top: 2px; + border-top: none !important; + border-bottom: none; + background-position: top; + background-size: 100% 1px; + background-repeat: no-repeat; } } + +/* Allow parent element of tabs to define color, or just the tab itself */ +.tabs-light > .tabs, +.tabs.tabs-light { + border-color: #ddd; + background-color: #fff; + background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); + color: #444; } + .tabs-light > .tabs .tab-item .badge, + .tabs.tabs-light .tab-item .badge { + background-color: #444; + color: #fff; } + +.tabs-stable > .tabs, +.tabs.tabs-stable { + border-color: #b2b2b2; + background-color: #f8f8f8; + background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); + color: #444; } + .tabs-stable > .tabs .tab-item .badge, + .tabs.tabs-stable .tab-item .badge { + background-color: #444; + color: #f8f8f8; } + +.tabs-positive > .tabs, +.tabs.tabs-positive { + border-color: #0c60ee; + background-color: #387ef5; + background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%); + color: #fff; } + .tabs-positive > .tabs .tab-item .badge, + .tabs.tabs-positive .tab-item .badge { + background-color: #fff; + color: #387ef5; } + +.tabs-calm > .tabs, +.tabs.tabs-calm { + border-color: #0a9dc7; + background-color: #11c1f3; + background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%); + color: #fff; } + .tabs-calm > .tabs .tab-item .badge, + .tabs.tabs-calm .tab-item .badge { + background-color: #fff; + color: #11c1f3; } + +.tabs-assertive > .tabs, +.tabs.tabs-assertive { + border-color: #e42112; + background-color: #ef473a; + background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%); + color: #fff; } + .tabs-assertive > .tabs .tab-item .badge, + .tabs.tabs-assertive .tab-item .badge { + background-color: #fff; + color: #ef473a; } + +.tabs-balanced > .tabs, +.tabs.tabs-balanced { + border-color: #28a54c; + background-color: #33cd5f; + background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%); + color: #fff; } + .tabs-balanced > .tabs .tab-item .badge, + .tabs.tabs-balanced .tab-item .badge { + background-color: #fff; + color: #33cd5f; } + +.tabs-energized > .tabs, +.tabs.tabs-energized { + border-color: #e6b500; + background-color: #ffc900; + background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%); + color: #fff; } + .tabs-energized > .tabs .tab-item .badge, + .tabs.tabs-energized .tab-item .badge { + background-color: #fff; + color: #ffc900; } + +.tabs-royal > .tabs, +.tabs.tabs-royal { + border-color: #6b46e5; + background-color: #886aea; + background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%); + color: #fff; } + .tabs-royal > .tabs .tab-item .badge, + .tabs.tabs-royal .tab-item .badge { + background-color: #fff; + color: #886aea; } + +.tabs-dark > .tabs, +.tabs.tabs-dark { + border-color: #111; + background-color: #444; + background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%); + color: #fff; } + .tabs-dark > .tabs .tab-item .badge, + .tabs.tabs-dark .tab-item .badge { + background-color: #fff; + color: #444; } + +.tabs-striped .tabs { + background-color: white; + background-image: none; + border: none; + border-bottom: 1px solid #ddd; + padding-top: 2px; } + +.tabs-striped .tab-item.tab-item-active, .tabs-striped .tab-item.active, .tabs-striped .tab-item.activated { + margin-top: -2px; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #444; } + .tabs-striped .tab-item.tab-item-active .badge, .tabs-striped .tab-item.active .badge, .tabs-striped .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-light .tabs { + background-color: #fff; } + +.tabs-striped.tabs-light .tab-item { + color: rgba(68, 68, 68, 0.4); + opacity: 1; } + .tabs-striped.tabs-light .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-light .tab-item.tab-item-active, .tabs-striped.tabs-light .tab-item.active, .tabs-striped.tabs-light .tab-item.activated { + margin-top: -2px; + color: #444; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #444; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-stable .tabs { + background-color: #f8f8f8; } + +.tabs-striped.tabs-stable .tab-item { + color: rgba(68, 68, 68, 0.4); + opacity: 1; } + .tabs-striped.tabs-stable .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-stable .tab-item.tab-item-active, .tabs-striped.tabs-stable .tab-item.active, .tabs-striped.tabs-stable .tab-item.activated { + margin-top: -2px; + color: #444; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #444; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-positive .tabs { + background-color: #387ef5; } + +.tabs-striped.tabs-positive .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-positive .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-positive .tab-item.tab-item-active, .tabs-striped.tabs-positive .tab-item.active, .tabs-striped.tabs-positive .tab-item.activated { + margin-top: -2px; + color: #fff; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #fff; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-calm .tabs { + background-color: #11c1f3; } + +.tabs-striped.tabs-calm .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-calm .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-calm .tab-item.tab-item-active, .tabs-striped.tabs-calm .tab-item.active, .tabs-striped.tabs-calm .tab-item.activated { + margin-top: -2px; + color: #fff; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #fff; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-assertive .tabs { + background-color: #ef473a; } + +.tabs-striped.tabs-assertive .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-assertive .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-assertive .tab-item.tab-item-active, .tabs-striped.tabs-assertive .tab-item.active, .tabs-striped.tabs-assertive .tab-item.activated { + margin-top: -2px; + color: #fff; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #fff; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-balanced .tabs { + background-color: #33cd5f; } + +.tabs-striped.tabs-balanced .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-balanced .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-balanced .tab-item.tab-item-active, .tabs-striped.tabs-balanced .tab-item.active, .tabs-striped.tabs-balanced .tab-item.activated { + margin-top: -2px; + color: #fff; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #fff; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-energized .tabs { + background-color: #ffc900; } + +.tabs-striped.tabs-energized .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-energized .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-energized .tab-item.tab-item-active, .tabs-striped.tabs-energized .tab-item.active, .tabs-striped.tabs-energized .tab-item.activated { + margin-top: -2px; + color: #fff; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #fff; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-royal .tabs { + background-color: #886aea; } + +.tabs-striped.tabs-royal .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-royal .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-royal .tab-item.tab-item-active, .tabs-striped.tabs-royal .tab-item.active, .tabs-striped.tabs-royal .tab-item.activated { + margin-top: -2px; + color: #fff; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #fff; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-dark .tabs { + background-color: #444; } + +.tabs-striped.tabs-dark .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-dark .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-dark .tab-item.tab-item-active, .tabs-striped.tabs-dark .tab-item.active, .tabs-striped.tabs-dark .tab-item.activated { + margin-top: -2px; + color: #fff; + border-style: solid; + border-width: 2px 0 0 0; + border-color: #fff; } + +.tabs-striped.tabs-top .tab-item.tab-item-active .badge, .tabs-striped.tabs-top .tab-item.active .badge, .tabs-striped.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-striped.tabs-background-light .tabs { + background-color: #fff; + background-image: none; } + +.tabs-striped.tabs-background-stable .tabs { + background-color: #f8f8f8; + background-image: none; } + +.tabs-striped.tabs-background-positive .tabs { + background-color: #387ef5; + background-image: none; } + +.tabs-striped.tabs-background-calm .tabs { + background-color: #11c1f3; + background-image: none; } + +.tabs-striped.tabs-background-assertive .tabs { + background-color: #ef473a; + background-image: none; } + +.tabs-striped.tabs-background-balanced .tabs { + background-color: #33cd5f; + background-image: none; } + +.tabs-striped.tabs-background-energized .tabs { + background-color: #ffc900; + background-image: none; } + +.tabs-striped.tabs-background-royal .tabs { + background-color: #886aea; + background-image: none; } + +.tabs-striped.tabs-background-dark .tabs { + background-color: #444; + background-image: none; } + +.tabs-striped.tabs-color-light .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-light .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-light .tab-item.tab-item-active, .tabs-striped.tabs-color-light .tab-item.active, .tabs-striped.tabs-color-light .tab-item.activated { + margin-top: -2px; + color: #fff; + border: 0 solid #fff; + border-top-width: 2px; } + .tabs-striped.tabs-color-light .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-light .tab-item.active .badge, .tabs-striped.tabs-color-light .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-stable .tab-item { + color: rgba(248, 248, 248, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-stable .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-stable .tab-item.tab-item-active, .tabs-striped.tabs-color-stable .tab-item.active, .tabs-striped.tabs-color-stable .tab-item.activated { + margin-top: -2px; + color: #f8f8f8; + border: 0 solid #f8f8f8; + border-top-width: 2px; } + .tabs-striped.tabs-color-stable .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-stable .tab-item.active .badge, .tabs-striped.tabs-color-stable .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-positive .tab-item { + color: rgba(56, 126, 245, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-positive .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-positive .tab-item.tab-item-active, .tabs-striped.tabs-color-positive .tab-item.active, .tabs-striped.tabs-color-positive .tab-item.activated { + margin-top: -2px; + color: #387ef5; + border: 0 solid #387ef5; + border-top-width: 2px; } + .tabs-striped.tabs-color-positive .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-positive .tab-item.active .badge, .tabs-striped.tabs-color-positive .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-calm .tab-item { + color: rgba(17, 193, 243, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-calm .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-calm .tab-item.tab-item-active, .tabs-striped.tabs-color-calm .tab-item.active, .tabs-striped.tabs-color-calm .tab-item.activated { + margin-top: -2px; + color: #11c1f3; + border: 0 solid #11c1f3; + border-top-width: 2px; } + .tabs-striped.tabs-color-calm .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-calm .tab-item.active .badge, .tabs-striped.tabs-color-calm .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-assertive .tab-item { + color: rgba(239, 71, 58, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-assertive .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-assertive .tab-item.tab-item-active, .tabs-striped.tabs-color-assertive .tab-item.active, .tabs-striped.tabs-color-assertive .tab-item.activated { + margin-top: -2px; + color: #ef473a; + border: 0 solid #ef473a; + border-top-width: 2px; } + .tabs-striped.tabs-color-assertive .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-assertive .tab-item.active .badge, .tabs-striped.tabs-color-assertive .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-balanced .tab-item { + color: rgba(51, 205, 95, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-balanced .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-balanced .tab-item.tab-item-active, .tabs-striped.tabs-color-balanced .tab-item.active, .tabs-striped.tabs-color-balanced .tab-item.activated { + margin-top: -2px; + color: #33cd5f; + border: 0 solid #33cd5f; + border-top-width: 2px; } + .tabs-striped.tabs-color-balanced .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-balanced .tab-item.active .badge, .tabs-striped.tabs-color-balanced .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-energized .tab-item { + color: rgba(255, 201, 0, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-energized .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-energized .tab-item.tab-item-active, .tabs-striped.tabs-color-energized .tab-item.active, .tabs-striped.tabs-color-energized .tab-item.activated { + margin-top: -2px; + color: #ffc900; + border: 0 solid #ffc900; + border-top-width: 2px; } + .tabs-striped.tabs-color-energized .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-energized .tab-item.active .badge, .tabs-striped.tabs-color-energized .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-royal .tab-item { + color: rgba(136, 106, 234, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-royal .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-royal .tab-item.tab-item-active, .tabs-striped.tabs-color-royal .tab-item.active, .tabs-striped.tabs-color-royal .tab-item.activated { + margin-top: -2px; + color: #886aea; + border: 0 solid #886aea; + border-top-width: 2px; } + .tabs-striped.tabs-color-royal .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-royal .tab-item.active .badge, .tabs-striped.tabs-color-royal .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-striped.tabs-color-dark .tab-item { + color: rgba(68, 68, 68, 0.4); + opacity: 1; } + .tabs-striped.tabs-color-dark .tab-item .badge { + opacity: 0.4; } + .tabs-striped.tabs-color-dark .tab-item.tab-item-active, .tabs-striped.tabs-color-dark .tab-item.active, .tabs-striped.tabs-color-dark .tab-item.activated { + margin-top: -2px; + color: #444; + border: 0 solid #444; + border-top-width: 2px; } + .tabs-striped.tabs-color-dark .tab-item.tab-item-active .badge, .tabs-striped.tabs-color-dark .tab-item.active .badge, .tabs-striped.tabs-color-dark .tab-item.activated .badge { + top: 2px; + opacity: 1; } + +.tabs-background-light .tabs, +.tabs-background-light > .tabs { + background-color: #fff; + background-image: linear-gradient(0deg, #ddd, #ddd 50%, transparent 50%); + border-color: #ddd; } + +.tabs-background-stable .tabs, +.tabs-background-stable > .tabs { + background-color: #f8f8f8; + background-image: linear-gradient(0deg, #b2b2b2, #b2b2b2 50%, transparent 50%); + border-color: #b2b2b2; } + +.tabs-background-positive .tabs, +.tabs-background-positive > .tabs { + background-color: #387ef5; + background-image: linear-gradient(0deg, #0c60ee, #0c60ee 50%, transparent 50%); + border-color: #0c60ee; } + +.tabs-background-calm .tabs, +.tabs-background-calm > .tabs { + background-color: #11c1f3; + background-image: linear-gradient(0deg, #0a9dc7, #0a9dc7 50%, transparent 50%); + border-color: #0a9dc7; } + +.tabs-background-assertive .tabs, +.tabs-background-assertive > .tabs { + background-color: #ef473a; + background-image: linear-gradient(0deg, #e42112, #e42112 50%, transparent 50%); + border-color: #e42112; } + +.tabs-background-balanced .tabs, +.tabs-background-balanced > .tabs { + background-color: #33cd5f; + background-image: linear-gradient(0deg, #28a54c, #28a54c 50%, transparent 50%); + border-color: #28a54c; } + +.tabs-background-energized .tabs, +.tabs-background-energized > .tabs { + background-color: #ffc900; + background-image: linear-gradient(0deg, #e6b500, #e6b500 50%, transparent 50%); + border-color: #e6b500; } + +.tabs-background-royal .tabs, +.tabs-background-royal > .tabs { + background-color: #886aea; + background-image: linear-gradient(0deg, #6b46e5, #6b46e5 50%, transparent 50%); + border-color: #6b46e5; } + +.tabs-background-dark .tabs, +.tabs-background-dark > .tabs { + background-color: #444; + background-image: linear-gradient(0deg, #111, #111 50%, transparent 50%); + border-color: #111; } + +.tabs-color-light .tab-item { + color: rgba(255, 255, 255, 0.4); + opacity: 1; } + .tabs-color-light .tab-item .badge { + opacity: 0.4; } + .tabs-color-light .tab-item.tab-item-active, .tabs-color-light .tab-item.active, .tabs-color-light .tab-item.activated { + color: #fff; + border: 0 solid #fff; } + .tabs-color-light .tab-item.tab-item-active .badge, .tabs-color-light .tab-item.active .badge, .tabs-color-light .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-stable .tab-item { + color: rgba(248, 248, 248, 0.4); + opacity: 1; } + .tabs-color-stable .tab-item .badge { + opacity: 0.4; } + .tabs-color-stable .tab-item.tab-item-active, .tabs-color-stable .tab-item.active, .tabs-color-stable .tab-item.activated { + color: #f8f8f8; + border: 0 solid #f8f8f8; } + .tabs-color-stable .tab-item.tab-item-active .badge, .tabs-color-stable .tab-item.active .badge, .tabs-color-stable .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-positive .tab-item { + color: rgba(56, 126, 245, 0.4); + opacity: 1; } + .tabs-color-positive .tab-item .badge { + opacity: 0.4; } + .tabs-color-positive .tab-item.tab-item-active, .tabs-color-positive .tab-item.active, .tabs-color-positive .tab-item.activated { + color: #387ef5; + border: 0 solid #387ef5; } + .tabs-color-positive .tab-item.tab-item-active .badge, .tabs-color-positive .tab-item.active .badge, .tabs-color-positive .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-calm .tab-item { + color: rgba(17, 193, 243, 0.4); + opacity: 1; } + .tabs-color-calm .tab-item .badge { + opacity: 0.4; } + .tabs-color-calm .tab-item.tab-item-active, .tabs-color-calm .tab-item.active, .tabs-color-calm .tab-item.activated { + color: #11c1f3; + border: 0 solid #11c1f3; } + .tabs-color-calm .tab-item.tab-item-active .badge, .tabs-color-calm .tab-item.active .badge, .tabs-color-calm .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-assertive .tab-item { + color: rgba(239, 71, 58, 0.4); + opacity: 1; } + .tabs-color-assertive .tab-item .badge { + opacity: 0.4; } + .tabs-color-assertive .tab-item.tab-item-active, .tabs-color-assertive .tab-item.active, .tabs-color-assertive .tab-item.activated { + color: #ef473a; + border: 0 solid #ef473a; } + .tabs-color-assertive .tab-item.tab-item-active .badge, .tabs-color-assertive .tab-item.active .badge, .tabs-color-assertive .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-balanced .tab-item { + color: rgba(51, 205, 95, 0.4); + opacity: 1; } + .tabs-color-balanced .tab-item .badge { + opacity: 0.4; } + .tabs-color-balanced .tab-item.tab-item-active, .tabs-color-balanced .tab-item.active, .tabs-color-balanced .tab-item.activated { + color: #33cd5f; + border: 0 solid #33cd5f; } + .tabs-color-balanced .tab-item.tab-item-active .badge, .tabs-color-balanced .tab-item.active .badge, .tabs-color-balanced .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-energized .tab-item { + color: rgba(255, 201, 0, 0.4); + opacity: 1; } + .tabs-color-energized .tab-item .badge { + opacity: 0.4; } + .tabs-color-energized .tab-item.tab-item-active, .tabs-color-energized .tab-item.active, .tabs-color-energized .tab-item.activated { + color: #ffc900; + border: 0 solid #ffc900; } + .tabs-color-energized .tab-item.tab-item-active .badge, .tabs-color-energized .tab-item.active .badge, .tabs-color-energized .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-royal .tab-item { + color: rgba(136, 106, 234, 0.4); + opacity: 1; } + .tabs-color-royal .tab-item .badge { + opacity: 0.4; } + .tabs-color-royal .tab-item.tab-item-active, .tabs-color-royal .tab-item.active, .tabs-color-royal .tab-item.activated { + color: #886aea; + border: 0 solid #886aea; } + .tabs-color-royal .tab-item.tab-item-active .badge, .tabs-color-royal .tab-item.active .badge, .tabs-color-royal .tab-item.activated .badge { + opacity: 1; } + +.tabs-color-dark .tab-item { + color: rgba(68, 68, 68, 0.4); + opacity: 1; } + .tabs-color-dark .tab-item .badge { + opacity: 0.4; } + .tabs-color-dark .tab-item.tab-item-active, .tabs-color-dark .tab-item.active, .tabs-color-dark .tab-item.activated { + color: #444; + border: 0 solid #444; } + .tabs-color-dark .tab-item.tab-item-active .badge, .tabs-color-dark .tab-item.active .badge, .tabs-color-dark .tab-item.activated .badge { + opacity: 1; } + +ion-tabs.tabs-color-active-light .tab-item { + color: #444; } + ion-tabs.tabs-color-active-light .tab-item.tab-item-active, ion-tabs.tabs-color-active-light .tab-item.active, ion-tabs.tabs-color-active-light .tab-item.activated { + color: #fff; } + +ion-tabs.tabs-color-active-stable .tab-item { + color: #444; } + ion-tabs.tabs-color-active-stable .tab-item.tab-item-active, ion-tabs.tabs-color-active-stable .tab-item.active, ion-tabs.tabs-color-active-stable .tab-item.activated { + color: #f8f8f8; } + +ion-tabs.tabs-color-active-positive .tab-item { + color: #444; } + ion-tabs.tabs-color-active-positive .tab-item.tab-item-active, ion-tabs.tabs-color-active-positive .tab-item.active, ion-tabs.tabs-color-active-positive .tab-item.activated { + color: #387ef5; } + +ion-tabs.tabs-color-active-calm .tab-item { + color: #444; } + ion-tabs.tabs-color-active-calm .tab-item.tab-item-active, ion-tabs.tabs-color-active-calm .tab-item.active, ion-tabs.tabs-color-active-calm .tab-item.activated { + color: #11c1f3; } + +ion-tabs.tabs-color-active-assertive .tab-item { + color: #444; } + ion-tabs.tabs-color-active-assertive .tab-item.tab-item-active, ion-tabs.tabs-color-active-assertive .tab-item.active, ion-tabs.tabs-color-active-assertive .tab-item.activated { + color: #ef473a; } + +ion-tabs.tabs-color-active-balanced .tab-item { + color: #444; } + ion-tabs.tabs-color-active-balanced .tab-item.tab-item-active, ion-tabs.tabs-color-active-balanced .tab-item.active, ion-tabs.tabs-color-active-balanced .tab-item.activated { + color: #33cd5f; } + +ion-tabs.tabs-color-active-energized .tab-item { + color: #444; } + ion-tabs.tabs-color-active-energized .tab-item.tab-item-active, ion-tabs.tabs-color-active-energized .tab-item.active, ion-tabs.tabs-color-active-energized .tab-item.activated { + color: #ffc900; } + +ion-tabs.tabs-color-active-royal .tab-item { + color: #444; } + ion-tabs.tabs-color-active-royal .tab-item.tab-item-active, ion-tabs.tabs-color-active-royal .tab-item.active, ion-tabs.tabs-color-active-royal .tab-item.activated { + color: #886aea; } + +ion-tabs.tabs-color-active-dark .tab-item { + color: #fff; } + ion-tabs.tabs-color-active-dark .tab-item.tab-item-active, ion-tabs.tabs-color-active-dark .tab-item.active, ion-tabs.tabs-color-active-dark .tab-item.activated { + color: #444; } + +.tabs-top.tabs-striped { + padding-bottom: 0; } + .tabs-top.tabs-striped .tab-item { + background: transparent; + -webkit-transition: color .1s ease; + -moz-transition: color .1s ease; + -ms-transition: color .1s ease; + -o-transition: color .1s ease; + transition: color .1s ease; } + .tabs-top.tabs-striped .tab-item.tab-item-active, .tabs-top.tabs-striped .tab-item.active, .tabs-top.tabs-striped .tab-item.activated { + margin-top: 1px; + border-width: 0px 0px 2px 0px !important; + border-style: solid; } + .tabs-top.tabs-striped .tab-item.tab-item-active > .badge, .tabs-top.tabs-striped .tab-item.tab-item-active > i, .tabs-top.tabs-striped .tab-item.active > .badge, .tabs-top.tabs-striped .tab-item.active > i, .tabs-top.tabs-striped .tab-item.activated > .badge, .tabs-top.tabs-striped .tab-item.activated > i { + margin-top: -1px; } + .tabs-top.tabs-striped .tab-item .badge { + -webkit-transition: color .2s ease; + -moz-transition: color .2s ease; + -ms-transition: color .2s ease; + -o-transition: color .2s ease; + transition: color .2s ease; } + .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active .tab-title, .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active i, .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active .tab-title, .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active i, .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated .tab-title, .tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated i { + display: block; + margin-top: -1px; } + .tabs-top.tabs-striped.tabs-icon-left .tab-item { + margin-top: 1px; } + .tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active .tab-title, .tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active i, .tabs-top.tabs-striped.tabs-icon-left .tab-item.active .tab-title, .tabs-top.tabs-striped.tabs-icon-left .tab-item.active i, .tabs-top.tabs-striped.tabs-icon-left .tab-item.activated .tab-title, .tabs-top.tabs-striped.tabs-icon-left .tab-item.activated i { + margin-top: -0.1em; } + +/* Allow parent element to have tabs-top */ +/* If you change this, change platform.scss as well */ +.tabs-top > .tabs, +.tabs.tabs-top { + top: 44px; + padding-top: 0; + background-position: bottom; + border-top-width: 0; + border-bottom-width: 1px; } + .tabs-top > .tabs .tab-item.tab-item-active .badge, .tabs-top > .tabs .tab-item.active .badge, .tabs-top > .tabs .tab-item.activated .badge, + .tabs.tabs-top .tab-item.tab-item-active .badge, + .tabs.tabs-top .tab-item.active .badge, + .tabs.tabs-top .tab-item.activated .badge { + top: 4%; } + +.tabs-top ~ .bar-header { + border-bottom-width: 0; } + +.tab-item { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + display: block; + overflow: hidden; + max-width: 150px; + height: 100%; + color: inherit; + text-align: center; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + font-weight: 400; + font-size: 14px; + font-family: "-apple-system", "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; + opacity: 0.7; } + .tab-item:hover { + cursor: pointer; } + .tab-item.tab-hidden { + display: none; } + +.tabs-item-hide > .tabs, +.tabs.tabs-item-hide { + display: none; } + +.tabs-icon-top > .tabs .tab-item, +.tabs-icon-top.tabs .tab-item, +.tabs-icon-bottom > .tabs .tab-item, +.tabs-icon-bottom.tabs .tab-item { + font-size: 10px; + line-height: 14px; } + +.tab-item .icon { + display: block; + margin: 0 auto; + height: 32px; + font-size: 32px; } + +.tabs-icon-left.tabs .tab-item, +.tabs-icon-left > .tabs .tab-item, +.tabs-icon-right.tabs .tab-item, +.tabs-icon-right > .tabs .tab-item { + font-size: 10px; } + .tabs-icon-left.tabs .tab-item .icon, .tabs-icon-left.tabs .tab-item .tab-title, + .tabs-icon-left > .tabs .tab-item .icon, + .tabs-icon-left > .tabs .tab-item .tab-title, + .tabs-icon-right.tabs .tab-item .icon, + .tabs-icon-right.tabs .tab-item .tab-title, + .tabs-icon-right > .tabs .tab-item .icon, + .tabs-icon-right > .tabs .tab-item .tab-title { + display: inline-block; + vertical-align: top; + margin-top: -.1em; } + .tabs-icon-left.tabs .tab-item .icon:before, .tabs-icon-left.tabs .tab-item .tab-title:before, + .tabs-icon-left > .tabs .tab-item .icon:before, + .tabs-icon-left > .tabs .tab-item .tab-title:before, + .tabs-icon-right.tabs .tab-item .icon:before, + .tabs-icon-right.tabs .tab-item .tab-title:before, + .tabs-icon-right > .tabs .tab-item .icon:before, + .tabs-icon-right > .tabs .tab-item .tab-title:before { + font-size: 24px; + line-height: 49px; } + +.tabs-icon-left > .tabs .tab-item .icon, +.tabs-icon-left.tabs .tab-item .icon { + padding-right: 3px; } + +.tabs-icon-right > .tabs .tab-item .icon, +.tabs-icon-right.tabs .tab-item .icon { + padding-left: 3px; } + +.tabs-icon-only > .tabs .icon, +.tabs-icon-only.tabs .icon { + line-height: inherit; } + +.tab-item.has-badge { + position: relative; } + +.tab-item .badge { + position: absolute; + top: 4%; + right: 33%; + right: calc(50% - 26px); + padding: 1px 6px; + height: auto; + font-size: 12px; + line-height: 16px; } + +/* Navigational tab */ +/* Active state for tab */ +.tab-item.tab-item-active, +.tab-item.active, +.tab-item.activated { + opacity: 1; } + .tab-item.tab-item-active.tab-item-light, + .tab-item.active.tab-item-light, + .tab-item.activated.tab-item-light { + color: #fff; } + .tab-item.tab-item-active.tab-item-stable, + .tab-item.active.tab-item-stable, + .tab-item.activated.tab-item-stable { + color: #f8f8f8; } + .tab-item.tab-item-active.tab-item-positive, + .tab-item.active.tab-item-positive, + .tab-item.activated.tab-item-positive { + color: #387ef5; } + .tab-item.tab-item-active.tab-item-calm, + .tab-item.active.tab-item-calm, + .tab-item.activated.tab-item-calm { + color: #11c1f3; } + .tab-item.tab-item-active.tab-item-assertive, + .tab-item.active.tab-item-assertive, + .tab-item.activated.tab-item-assertive { + color: #ef473a; } + .tab-item.tab-item-active.tab-item-balanced, + .tab-item.active.tab-item-balanced, + .tab-item.activated.tab-item-balanced { + color: #33cd5f; } + .tab-item.tab-item-active.tab-item-energized, + .tab-item.active.tab-item-energized, + .tab-item.activated.tab-item-energized { + color: #ffc900; } + .tab-item.tab-item-active.tab-item-royal, + .tab-item.active.tab-item-royal, + .tab-item.activated.tab-item-royal { + color: #886aea; } + .tab-item.tab-item-active.tab-item-dark, + .tab-item.active.tab-item-dark, + .tab-item.activated.tab-item-dark { + color: #444; } + +.item.tabs { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + padding: 0; } + .item.tabs .icon:before { + position: relative; } + +.tab-item.disabled, +.tab-item[disabled] { + opacity: .4; + cursor: default; + pointer-events: none; } + +.nav-bar-tabs-top.hide ~ .view-container .tabs-top .tabs { + top: 0; } + +.pane[hide-nav-bar="true"] .has-tabs-top { + top: 49px; } + +/** + * Menus + * -------------------------------------------------- + * Side panel structure + */ +.menu { + position: absolute; + top: 0; + bottom: 0; + z-index: 0; + overflow: hidden; + min-height: 100%; + max-height: 100%; + width: 275px; + background-color: #fff; } + .menu .scroll-content { + z-index: 10; } + .menu .bar-header { + z-index: 11; } + +.menu-content { + -webkit-transform: none; + transform: none; + box-shadow: -1px 0px 2px rgba(0, 0, 0, 0.2), 1px 0px 2px rgba(0, 0, 0, 0.2); } + +.menu-open .menu-content .pane, +.menu-open .menu-content .scroll-content { + pointer-events: none; } + +.menu-open .menu-content .scroll-content .scroll { + pointer-events: none; } + +.menu-open .menu-content .scroll-content:not(.overflow-scroll) { + overflow: hidden; } + +.grade-b .menu-content, +.grade-c .menu-content { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + right: -1px; + left: -1px; + border-right: 1px solid #ccc; + border-left: 1px solid #ccc; + box-shadow: none; } + +.menu-left { + left: 0; } + +.menu-right { + right: 0; } + +.aside-open.aside-resizing .menu-right { + display: none; } + +.menu-animated { + -webkit-transition: -webkit-transform 200ms ease; + transition: transform 200ms ease; } + +/** + * Modals + * -------------------------------------------------- + * Modals are independent windows that slide in from off-screen. + */ +.modal-backdrop, +.modal-backdrop-bg { + position: fixed; + top: 0; + left: 0; + z-index: 10; + width: 100%; + height: 100%; } + +.modal-backdrop-bg { + pointer-events: none; } + +.modal { + display: block; + position: absolute; + top: 0; + z-index: 10; + overflow: hidden; + min-height: 100%; + width: 100%; + background-color: #fff; } + +@media (min-width: 680px) { + .modal { + top: 20%; + right: 20%; + bottom: 20%; + left: 20%; + min-height: 240px; + width: 60%; } + .modal.ng-leave-active { + bottom: 0; } + .platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader) { + height: 44px; } + .platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader) > * { + margin-top: 0; } + .platform-ios.platform-cordova .modal-wrapper .modal .tabs-top > .tabs, + .platform-ios.platform-cordova .modal-wrapper .modal .tabs.tabs-top { + top: 44px; } + .platform-ios.platform-cordova .modal-wrapper .modal .has-header, + .platform-ios.platform-cordova .modal-wrapper .modal .bar-subheader { + top: 44px; } + .platform-ios.platform-cordova .modal-wrapper .modal .has-subheader { + top: 88px; } + .platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-tabs-top { + top: 93px; } + .platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-subheader.has-tabs-top { + top: 137px; } + .modal-backdrop-bg { + -webkit-transition: opacity 300ms ease-in-out; + transition: opacity 300ms ease-in-out; + background-color: #000; + opacity: 0; } + .active .modal-backdrop-bg { + opacity: 0.5; } } + +.modal-open { + pointer-events: none; } + .modal-open .modal, + .modal-open .modal-backdrop { + pointer-events: auto; } + .modal-open.loading-active .modal, + .modal-open.loading-active .modal-backdrop { + pointer-events: none; } + +/** + * Popovers + * -------------------------------------------------- + * Popovers are independent views which float over content + */ +.popover-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 10; + width: 100%; + height: 100%; + background-color: transparent; } + .popover-backdrop.active { + background-color: rgba(0, 0, 0, 0.1); } + +.popover { + position: absolute; + top: 25%; + left: 50%; + z-index: 10; + display: block; + margin-top: 12px; + margin-left: -110px; + height: 280px; + width: 220px; + background-color: #fff; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4); + opacity: 0; } + .popover .item:first-child { + border-top: 0; } + .popover .item:last-child { + border-bottom: 0; } + .popover.popover-bottom { + margin-top: -12px; } + +.popover, +.popover .bar-header { + border-radius: 2px; } + +.popover .scroll-content { + z-index: 1; + margin: 2px 0; } + +.popover .bar-header { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.popover .has-header { + border-top-right-radius: 0; + border-top-left-radius: 0; } + +.popover-arrow { + display: none; } + +.platform-ios .popover { + box-shadow: 0 0 40px rgba(0, 0, 0, 0.08); + border-radius: 10px; } + +.platform-ios .popover .bar-header { + -webkit-border-top-right-radius: 10px; + border-top-right-radius: 10px; + -webkit-border-top-left-radius: 10px; + border-top-left-radius: 10px; } + +.platform-ios .popover .scroll-content { + margin: 8px 0; + border-radius: 10px; } + +.platform-ios .popover .scroll-content.has-header { + margin-top: 0; } + +.platform-ios .popover-arrow { + position: absolute; + display: block; + top: -17px; + width: 30px; + height: 19px; + overflow: hidden; } + .platform-ios .popover-arrow:after { + position: absolute; + top: 12px; + left: 5px; + width: 20px; + height: 20px; + background-color: #fff; + border-radius: 3px; + content: ''; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + +.platform-ios .popover-bottom .popover-arrow { + top: auto; + bottom: -10px; } + .platform-ios .popover-bottom .popover-arrow:after { + top: -6px; } + +.platform-android .popover { + margin-top: -32px; + background-color: #fafafa; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35); } + .platform-android .popover .item { + border-color: #fafafa; + background-color: #fafafa; + color: #4d4d4d; } + .platform-android .popover.popover-bottom { + margin-top: 32px; } + +.platform-android .popover-backdrop, +.platform-android .popover-backdrop.active { + background-color: transparent; } + +.popover-open { + pointer-events: none; } + .popover-open .popover, + .popover-open .popover-backdrop { + pointer-events: auto; } + .popover-open.loading-active .popover, + .popover-open.loading-active .popover-backdrop { + pointer-events: none; } + +@media (min-width: 680px) { + .popover { + width: 360px; + margin-left: -180px; } } + +/** + * Popups + * -------------------------------------------------- + */ +.popup-container { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + background: transparent; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + -moz-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + z-index: 12; + visibility: hidden; } + .popup-container.popup-showing { + visibility: visible; } + .popup-container.popup-hidden .popup { + -webkit-animation-name: scaleOut; + animation-name: scaleOut; + -webkit-animation-duration: 0.1s; + animation-duration: 0.1s; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } + .popup-container.active .popup { + -webkit-animation-name: superScaleIn; + animation-name: superScaleIn; + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } + .popup-container .popup { + width: 250px; + max-width: 100%; + max-height: 90%; + border-radius: 0px; + background-color: rgba(255, 255, 255, 0.9); + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-direction: normal; + -webkit-box-orient: vertical; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .popup-container input, + .popup-container textarea { + width: 100%; } + +.popup-head { + padding: 15px 10px; + border-bottom: 1px solid #eee; + text-align: center; } + +.popup-title { + margin: 0; + padding: 0; + font-size: 15px; } + +.popup-sub-title { + margin: 5px 0 0 0; + padding: 0; + font-weight: normal; + font-size: 11px; } + +.popup-body { + padding: 10px; + overflow: auto; } + +.popup-buttons { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-direction: normal; + -webkit-box-orient: horizontal; + -webkit-flex-direction: row; + -moz-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + padding: 10px; + min-height: 65px; } + .popup-buttons .button { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + display: block; + min-height: 45px; + border-radius: 2px; + line-height: 20px; + margin-right: 5px; } + .popup-buttons .button:last-child { + margin-right: 0px; } + +.popup-open { + pointer-events: none; } + .popup-open.modal-open .modal { + pointer-events: none; } + .popup-open .popup-backdrop, .popup-open .popup { + pointer-events: auto; } + +/** + * Loading + * -------------------------------------------------- + */ +.loading-container { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + z-index: 13; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + -moz-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + -webkit-transition: 0.2s opacity linear; + transition: 0.2s opacity linear; + visibility: hidden; + opacity: 0; } + .loading-container:not(.visible) .icon, + .loading-container:not(.visible) .spinner { + display: none; } + .loading-container.visible { + visibility: visible; } + .loading-container.active { + opacity: 1; } + .loading-container .loading { + padding: 20px; + border-radius: 5px; + background-color: rgba(0, 0, 0, 0.7); + color: #fff; + text-align: center; + text-overflow: ellipsis; + font-size: 15px; } + .loading-container .loading h1, .loading-container .loading h2, .loading-container .loading h3, .loading-container .loading h4, .loading-container .loading h5, .loading-container .loading h6 { + color: #fff; } + +/** + * Items + * -------------------------------------------------- + */ +.item { + border-color: #ddd; + background-color: #fff; + color: #444; + position: relative; + z-index: 2; + display: block; + margin: -1px; + padding: 16px; + border-width: 1px; + border-style: solid; + font-size: 16px; } + .item h2 { + margin: 0 0 2px 0; + font-size: 16px; + font-weight: normal; } + .item h3 { + margin: 0 0 4px 0; + font-size: 14px; } + .item h4 { + margin: 0 0 4px 0; + font-size: 12px; } + .item h5, .item h6 { + margin: 0 0 3px 0; + font-size: 10px; } + .item p { + color: #666; + font-size: 14px; + margin-bottom: 2px; } + .item h1:last-child, + .item h2:last-child, + .item h3:last-child, + .item h4:last-child, + .item h5:last-child, + .item h6:last-child, + .item p:last-child { + margin-bottom: 0; } + .item .badge { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + position: absolute; + top: 16px; + right: 32px; } + .item.item-button-right .badge { + right: 67px; } + .item.item-divider .badge { + top: 8px; } + .item .badge + .badge { + margin-right: 5px; } + .item.item-light { + border-color: #ddd; + background-color: #fff; + color: #444; } + .item.item-stable { + border-color: #b2b2b2; + background-color: #f8f8f8; + color: #444; } + .item.item-positive { + border-color: #0c60ee; + background-color: #387ef5; + color: #fff; } + .item.item-calm { + border-color: #0a9dc7; + background-color: #11c1f3; + color: #fff; } + .item.item-assertive { + border-color: #e42112; + background-color: #ef473a; + color: #fff; } + .item.item-balanced { + border-color: #28a54c; + background-color: #33cd5f; + color: #fff; } + .item.item-energized { + border-color: #e6b500; + background-color: #ffc900; + color: #fff; } + .item.item-royal { + border-color: #6b46e5; + background-color: #886aea; + color: #fff; } + .item.item-dark { + border-color: #111; + background-color: #444; + color: #fff; } + .item[ng-click]:hover { + cursor: pointer; } + +.list-borderless .item, +.item-borderless { + border-width: 0; } + +.item.active, +.item.activated, +.item-complex.active .item-content, +.item-complex.activated .item-content, +.item .item-content.active, +.item .item-content.activated { + border-color: #ccc; + background-color: #D9D9D9; } + .item.active.item-complex > .item-content, + .item.activated.item-complex > .item-content, + .item-complex.active .item-content.item-complex > .item-content, + .item-complex.activated .item-content.item-complex > .item-content, + .item .item-content.active.item-complex > .item-content, + .item .item-content.activated.item-complex > .item-content { + border-color: #ccc; + background-color: #D9D9D9; } + .item.active.item-light, + .item.activated.item-light, + .item-complex.active .item-content.item-light, + .item-complex.activated .item-content.item-light, + .item .item-content.active.item-light, + .item .item-content.activated.item-light { + border-color: #ccc; + background-color: #fafafa; } + .item.active.item-light.item-complex > .item-content, + .item.activated.item-light.item-complex > .item-content, + .item-complex.active .item-content.item-light.item-complex > .item-content, + .item-complex.activated .item-content.item-light.item-complex > .item-content, + .item .item-content.active.item-light.item-complex > .item-content, + .item .item-content.activated.item-light.item-complex > .item-content { + border-color: #ccc; + background-color: #fafafa; } + .item.active.item-stable, + .item.activated.item-stable, + .item-complex.active .item-content.item-stable, + .item-complex.activated .item-content.item-stable, + .item .item-content.active.item-stable, + .item .item-content.activated.item-stable { + border-color: #a2a2a2; + background-color: #e5e5e5; } + .item.active.item-stable.item-complex > .item-content, + .item.activated.item-stable.item-complex > .item-content, + .item-complex.active .item-content.item-stable.item-complex > .item-content, + .item-complex.activated .item-content.item-stable.item-complex > .item-content, + .item .item-content.active.item-stable.item-complex > .item-content, + .item .item-content.activated.item-stable.item-complex > .item-content { + border-color: #a2a2a2; + background-color: #e5e5e5; } + .item.active.item-positive, + .item.activated.item-positive, + .item-complex.active .item-content.item-positive, + .item-complex.activated .item-content.item-positive, + .item .item-content.active.item-positive, + .item .item-content.activated.item-positive { + border-color: #0c60ee; + background-color: #0c60ee; } + .item.active.item-positive.item-complex > .item-content, + .item.activated.item-positive.item-complex > .item-content, + .item-complex.active .item-content.item-positive.item-complex > .item-content, + .item-complex.activated .item-content.item-positive.item-complex > .item-content, + .item .item-content.active.item-positive.item-complex > .item-content, + .item .item-content.activated.item-positive.item-complex > .item-content { + border-color: #0c60ee; + background-color: #0c60ee; } + .item.active.item-calm, + .item.activated.item-calm, + .item-complex.active .item-content.item-calm, + .item-complex.activated .item-content.item-calm, + .item .item-content.active.item-calm, + .item .item-content.activated.item-calm { + border-color: #0a9dc7; + background-color: #0a9dc7; } + .item.active.item-calm.item-complex > .item-content, + .item.activated.item-calm.item-complex > .item-content, + .item-complex.active .item-content.item-calm.item-complex > .item-content, + .item-complex.activated .item-content.item-calm.item-complex > .item-content, + .item .item-content.active.item-calm.item-complex > .item-content, + .item .item-content.activated.item-calm.item-complex > .item-content { + border-color: #0a9dc7; + background-color: #0a9dc7; } + .item.active.item-assertive, + .item.activated.item-assertive, + .item-complex.active .item-content.item-assertive, + .item-complex.activated .item-content.item-assertive, + .item .item-content.active.item-assertive, + .item .item-content.activated.item-assertive { + border-color: #e42112; + background-color: #e42112; } + .item.active.item-assertive.item-complex > .item-content, + .item.activated.item-assertive.item-complex > .item-content, + .item-complex.active .item-content.item-assertive.item-complex > .item-content, + .item-complex.activated .item-content.item-assertive.item-complex > .item-content, + .item .item-content.active.item-assertive.item-complex > .item-content, + .item .item-content.activated.item-assertive.item-complex > .item-content { + border-color: #e42112; + background-color: #e42112; } + .item.active.item-balanced, + .item.activated.item-balanced, + .item-complex.active .item-content.item-balanced, + .item-complex.activated .item-content.item-balanced, + .item .item-content.active.item-balanced, + .item .item-content.activated.item-balanced { + border-color: #28a54c; + background-color: #28a54c; } + .item.active.item-balanced.item-complex > .item-content, + .item.activated.item-balanced.item-complex > .item-content, + .item-complex.active .item-content.item-balanced.item-complex > .item-content, + .item-complex.activated .item-content.item-balanced.item-complex > .item-content, + .item .item-content.active.item-balanced.item-complex > .item-content, + .item .item-content.activated.item-balanced.item-complex > .item-content { + border-color: #28a54c; + background-color: #28a54c; } + .item.active.item-energized, + .item.activated.item-energized, + .item-complex.active .item-content.item-energized, + .item-complex.activated .item-content.item-energized, + .item .item-content.active.item-energized, + .item .item-content.activated.item-energized { + border-color: #e6b500; + background-color: #e6b500; } + .item.active.item-energized.item-complex > .item-content, + .item.activated.item-energized.item-complex > .item-content, + .item-complex.active .item-content.item-energized.item-complex > .item-content, + .item-complex.activated .item-content.item-energized.item-complex > .item-content, + .item .item-content.active.item-energized.item-complex > .item-content, + .item .item-content.activated.item-energized.item-complex > .item-content { + border-color: #e6b500; + background-color: #e6b500; } + .item.active.item-royal, + .item.activated.item-royal, + .item-complex.active .item-content.item-royal, + .item-complex.activated .item-content.item-royal, + .item .item-content.active.item-royal, + .item .item-content.activated.item-royal { + border-color: #6b46e5; + background-color: #6b46e5; } + .item.active.item-royal.item-complex > .item-content, + .item.activated.item-royal.item-complex > .item-content, + .item-complex.active .item-content.item-royal.item-complex > .item-content, + .item-complex.activated .item-content.item-royal.item-complex > .item-content, + .item .item-content.active.item-royal.item-complex > .item-content, + .item .item-content.activated.item-royal.item-complex > .item-content { + border-color: #6b46e5; + background-color: #6b46e5; } + .item.active.item-dark, + .item.activated.item-dark, + .item-complex.active .item-content.item-dark, + .item-complex.activated .item-content.item-dark, + .item .item-content.active.item-dark, + .item .item-content.activated.item-dark { + border-color: #000; + background-color: #262626; } + .item.active.item-dark.item-complex > .item-content, + .item.activated.item-dark.item-complex > .item-content, + .item-complex.active .item-content.item-dark.item-complex > .item-content, + .item-complex.activated .item-content.item-dark.item-complex > .item-content, + .item .item-content.active.item-dark.item-complex > .item-content, + .item .item-content.activated.item-dark.item-complex > .item-content { + border-color: #000; + background-color: #262626; } + +.item, +.item h1, +.item h2, +.item h3, +.item h4, +.item h5, +.item h6, +.item p, +.item-content, +.item-content h1, +.item-content h2, +.item-content h3, +.item-content h4, +.item-content h5, +.item-content h6, +.item-content p { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + +a.item { + color: inherit; + text-decoration: none; } + a.item:hover, a.item:focus { + text-decoration: none; } + +/** + * Complex Items + * -------------------------------------------------- + * Adding .item-complex allows the .item to be slidable and + * have options underneath the button, but also requires an + * additional .item-content element inside .item. + * Basically .item-complex removes any default settings which + * .item added, so that .item-content looks them as just .item. + */ +.item-complex, +a.item.item-complex, +button.item.item-complex { + padding: 0; } + +.item-complex .item-content, +.item-radio .item-content { + position: relative; + z-index: 2; + padding: 16px 49px 16px 16px; + border: none; + background-color: #fff; } + +a.item-content { + display: block; + color: inherit; + text-decoration: none; } + +.item-text-wrap .item, +.item-text-wrap .item-content, +.item-text-wrap, +.item-text-wrap h1, +.item-text-wrap h2, +.item-text-wrap h3, +.item-text-wrap h4, +.item-text-wrap h5, +.item-text-wrap h6, +.item-text-wrap p, +.item-complex.item-text-wrap .item-content, +.item-body h1, +.item-body h2, +.item-body h3, +.item-body h4, +.item-body h5, +.item-body h6, +.item-body p { + overflow: visible; + white-space: normal; } + +.item-complex.item-text-wrap, +.item-complex.item-text-wrap h1, +.item-complex.item-text-wrap h2, +.item-complex.item-text-wrap h3, +.item-complex.item-text-wrap h4, +.item-complex.item-text-wrap h5, +.item-complex.item-text-wrap h6, +.item-complex.item-text-wrap p { + overflow: visible; + white-space: normal; } + +.item-complex.item-light > .item-content { + border-color: #ddd; + background-color: #fff; + color: #444; } + .item-complex.item-light > .item-content.active, .item-complex.item-light > .item-content:active { + border-color: #ccc; + background-color: #fafafa; } + .item-complex.item-light > .item-content.active.item-complex > .item-content, .item-complex.item-light > .item-content:active.item-complex > .item-content { + border-color: #ccc; + background-color: #fafafa; } + +.item-complex.item-stable > .item-content { + border-color: #b2b2b2; + background-color: #f8f8f8; + color: #444; } + .item-complex.item-stable > .item-content.active, .item-complex.item-stable > .item-content:active { + border-color: #a2a2a2; + background-color: #e5e5e5; } + .item-complex.item-stable > .item-content.active.item-complex > .item-content, .item-complex.item-stable > .item-content:active.item-complex > .item-content { + border-color: #a2a2a2; + background-color: #e5e5e5; } + +.item-complex.item-positive > .item-content { + border-color: #0c60ee; + background-color: #387ef5; + color: #fff; } + .item-complex.item-positive > .item-content.active, .item-complex.item-positive > .item-content:active { + border-color: #0c60ee; + background-color: #0c60ee; } + .item-complex.item-positive > .item-content.active.item-complex > .item-content, .item-complex.item-positive > .item-content:active.item-complex > .item-content { + border-color: #0c60ee; + background-color: #0c60ee; } + +.item-complex.item-calm > .item-content { + border-color: #0a9dc7; + background-color: #11c1f3; + color: #fff; } + .item-complex.item-calm > .item-content.active, .item-complex.item-calm > .item-content:active { + border-color: #0a9dc7; + background-color: #0a9dc7; } + .item-complex.item-calm > .item-content.active.item-complex > .item-content, .item-complex.item-calm > .item-content:active.item-complex > .item-content { + border-color: #0a9dc7; + background-color: #0a9dc7; } + +.item-complex.item-assertive > .item-content { + border-color: #e42112; + background-color: #ef473a; + color: #fff; } + .item-complex.item-assertive > .item-content.active, .item-complex.item-assertive > .item-content:active { + border-color: #e42112; + background-color: #e42112; } + .item-complex.item-assertive > .item-content.active.item-complex > .item-content, .item-complex.item-assertive > .item-content:active.item-complex > .item-content { + border-color: #e42112; + background-color: #e42112; } + +.item-complex.item-balanced > .item-content { + border-color: #28a54c; + background-color: #33cd5f; + color: #fff; } + .item-complex.item-balanced > .item-content.active, .item-complex.item-balanced > .item-content:active { + border-color: #28a54c; + background-color: #28a54c; } + .item-complex.item-balanced > .item-content.active.item-complex > .item-content, .item-complex.item-balanced > .item-content:active.item-complex > .item-content { + border-color: #28a54c; + background-color: #28a54c; } + +.item-complex.item-energized > .item-content { + border-color: #e6b500; + background-color: #ffc900; + color: #fff; } + .item-complex.item-energized > .item-content.active, .item-complex.item-energized > .item-content:active { + border-color: #e6b500; + background-color: #e6b500; } + .item-complex.item-energized > .item-content.active.item-complex > .item-content, .item-complex.item-energized > .item-content:active.item-complex > .item-content { + border-color: #e6b500; + background-color: #e6b500; } + +.item-complex.item-royal > .item-content { + border-color: #6b46e5; + background-color: #886aea; + color: #fff; } + .item-complex.item-royal > .item-content.active, .item-complex.item-royal > .item-content:active { + border-color: #6b46e5; + background-color: #6b46e5; } + .item-complex.item-royal > .item-content.active.item-complex > .item-content, .item-complex.item-royal > .item-content:active.item-complex > .item-content { + border-color: #6b46e5; + background-color: #6b46e5; } + +.item-complex.item-dark > .item-content { + border-color: #111; + background-color: #444; + color: #fff; } + .item-complex.item-dark > .item-content.active, .item-complex.item-dark > .item-content:active { + border-color: #000; + background-color: #262626; } + .item-complex.item-dark > .item-content.active.item-complex > .item-content, .item-complex.item-dark > .item-content:active.item-complex > .item-content { + border-color: #000; + background-color: #262626; } + +/** + * Item Icons + * -------------------------------------------------- + */ +.item-icon-left .icon, +.item-icon-right .icon { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + position: absolute; + top: 0; + height: 100%; + font-size: 32px; } + .item-icon-left .icon:before, + .item-icon-right .icon:before { + display: block; + width: 32px; + text-align: center; } + +.item .fill-icon { + min-width: 30px; + min-height: 30px; + font-size: 28px; } + +.item-icon-left { + padding-left: 54px; } + .item-icon-left .icon { + left: 11px; } + +.item-complex.item-icon-left { + padding-left: 0; } + .item-complex.item-icon-left .item-content { + padding-left: 54px; } + +.item-icon-right { + padding-right: 54px; } + .item-icon-right .icon { + right: 11px; } + +.item-complex.item-icon-right { + padding-right: 0; } + .item-complex.item-icon-right .item-content { + padding-right: 54px; } + +.item-icon-left.item-icon-right .icon:first-child { + right: auto; } + +.item-icon-left.item-icon-right .icon:last-child, +.item-icon-left .item-delete .icon { + left: auto; } + +.item-icon-left .icon-accessory, +.item-icon-right .icon-accessory { + color: #ccc; + font-size: 16px; } + +.item-icon-left .icon-accessory { + left: 3px; } + +.item-icon-right .icon-accessory { + right: 3px; } + +/** + * Item Button + * -------------------------------------------------- + * An item button is a child button inside an .item (not the entire .item) + */ +.item-button-left { + padding-left: 72px; } + +.item-button-left > .button, +.item-button-left .item-content > .button { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + position: absolute; + top: 8px; + left: 11px; + min-width: 34px; + min-height: 34px; + font-size: 18px; + line-height: 32px; } + .item-button-left > .button .icon:before, + .item-button-left .item-content > .button .icon:before { + position: relative; + left: auto; + width: auto; + line-height: 31px; } + .item-button-left > .button > .button, + .item-button-left .item-content > .button > .button { + margin: 0px 2px; + min-height: 34px; + font-size: 18px; + line-height: 32px; } + +.item-button-right, +a.item.item-button-right, +button.item.item-button-right { + padding-right: 80px; } + +.item-button-right > .button, +.item-button-right .item-content > .button, +.item-button-right > .buttons, +.item-button-right .item-content > .buttons { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + position: absolute; + top: 8px; + right: 16px; + min-width: 34px; + min-height: 34px; + font-size: 18px; + line-height: 32px; } + .item-button-right > .button .icon:before, + .item-button-right .item-content > .button .icon:before, + .item-button-right > .buttons .icon:before, + .item-button-right .item-content > .buttons .icon:before { + position: relative; + left: auto; + width: auto; + line-height: 31px; } + .item-button-right > .button > .button, + .item-button-right .item-content > .button > .button, + .item-button-right > .buttons > .button, + .item-button-right .item-content > .buttons > .button { + margin: 0px 2px; + min-width: 34px; + min-height: 34px; + font-size: 18px; + line-height: 32px; } + +.item-avatar, +.item-avatar .item-content, +.item-avatar-left, +.item-avatar-left .item-content { + padding-left: 72px; + min-height: 72px; } + .item-avatar > img:first-child, + .item-avatar .item-image, + .item-avatar .item-content > img:first-child, + .item-avatar .item-content .item-image, + .item-avatar-left > img:first-child, + .item-avatar-left .item-image, + .item-avatar-left .item-content > img:first-child, + .item-avatar-left .item-content .item-image { + position: absolute; + top: 16px; + left: 16px; + max-width: 40px; + max-height: 40px; + width: 100%; + height: 100%; + border-radius: 50%; } + +.item-avatar-right, +.item-avatar-right .item-content { + padding-right: 72px; + min-height: 72px; } + .item-avatar-right > img:first-child, + .item-avatar-right .item-image, + .item-avatar-right .item-content > img:first-child, + .item-avatar-right .item-content .item-image { + position: absolute; + top: 16px; + right: 16px; + max-width: 40px; + max-height: 40px; + width: 100%; + height: 100%; + border-radius: 50%; } + +.item-thumbnail-left, +.item-thumbnail-left .item-content { + padding-top: 8px; + padding-left: 106px; + min-height: 100px; } + .item-thumbnail-left > img:first-child, + .item-thumbnail-left .item-image, + .item-thumbnail-left .item-content > img:first-child, + .item-thumbnail-left .item-content .item-image { + position: absolute; + top: 10px; + left: 10px; + max-width: 80px; + max-height: 80px; + width: 100%; + height: 100%; } + +.item-avatar.item-complex, +.item-avatar-left.item-complex, +.item-thumbnail-left.item-complex { + padding-top: 0; + padding-left: 0; } + +.item-thumbnail-right, +.item-thumbnail-right .item-content { + padding-top: 8px; + padding-right: 106px; + min-height: 100px; } + .item-thumbnail-right > img:first-child, + .item-thumbnail-right .item-image, + .item-thumbnail-right .item-content > img:first-child, + .item-thumbnail-right .item-content .item-image { + position: absolute; + top: 10px; + right: 10px; + max-width: 80px; + max-height: 80px; + width: 100%; + height: 100%; } + +.item-avatar-right.item-complex, +.item-thumbnail-right.item-complex { + padding-top: 0; + padding-right: 0; } + +.item-image { + padding: 0; + text-align: center; } + .item-image img:first-child, .item-image .list-img { + width: 100%; + vertical-align: middle; } + +.item-body { + overflow: auto; + padding: 16px; + text-overflow: inherit; + white-space: normal; } + .item-body h1, .item-body h2, .item-body h3, .item-body h4, .item-body h5, .item-body h6, .item-body p { + margin-top: 16px; + margin-bottom: 16px; } + +.item-divider { + padding-top: 8px; + padding-bottom: 8px; + min-height: 30px; + background-color: #f5f5f5; + color: #222; + font-weight: 500; } + +.platform-ios .item-divider-platform, +.item-divider-ios { + padding-top: 26px; + text-transform: uppercase; + font-weight: 300; + font-size: 13px; + background-color: #efeff4; + color: #555; } + +.platform-android .item-divider-platform, +.item-divider-android { + font-weight: 300; + font-size: 13px; } + +.item-note { + float: right; + color: #aaa; + font-size: 14px; } + +.item-left-editable .item-content, +.item-right-editable .item-content { + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; } + +.list-left-editing .item-left-editable .item-content, +.item-left-editing.item-left-editable .item-content { + -webkit-transform: translate3d(50px, 0, 0); + transform: translate3d(50px, 0, 0); } + +.item-remove-animate.ng-leave { + -webkit-transition-duration: 300ms; + transition-duration: 300ms; } + +.item-remove-animate.ng-leave .item-content, .item-remove-animate.ng-leave:last-of-type { + -webkit-transition-duration: 300ms; + transition-duration: 300ms; + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + -webkit-transition-property: all; + transition-property: all; } + +.item-remove-animate.ng-leave.ng-leave-active .item-content { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0) !important; + transform: translate3d(-100%, 0, 0) !important; } + +.item-remove-animate.ng-leave.ng-leave-active:last-of-type { + opacity: 0; } + +.item-remove-animate.ng-leave.ng-leave-active ~ ion-item:not(.ng-leave) { + -webkit-transform: translate3d(0, -webkit-calc(-100% + 1px), 0); + transform: translate3d(0, calc(-100% + 1px), 0); + -webkit-transition-duration: 300ms; + transition-duration: 300ms; + -webkit-transition-timing-function: cubic-bezier(0.25, 0.81, 0.24, 1); + transition-timing-function: cubic-bezier(0.25, 0.81, 0.24, 1); + -webkit-transition-property: all; + transition-property: all; } + +.item-left-edit { + -webkit-transition: all ease-in-out 125ms; + transition: all ease-in-out 125ms; + position: absolute; + top: 0; + left: 0; + z-index: 0; + width: 50px; + height: 100%; + line-height: 100%; + display: none; + opacity: 0; + -webkit-transform: translate3d(-21px, 0, 0); + transform: translate3d(-21px, 0, 0); } + .item-left-edit .button { + height: 100%; } + .item-left-edit .button.icon { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + position: absolute; + top: 0; + height: 100%; } + .item-left-edit.visible { + display: block; } + .item-left-edit.visible.active { + opacity: 1; + -webkit-transform: translate3d(8px, 0, 0); + transform: translate3d(8px, 0, 0); } + +.list-left-editing .item-left-edit { + -webkit-transition-delay: 125ms; + transition-delay: 125ms; } + +.item-delete .button.icon { + color: #ef473a; + font-size: 24px; } + .item-delete .button.icon:hover { + opacity: .7; } + +.item-right-edit { + -webkit-transition: all ease-in-out 250ms; + transition: all ease-in-out 250ms; + position: absolute; + top: 0; + right: 0; + z-index: 3; + width: 75px; + height: 100%; + background: inherit; + padding-left: 20px; + display: block; + opacity: 0; + -webkit-transform: translate3d(75px, 0, 0); + transform: translate3d(75px, 0, 0); } + .item-right-edit .button { + min-width: 50px; + height: 100%; } + .item-right-edit .button.icon { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + position: absolute; + top: 0; + height: 100%; + font-size: 32px; } + .item-right-edit.visible { + display: block; } + .item-right-edit.visible.active { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.item-reorder .button.icon { + color: #444; + font-size: 32px; } + +.item-reordering { + position: absolute; + left: 0; + top: 0; + z-index: 9; + width: 100%; + box-shadow: 0px 0px 10px 0px #aaa; } + .item-reordering .item-reorder { + z-index: 9; } + +.item-placeholder { + opacity: 0.7; } + +/** + * The hidden right-side buttons that can be exposed under a list item + * with dragging. + */ +.item-options { + position: absolute; + top: 0; + right: 0; + z-index: 1; + height: 100%; } + .item-options .button { + height: 100%; + border: none; + border-radius: 0; + display: -webkit-inline-box; + display: -webkit-inline-flex; + display: -moz-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; } + .item-options .button:before { + margin: 0 auto; } + +/** + * Lists + * -------------------------------------------------- + */ +.list { + position: relative; + padding-top: 1px; + padding-bottom: 1px; + padding-left: 0; + margin-bottom: 20px; } + +.list:last-child { + margin-bottom: 0px; } + .list:last-child.card { + margin-bottom: 40px; } + +/** + * List Header + * -------------------------------------------------- + */ +.list-header { + margin-top: 20px; + padding: 5px 15px; + background-color: transparent; + color: #222; + font-weight: bold; } + +.card.list .list-item { + padding-right: 1px; + padding-left: 1px; } + +/** + * Cards and Inset Lists + * -------------------------------------------------- + * A card and list-inset are close to the same thing, except a card as a box shadow. + */ +.card, +.list-inset { + overflow: hidden; + margin: 20px 10px; + border-radius: 2px; + background-color: #fff; } + +.card { + padding-top: 1px; + padding-bottom: 1px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } + .card .item { + border-left: 0; + border-right: 0; } + .card .item:first-child { + border-top: 0; } + .card .item:last-child { + border-bottom: 0; } + +.padding .card, .padding .list-inset { + margin-left: 0; + margin-right: 0; } + +.card .item:first-child, +.list-inset .item:first-child, +.padding > .list .item:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; } + .card .item:first-child .item-content, + .list-inset .item:first-child .item-content, + .padding > .list .item:first-child .item-content { + border-top-left-radius: 2px; + border-top-right-radius: 2px; } + +.card .item:last-child, +.list-inset .item:last-child, +.padding > .list .item:last-child { + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; } + .card .item:last-child .item-content, + .list-inset .item:last-child .item-content, + .padding > .list .item:last-child .item-content { + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; } + +.card .item:last-child, +.list-inset .item:last-child { + margin-bottom: -1px; } + +.card .item, +.list-inset .item, +.padding > .list .item, +.padding-horizontal > .list .item { + margin-right: 0; + margin-left: 0; } + .card .item.item-input input, + .list-inset .item.item-input input, + .padding > .list .item.item-input input, + .padding-horizontal > .list .item.item-input input { + padding-right: 44px; } + +.padding-left > .list .item { + margin-left: 0; } + +.padding-right > .list .item { + margin-right: 0; } + +/** + * Badges + * -------------------------------------------------- + */ +.badge { + background-color: transparent; + color: #AAAAAA; + z-index: 1; + display: inline-block; + padding: 3px 8px; + min-width: 10px; + border-radius: 10px; + vertical-align: baseline; + text-align: center; + white-space: nowrap; + font-weight: bold; + font-size: 14px; + line-height: 16px; } + .badge:empty { + display: none; } + +.tabs .tab-item .badge.badge-light, +.badge.badge-light { + background-color: #fff; + color: #444; } + +.tabs .tab-item .badge.badge-stable, +.badge.badge-stable { + background-color: #f8f8f8; + color: #444; } + +.tabs .tab-item .badge.badge-positive, +.badge.badge-positive { + background-color: #387ef5; + color: #fff; } + +.tabs .tab-item .badge.badge-calm, +.badge.badge-calm { + background-color: #11c1f3; + color: #fff; } + +.tabs .tab-item .badge.badge-assertive, +.badge.badge-assertive { + background-color: #ef473a; + color: #fff; } + +.tabs .tab-item .badge.badge-balanced, +.badge.badge-balanced { + background-color: #33cd5f; + color: #fff; } + +.tabs .tab-item .badge.badge-energized, +.badge.badge-energized { + background-color: #ffc900; + color: #fff; } + +.tabs .tab-item .badge.badge-royal, +.badge.badge-royal { + background-color: #886aea; + color: #fff; } + +.tabs .tab-item .badge.badge-dark, +.badge.badge-dark { + background-color: #444; + color: #fff; } + +.button .badge { + position: relative; + top: -1px; } + +/** + * Slide Box + * -------------------------------------------------- + */ +.slider { + position: relative; + visibility: hidden; + overflow: hidden; } + +.slider-slides { + position: relative; + height: 100%; } + +.slider-slide { + position: relative; + display: block; + float: left; + width: 100%; + height: 100%; + vertical-align: top; } + +.slider-slide-image > img { + width: 100%; } + +.slider-pager { + position: absolute; + bottom: 20px; + z-index: 1; + width: 100%; + height: 15px; + text-align: center; } + .slider-pager .slider-pager-page { + display: inline-block; + margin: 0px 3px; + width: 15px; + color: #000; + text-decoration: none; + opacity: 0.3; } + .slider-pager .slider-pager-page.active { + -webkit-transition: opacity 0.4s ease-in; + transition: opacity 0.4s ease-in; + opacity: 1; } + +.slider-slide.ng-enter, .slider-slide.ng-leave, .slider-slide.ng-animate, +.slider-pager-page.ng-enter, +.slider-pager-page.ng-leave, +.slider-pager-page.ng-animate { + -webkit-transition: none !important; + transition: none !important; } + +.slider-slide.ng-animate, +.slider-pager-page.ng-animate { + -webkit-animation: none 0s; + animation: none 0s; } + +/** + * Swiper 3.2.7 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * + * http://www.idangero.us/swiper/ + * + * Copyright 2015, Vladimir Kharlampidi + * The iDangero.us + * http://www.idangero.us/ + * + * Licensed under MIT + * + * Released on: December 7, 2015 + */ +.swiper-container { + margin: 0 auto; + position: relative; + overflow: hidden; + /* Fix of Webkit flickering */ + z-index: 1; } + +.swiper-container-no-flexbox .swiper-slide { + float: left; } + +.swiper-container-vertical > .swiper-wrapper { + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -ms-flex-direction: column; + -webkit-flex-direction: column; + flex-direction: column; } + +.swiper-wrapper { + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + -ms-transition-property: -ms-transform; + transition-property: transform; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; } + +.swiper-container-android .swiper-slide, +.swiper-wrapper { + -webkit-transform: translate3d(0px, 0, 0); + -moz-transform: translate3d(0px, 0, 0); + -o-transform: translate(0px, 0px); + -ms-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); } + +.swiper-container-multirow > .swiper-wrapper { + -webkit-box-lines: multiple; + -moz-box-lines: multiple; + -ms-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; } + +.swiper-container-free-mode > .swiper-wrapper { + -webkit-transition-timing-function: ease-out; + -moz-transition-timing-function: ease-out; + -ms-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out; + transition-timing-function: ease-out; + margin: 0 auto; } + +.swiper-slide { + display: block; + -webkit-flex-shrink: 0; + -ms-flex: 0 0 auto; + flex-shrink: 0; + width: 100%; + height: 100%; + position: relative; } + +/* Auto Height */ +.swiper-container-autoheight, +.swiper-container-autoheight .swiper-slide { + height: auto; } + +.swiper-container-autoheight .swiper-wrapper { + -webkit-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + align-items: flex-start; + -webkit-transition-property: -webkit-transform, height; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + -ms-transition-property: -ms-transform; + transition-property: transform, height; } + +/* a11y */ +.swiper-container .swiper-notification { + position: absolute; + left: 0; + top: 0; + pointer-events: none; + opacity: 0; + z-index: -1000; } + +/* IE10 Windows Phone 8 Fixes */ +.swiper-wp8-horizontal { + -ms-touch-action: pan-y; + touch-action: pan-y; } + +.swiper-wp8-vertical { + -ms-touch-action: pan-x; + touch-action: pan-x; } + +/* Arrows */ +.swiper-button-prev, +.swiper-button-next { + position: absolute; + top: 50%; + width: 27px; + height: 44px; + margin-top: -22px; + z-index: 10; + cursor: pointer; + -moz-background-size: 27px 44px; + -webkit-background-size: 27px 44px; + background-size: 27px 44px; + background-position: center; + background-repeat: no-repeat; } + +.swiper-button-prev.swiper-button-disabled, +.swiper-button-next.swiper-button-disabled { + opacity: 0.35; + cursor: auto; + pointer-events: none; } + +.swiper-button-prev, +.swiper-container-rtl .swiper-button-next { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); + left: 10px; + right: auto; } + +.swiper-button-prev.swiper-button-black, +.swiper-container-rtl .swiper-button-next.swiper-button-black { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } + +.swiper-button-prev.swiper-button-white, +.swiper-container-rtl .swiper-button-next.swiper-button-white { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } + +.swiper-button-next, +.swiper-container-rtl .swiper-button-prev { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); + right: 10px; + left: auto; } + +.swiper-button-next.swiper-button-black, +.swiper-container-rtl .swiper-button-prev.swiper-button-black { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); } + +.swiper-button-next.swiper-button-white, +.swiper-container-rtl .swiper-button-prev.swiper-button-white { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); } + +/* Pagination Styles */ +.swiper-pagination { + position: absolute; + text-align: center; + -webkit-transition: 300ms; + -moz-transition: 300ms; + -o-transition: 300ms; + transition: 300ms; + -webkit-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + z-index: 10; } + +.swiper-pagination.swiper-pagination-hidden { + opacity: 0; } + +.swiper-pagination-bullet { + width: 8px; + height: 8px; + display: inline-block; + border-radius: 100%; + background: #000; + opacity: 0.2; } + +button.swiper-pagination-bullet { + border: none; + margin: 0; + padding: 0; + box-shadow: none; + -moz-appearance: none; + -ms-appearance: none; + -webkit-appearance: none; + appearance: none; } + +.swiper-pagination-clickable .swiper-pagination-bullet { + cursor: pointer; } + +.swiper-pagination-white .swiper-pagination-bullet { + background: #fff; } + +.swiper-pagination-bullet-active { + opacity: 1; } + +.swiper-pagination-white .swiper-pagination-bullet-active { + background: #fff; } + +.swiper-pagination-black .swiper-pagination-bullet-active { + background: #000; } + +.swiper-container-vertical > .swiper-pagination { + right: 10px; + top: 50%; + -webkit-transform: translate3d(0px, -50%, 0); + -moz-transform: translate3d(0px, -50%, 0); + -o-transform: translate(0px, -50%); + -ms-transform: translate3d(0px, -50%, 0); + transform: translate3d(0px, -50%, 0); } + +.swiper-container-vertical > .swiper-pagination .swiper-pagination-bullet { + margin: 5px 0; + display: block; } + +.swiper-container-horizontal > .swiper-pagination { + bottom: 10px; + left: 0; + width: 100%; } + +.swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet { + margin: 0 5px; } + +/* 3D Container */ +.swiper-container-3d { + -webkit-perspective: 1200px; + -moz-perspective: 1200px; + -o-perspective: 1200px; + perspective: 1200px; } + +.swiper-container-3d .swiper-wrapper, +.swiper-container-3d .swiper-slide, +.swiper-container-3d .swiper-slide-shadow-left, +.swiper-container-3d .swiper-slide-shadow-right, +.swiper-container-3d .swiper-slide-shadow-top, +.swiper-container-3d .swiper-slide-shadow-bottom, +.swiper-container-3d .swiper-cube-shadow { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.swiper-container-3d .swiper-slide-shadow-left, +.swiper-container-3d .swiper-slide-shadow-right, +.swiper-container-3d .swiper-slide-shadow-top, +.swiper-container-3d .swiper-slide-shadow-bottom { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 10; } + +.swiper-container-3d .swiper-slide-shadow-left { + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent)); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 16+, IE10, Opera 12.50+ */ } + +.swiper-container-3d .swiper-slide-shadow-right { + background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 16+, IE10, Opera 12.50+ */ } + +.swiper-container-3d .swiper-slide-shadow-top { + background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent)); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 16+, IE10, Opera 12.50+ */ } + +.swiper-container-3d .swiper-slide-shadow-bottom { + background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent)); + /* Safari 4+, Chrome */ + background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); + /* Chrome 10+, Safari 5.1+, iOS 5+ */ + background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 3.6-15 */ + background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent); + /* Opera 11.10-12.00 */ + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent); + /* Firefox 16+, IE10, Opera 12.50+ */ } + +/* Coverflow */ +.swiper-container-coverflow .swiper-wrapper { + /* Windows 8 IE 10 fix */ + -ms-perspective: 1200px; } + +/* Fade */ +.swiper-container-fade.swiper-container-free-mode .swiper-slide { + -webkit-transition-timing-function: ease-out; + -moz-transition-timing-function: ease-out; + -ms-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out; + transition-timing-function: ease-out; } + +.swiper-container-fade .swiper-slide { + pointer-events: none; } + +.swiper-container-fade .swiper-slide .swiper-slide { + pointer-events: none; } + +.swiper-container-fade .swiper-slide-active, +.swiper-container-fade .swiper-slide-active .swiper-slide-active { + pointer-events: auto; } + +/* Cube */ +.swiper-container-cube { + overflow: visible; } + +.swiper-container-cube .swiper-slide { + pointer-events: none; + visibility: hidden; + -webkit-transform-origin: 0 0; + -moz-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + width: 100%; + height: 100%; + z-index: 1; } + +.swiper-container-cube.swiper-container-rtl .swiper-slide { + -webkit-transform-origin: 100% 0; + -moz-transform-origin: 100% 0; + -ms-transform-origin: 100% 0; + transform-origin: 100% 0; } + +.swiper-container-cube .swiper-slide-active, +.swiper-container-cube .swiper-slide-next, +.swiper-container-cube .swiper-slide-prev, +.swiper-container-cube .swiper-slide-next + .swiper-slide { + pointer-events: auto; + visibility: visible; } + +.swiper-container-cube .swiper-slide-shadow-top, +.swiper-container-cube .swiper-slide-shadow-bottom, +.swiper-container-cube .swiper-slide-shadow-left, +.swiper-container-cube .swiper-slide-shadow-right { + z-index: 0; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; } + +.swiper-container-cube .swiper-cube-shadow { + position: absolute; + left: 0; + bottom: 0px; + width: 100%; + height: 100%; + background: #000; + opacity: 0.6; + -webkit-filter: blur(50px); + filter: blur(50px); + z-index: 0; } + +/* Scrollbar */ +.swiper-scrollbar { + border-radius: 10px; + position: relative; + -ms-touch-action: none; + background: rgba(0, 0, 0, 0.1); } + +.swiper-container-horizontal > .swiper-scrollbar { + position: absolute; + left: 1%; + bottom: 3px; + z-index: 50; + height: 5px; + width: 98%; } + +.swiper-container-vertical > .swiper-scrollbar { + position: absolute; + right: 3px; + top: 1%; + z-index: 50; + width: 5px; + height: 98%; } + +.swiper-scrollbar-drag { + height: 100%; + width: 100%; + position: relative; + background: rgba(0, 0, 0, 0.5); + border-radius: 10px; + left: 0; + top: 0; } + +.swiper-scrollbar-cursor-drag { + cursor: move; } + +/* Preloader */ +.swiper-lazy-preloader { + width: 42px; + height: 42px; + position: absolute; + left: 50%; + top: 50%; + margin-left: -21px; + margin-top: -21px; + z-index: 10; + -webkit-transform-origin: 50%; + -moz-transform-origin: 50%; + transform-origin: 50%; + -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite; + -moz-animation: swiper-preloader-spin 1s steps(12, end) infinite; + animation: swiper-preloader-spin 1s steps(12, end) infinite; } + +.swiper-lazy-preloader:after { + display: block; + content: ""; + width: 100%; + height: 100%; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + background-position: 50%; + -webkit-background-size: 100%; + background-size: 100%; + background-repeat: no-repeat; } + +.swiper-lazy-preloader-white:after { + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); } + +@-webkit-keyframes swiper-preloader-spin { + 100% { + -webkit-transform: rotate(360deg); } } + +@keyframes swiper-preloader-spin { + 100% { + transform: rotate(360deg); } } + +ion-slides { + width: 100%; + height: 100%; + display: block; } + +.slide-zoom { + display: block; + width: 100%; + text-align: center; } + +.swiper-container { + width: 100%; + height: 100%; + padding: 0; + overflow: hidden; } + +.swiper-wrapper { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + padding: 0; } + +.swiper-slide { + width: 100%; + height: 100%; + box-sizing: border-box; + /* Center slide text vertically */ } + .swiper-slide img { + width: auto; + height: auto; + max-width: 100%; + max-height: 100%; } + +.scroll-refresher { + position: absolute; + top: -60px; + right: 0; + left: 0; + overflow: hidden; + margin: auto; + height: 60px; } + .scroll-refresher .ionic-refresher-content { + position: absolute; + bottom: 15px; + left: 0; + width: 100%; + color: #666666; + text-align: center; + font-size: 30px; } + .scroll-refresher .ionic-refresher-content .text-refreshing, + .scroll-refresher .ionic-refresher-content .text-pulling { + font-size: 16px; + line-height: 16px; } + .scroll-refresher .ionic-refresher-content.ionic-refresher-with-text { + bottom: 10px; } + .scroll-refresher .icon-refreshing, + .scroll-refresher .icon-pulling { + width: 100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; } + .scroll-refresher .icon-pulling { + -webkit-animation-name: refresh-spin-back; + animation-name: refresh-spin-back; + -webkit-animation-duration: 200ms; + animation-duration: 200ms; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + -webkit-animation-fill-mode: none; + animation-fill-mode: none; + -webkit-transform: translate3d(0, 0, 0) rotate(0deg); + transform: translate3d(0, 0, 0) rotate(0deg); } + .scroll-refresher .icon-refreshing, + .scroll-refresher .text-refreshing { + display: none; } + .scroll-refresher .icon-refreshing { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; } + .scroll-refresher.active .icon-pulling:not(.pulling-rotation-disabled) { + -webkit-animation-name: refresh-spin; + animation-name: refresh-spin; + -webkit-transform: translate3d(0, 0, 0) rotate(-180deg); + transform: translate3d(0, 0, 0) rotate(-180deg); } + .scroll-refresher.active.refreshing { + -webkit-transition: -webkit-transform 0.2s; + transition: -webkit-transform 0.2s; + -webkit-transition: transform 0.2s; + transition: transform 0.2s; + -webkit-transform: scale(1, 1); + transform: scale(1, 1); } + .scroll-refresher.active.refreshing .icon-pulling, + .scroll-refresher.active.refreshing .text-pulling { + display: none; } + .scroll-refresher.active.refreshing .icon-refreshing, + .scroll-refresher.active.refreshing .text-refreshing { + display: block; } + .scroll-refresher.active.refreshing.refreshing-tail { + -webkit-transform: scale(0, 0); + transform: scale(0, 0); } + +.overflow-scroll > .scroll { + -webkit-overflow-scrolling: touch; + width: 100%; } + .overflow-scroll > .scroll.overscroll { + position: fixed; + right: 0; + left: 0; } + +.overflow-scroll.padding > .scroll.overscroll { + padding: 10px; } + +@-webkit-keyframes refresh-spin { + 0% { + -webkit-transform: translate3d(0, 0, 0) rotate(0); } + 100% { + -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } } + +@keyframes refresh-spin { + 0% { + transform: translate3d(0, 0, 0) rotate(0); } + 100% { + transform: translate3d(0, 0, 0) rotate(180deg); } } + +@-webkit-keyframes refresh-spin-back { + 0% { + -webkit-transform: translate3d(0, 0, 0) rotate(180deg); } + 100% { + -webkit-transform: translate3d(0, 0, 0) rotate(0); } } + +@keyframes refresh-spin-back { + 0% { + transform: translate3d(0, 0, 0) rotate(180deg); } + 100% { + transform: translate3d(0, 0, 0) rotate(0); } } + +/** + * Spinners + * -------------------------------------------------- + */ +.spinner { + stroke: #444; + fill: #444; } + .spinner svg { + width: 28px; + height: 28px; } + .spinner.spinner-light { + stroke: #fff; + fill: #fff; } + .spinner.spinner-stable { + stroke: #f8f8f8; + fill: #f8f8f8; } + .spinner.spinner-positive { + stroke: #387ef5; + fill: #387ef5; } + .spinner.spinner-calm { + stroke: #11c1f3; + fill: #11c1f3; } + .spinner.spinner-balanced { + stroke: #33cd5f; + fill: #33cd5f; } + .spinner.spinner-assertive { + stroke: #ef473a; + fill: #ef473a; } + .spinner.spinner-energized { + stroke: #ffc900; + fill: #ffc900; } + .spinner.spinner-royal { + stroke: #886aea; + fill: #886aea; } + .spinner.spinner-dark { + stroke: #444; + fill: #444; } + +.spinner-android { + stroke: #4b8bf4; } + +.spinner-ios, +.spinner-ios-small { + stroke: #69717d; } + +.spinner-spiral .stop1 { + stop-color: #fff; + stop-opacity: 0; } + +.spinner-spiral.spinner-light .stop1 { + stop-color: #444; } + +.spinner-spiral.spinner-light .stop2 { + stop-color: #fff; } + +.spinner-spiral.spinner-stable .stop2 { + stop-color: #f8f8f8; } + +.spinner-spiral.spinner-positive .stop2 { + stop-color: #387ef5; } + +.spinner-spiral.spinner-calm .stop2 { + stop-color: #11c1f3; } + +.spinner-spiral.spinner-balanced .stop2 { + stop-color: #33cd5f; } + +.spinner-spiral.spinner-assertive .stop2 { + stop-color: #ef473a; } + +.spinner-spiral.spinner-energized .stop2 { + stop-color: #ffc900; } + +.spinner-spiral.spinner-royal .stop2 { + stop-color: #886aea; } + +.spinner-spiral.spinner-dark .stop2 { + stop-color: #444; } + +/** + * Forms + * -------------------------------------------------- + */ +form { + margin: 0 0 1.42857; } + +legend { + display: block; + margin-bottom: 1.42857; + padding: 0; + width: 100%; + border: 1px solid #ddd; + color: #444; + font-size: 21px; + line-height: 2.85714; } + legend small { + color: #f8f8f8; + font-size: 1.07143; } + +label, +input, +button, +select, +textarea { + font-weight: normal; + font-size: 14px; + line-height: 1.42857; } + +input, +button, +select, +textarea { + font-family: "-apple-system", "Helvetica Neue", "Roboto", "Segoe UI", sans-serif; } + +.item-input { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + position: relative; + overflow: hidden; + padding: 6px 0 5px 16px; } + .item-input input { + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-flex: 1; + -webkit-flex: 1 220px; + -moz-box-flex: 1; + -moz-flex: 1 220px; + -ms-flex: 1 220px; + flex: 1 220px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + margin: 0; + padding-right: 24px; + background-color: transparent; } + .item-input .button .icon { + -webkit-box-flex: 0; + -webkit-flex: 0 0 24px; + -moz-box-flex: 0; + -moz-flex: 0 0 24px; + -ms-flex: 0 0 24px; + flex: 0 0 24px; + position: static; + display: inline-block; + height: auto; + text-align: center; + font-size: 16px; } + .item-input .button-bar { + -webkit-border-radius: 0; + border-radius: 0; + -webkit-box-flex: 1; + -webkit-flex: 1 0 220px; + -moz-box-flex: 1; + -moz-flex: 1 0 220px; + -ms-flex: 1 0 220px; + flex: 1 0 220px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + .item-input .icon { + min-width: 14px; } + +.platform-windowsphone .item-input input { + flex-shrink: 1; } + +.item-input-inset { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + position: relative; + overflow: hidden; + padding: 10.66667px; } + +.item-input-wrapper { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1 0; + -moz-box-flex: 1; + -moz-flex: 1 0; + -ms-flex: 1 0; + flex: 1 0; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + -webkit-border-radius: 4px; + border-radius: 4px; + padding-right: 8px; + padding-left: 8px; + background: #eee; } + +.item-input-inset .item-input-wrapper input { + padding-left: 4px; + height: 29px; + background: transparent; + line-height: 18px; } + +.item-input-wrapper ~ .button { + margin-left: 10.66667px; } + +.input-label { + display: table; + padding: 7px 10px 7px 0px; + max-width: 200px; + width: 35%; + color: #444; + font-size: 16px; } + +.placeholder-icon { + color: #aaa; } + .placeholder-icon:first-child { + padding-right: 6px; } + .placeholder-icon:last-child { + padding-left: 6px; } + +.item-stacked-label { + display: block; + background-color: transparent; + box-shadow: none; } + .item-stacked-label .input-label, .item-stacked-label .icon { + display: inline-block; + padding: 4px 0 0 0px; + vertical-align: middle; } + +.item-stacked-label input, +.item-stacked-label textarea { + -webkit-border-radius: 2px; + border-radius: 2px; + padding: 4px 8px 3px 0; + border: none; + background-color: #fff; } + +.item-stacked-label input { + overflow: hidden; + height: 46px; } + +.item-select.item-stacked-label select { + position: relative; + padding: 0px; + max-width: 90%; + direction: ltr; + white-space: pre-wrap; + margin: -3px; } + +.item-floating-label { + display: block; + background-color: transparent; + box-shadow: none; } + .item-floating-label .input-label { + position: relative; + padding: 5px 0 0 0; + opacity: 0; + top: 10px; + -webkit-transition: opacity 0.15s ease-in, top 0.2s linear; + transition: opacity 0.15s ease-in, top 0.2s linear; } + .item-floating-label .input-label.has-input { + opacity: 1; + top: 0; + -webkit-transition: opacity 0.15s ease-in, top 0.2s linear; + transition: opacity 0.15s ease-in, top 0.2s linear; } + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"] { + display: block; + padding-top: 2px; + padding-left: 0; + height: 34px; + color: #111; + vertical-align: middle; + font-size: 14px; + line-height: 16px; } + +.platform-ios input[type="datetime-local"], +.platform-ios input[type="date"], +.platform-ios input[type="month"], +.platform-ios input[type="time"], +.platform-ios input[type="week"], +.platform-android input[type="datetime-local"], +.platform-android input[type="date"], +.platform-android input[type="month"], +.platform-android input[type="time"], +.platform-android input[type="week"] { + padding-top: 8px; } + +.item-input input, +.item-input textarea { + width: 100%; } + +textarea { + padding-left: 0; } + textarea::-moz-placeholder { + color: #aaaaaa; } + textarea:-ms-input-placeholder { + color: #aaaaaa; } + textarea::-webkit-input-placeholder { + color: #aaaaaa; + text-indent: -3px; } + +textarea { + height: auto; } + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"] { + border: 0; } + +input[type="radio"], +input[type="checkbox"] { + margin: 0; + line-height: normal; } + +.item-input input[type="file"], +.item-input input[type="image"], +.item-input input[type="submit"], +.item-input input[type="reset"], +.item-input input[type="button"], +.item-input input[type="radio"], +.item-input input[type="checkbox"] { + width: auto; } + +input[type="file"] { + line-height: 34px; } + +.previous-input-focus, +.cloned-text-input + input, +.cloned-text-input + textarea { + position: absolute !important; + left: -9999px; + width: 200px; } + +input::-moz-placeholder, +textarea::-moz-placeholder { + color: #aaaaaa; } + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #aaaaaa; } + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #aaaaaa; + text-indent: 0; } + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly]:not(.cloned-text-input), +textarea[readonly]:not(.cloned-text-input), +select[readonly] { + background-color: #f8f8f8; + cursor: not-allowed; } + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; } + +/** + * Checkbox + * -------------------------------------------------- + */ +.checkbox { + position: relative; + display: inline-block; + padding: 7px 7px; + cursor: pointer; } + .checkbox input:before, + .checkbox .checkbox-icon:before { + border-color: #ddd; } + .checkbox input:checked:before, + .checkbox input:checked + .checkbox-icon:before { + background: #387ef5; + border-color: #387ef5; } + +.checkbox-light input:before, +.checkbox-light .checkbox-icon:before { + border-color: #ddd; } + +.checkbox-light input:checked:before, +.checkbox-light input:checked + .checkbox-icon:before { + background: #ddd; + border-color: #ddd; } + +.checkbox-stable input:before, +.checkbox-stable .checkbox-icon:before { + border-color: #b2b2b2; } + +.checkbox-stable input:checked:before, +.checkbox-stable input:checked + .checkbox-icon:before { + background: #b2b2b2; + border-color: #b2b2b2; } + +.checkbox-positive input:before, +.checkbox-positive .checkbox-icon:before { + border-color: #387ef5; } + +.checkbox-positive input:checked:before, +.checkbox-positive input:checked + .checkbox-icon:before { + background: #387ef5; + border-color: #387ef5; } + +.checkbox-calm input:before, +.checkbox-calm .checkbox-icon:before { + border-color: #11c1f3; } + +.checkbox-calm input:checked:before, +.checkbox-calm input:checked + .checkbox-icon:before { + background: #11c1f3; + border-color: #11c1f3; } + +.checkbox-assertive input:before, +.checkbox-assertive .checkbox-icon:before { + border-color: #ef473a; } + +.checkbox-assertive input:checked:before, +.checkbox-assertive input:checked + .checkbox-icon:before { + background: #ef473a; + border-color: #ef473a; } + +.checkbox-balanced input:before, +.checkbox-balanced .checkbox-icon:before { + border-color: #33cd5f; } + +.checkbox-balanced input:checked:before, +.checkbox-balanced input:checked + .checkbox-icon:before { + background: #33cd5f; + border-color: #33cd5f; } + +.checkbox-energized input:before, +.checkbox-energized .checkbox-icon:before { + border-color: #ffc900; } + +.checkbox-energized input:checked:before, +.checkbox-energized input:checked + .checkbox-icon:before { + background: #ffc900; + border-color: #ffc900; } + +.checkbox-royal input:before, +.checkbox-royal .checkbox-icon:before { + border-color: #886aea; } + +.checkbox-royal input:checked:before, +.checkbox-royal input:checked + .checkbox-icon:before { + background: #886aea; + border-color: #886aea; } + +.checkbox-dark input:before, +.checkbox-dark .checkbox-icon:before { + border-color: #444; } + +.checkbox-dark input:checked:before, +.checkbox-dark input:checked + .checkbox-icon:before { + background: #444; + border-color: #444; } + +.checkbox input:disabled:before, +.checkbox input:disabled + .checkbox-icon:before { + border-color: #ddd; } + +.checkbox input:disabled:checked:before, +.checkbox input:disabled:checked + .checkbox-icon:before { + background: #ddd; } + +.checkbox.checkbox-input-hidden input { + display: none !important; } + +.checkbox input, +.checkbox-icon { + position: relative; + width: 28px; + height: 28px; + display: block; + border: 0; + background: transparent; + cursor: pointer; + -webkit-appearance: none; } + .checkbox input:before, + .checkbox-icon:before { + display: table; + width: 100%; + height: 100%; + border-width: 1px; + border-style: solid; + border-radius: 28px; + background: #fff; + content: ' '; + -webkit-transition: background-color 20ms ease-in-out; + transition: background-color 20ms ease-in-out; } + +.checkbox input:checked:before, +input:checked + .checkbox-icon:before { + border-width: 2px; } + +.checkbox input:after, +.checkbox-icon:after { + -webkit-transition: opacity 0.05s ease-in-out; + transition: opacity 0.05s ease-in-out; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + position: absolute; + top: 33%; + left: 25%; + display: table; + width: 14px; + height: 6px; + border: 1px solid #fff; + border-top: 0; + border-right: 0; + content: ' '; + opacity: 0; } + +.platform-android .checkbox-platform input:before, +.platform-android .checkbox-platform .checkbox-icon:before, +.checkbox-square input:before, +.checkbox-square .checkbox-icon:before { + border-radius: 2px; + width: 72%; + height: 72%; + margin-top: 14%; + margin-left: 14%; + border-width: 2px; } + +.platform-android .checkbox-platform input:after, +.platform-android .checkbox-platform .checkbox-icon:after, +.checkbox-square input:after, +.checkbox-square .checkbox-icon:after { + border-width: 2px; + top: 19%; + left: 25%; + width: 13px; + height: 7px; } + +.platform-android .item-checkbox-right .checkbox-square .checkbox-icon::after { + top: 31%; } + +.grade-c .checkbox input:after, +.grade-c .checkbox-icon:after { + -webkit-transform: rotate(0); + transform: rotate(0); + top: 3px; + left: 4px; + border: none; + color: #fff; + content: '\2713'; + font-weight: bold; + font-size: 20px; } + +.checkbox input:checked:after, +input:checked + .checkbox-icon:after { + opacity: 1; } + +.item-checkbox { + padding-left: 60px; } + .item-checkbox.active { + box-shadow: none; } + +.item-checkbox .checkbox { + position: absolute; + top: 50%; + right: 8px; + left: 8px; + z-index: 3; + margin-top: -21px; } + +.item-checkbox.item-checkbox-right { + padding-right: 60px; + padding-left: 16px; } + +.item-checkbox-right .checkbox input, +.item-checkbox-right .checkbox-icon { + float: right; } + +/** + * Toggle + * -------------------------------------------------- + */ +.item-toggle { + pointer-events: none; } + +.toggle { + position: relative; + display: inline-block; + pointer-events: auto; + margin: -5px; + padding: 5px; } + .toggle input:checked + .track { + border-color: #4cd964; + background-color: #4cd964; } + .toggle.dragging .handle { + background-color: #f2f2f2 !important; } + +.toggle.toggle-light input:checked + .track { + border-color: #ddd; + background-color: #ddd; } + +.toggle.toggle-stable input:checked + .track { + border-color: #b2b2b2; + background-color: #b2b2b2; } + +.toggle.toggle-positive input:checked + .track { + border-color: #387ef5; + background-color: #387ef5; } + +.toggle.toggle-calm input:checked + .track { + border-color: #11c1f3; + background-color: #11c1f3; } + +.toggle.toggle-assertive input:checked + .track { + border-color: #ef473a; + background-color: #ef473a; } + +.toggle.toggle-balanced input:checked + .track { + border-color: #33cd5f; + background-color: #33cd5f; } + +.toggle.toggle-energized input:checked + .track { + border-color: #ffc900; + background-color: #ffc900; } + +.toggle.toggle-royal input:checked + .track { + border-color: #886aea; + background-color: #886aea; } + +.toggle.toggle-dark input:checked + .track { + border-color: #444; + background-color: #444; } + +.toggle input { + display: none; } + +/* the track appearance when the toggle is "off" */ +.toggle .track { + -webkit-transition-timing-function: ease-in-out; + transition-timing-function: ease-in-out; + -webkit-transition-duration: 0.3s; + transition-duration: 0.3s; + -webkit-transition-property: background-color, border; + transition-property: background-color, border; + display: inline-block; + box-sizing: border-box; + width: 51px; + height: 31px; + border: solid 2px #e6e6e6; + border-radius: 20px; + background-color: #fff; + content: ' '; + cursor: pointer; + pointer-events: none; } + +/* Fix to avoid background color bleeding */ +/* (occured on (at least) Android 4.2, Asus MeMO Pad HD7 ME173X) */ +.platform-android4_2 .toggle .track { + -webkit-background-clip: padding-box; } + +/* the handle (circle) thats inside the toggle's track area */ +/* also the handle's appearance when it is "off" */ +.toggle .handle { + -webkit-transition: 0.3s cubic-bezier(0, 1.1, 1, 1.1); + transition: 0.3s cubic-bezier(0, 1.1, 1, 1.1); + -webkit-transition-property: background-color, transform; + transition-property: background-color, transform; + position: absolute; + display: block; + width: 27px; + height: 27px; + border-radius: 27px; + background-color: #fff; + top: 7px; + left: 7px; + box-shadow: 0 2px 7px rgba(0, 0, 0, 0.35), 0 1px 1px rgba(0, 0, 0, 0.15); } + .toggle .handle:before { + position: absolute; + top: -4px; + left: -21.5px; + padding: 18.5px 34px; + content: " "; } + +.toggle input:checked + .track .handle { + -webkit-transform: translate3d(20px, 0, 0); + transform: translate3d(20px, 0, 0); + background-color: #fff; } + +.item-toggle.active { + box-shadow: none; } + +.item-toggle, +.item-toggle.item-complex .item-content { + padding-right: 99px; } + +.item-toggle.item-complex { + padding-right: 0; } + +.item-toggle .toggle { + position: absolute; + top: 10px; + right: 16px; + z-index: 3; } + +.toggle input:disabled + .track { + opacity: .6; } + +.toggle-small .track { + border: 0; + width: 34px; + height: 15px; + background: #9e9e9e; } + +.toggle-small input:checked + .track { + background: rgba(0, 150, 137, 0.5); } + +.toggle-small .handle { + top: 2px; + left: 4px; + width: 21px; + height: 21px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25); } + +.toggle-small input:checked + .track .handle { + -webkit-transform: translate3d(16px, 0, 0); + transform: translate3d(16px, 0, 0); + background: #009689; } + +.toggle-small.item-toggle .toggle { + top: 19px; } + +.toggle-small .toggle-light input:checked + .track { + background-color: rgba(221, 221, 221, 0.5); } + +.toggle-small .toggle-light input:checked + .track .handle { + background-color: #ddd; } + +.toggle-small .toggle-stable input:checked + .track { + background-color: rgba(178, 178, 178, 0.5); } + +.toggle-small .toggle-stable input:checked + .track .handle { + background-color: #b2b2b2; } + +.toggle-small .toggle-positive input:checked + .track { + background-color: rgba(56, 126, 245, 0.5); } + +.toggle-small .toggle-positive input:checked + .track .handle { + background-color: #387ef5; } + +.toggle-small .toggle-calm input:checked + .track { + background-color: rgba(17, 193, 243, 0.5); } + +.toggle-small .toggle-calm input:checked + .track .handle { + background-color: #11c1f3; } + +.toggle-small .toggle-assertive input:checked + .track { + background-color: rgba(239, 71, 58, 0.5); } + +.toggle-small .toggle-assertive input:checked + .track .handle { + background-color: #ef473a; } + +.toggle-small .toggle-balanced input:checked + .track { + background-color: rgba(51, 205, 95, 0.5); } + +.toggle-small .toggle-balanced input:checked + .track .handle { + background-color: #33cd5f; } + +.toggle-small .toggle-energized input:checked + .track { + background-color: rgba(255, 201, 0, 0.5); } + +.toggle-small .toggle-energized input:checked + .track .handle { + background-color: #ffc900; } + +.toggle-small .toggle-royal input:checked + .track { + background-color: rgba(136, 106, 234, 0.5); } + +.toggle-small .toggle-royal input:checked + .track .handle { + background-color: #886aea; } + +.toggle-small .toggle-dark input:checked + .track { + background-color: rgba(68, 68, 68, 0.5); } + +.toggle-small .toggle-dark input:checked + .track .handle { + background-color: #444; } + +/** + * Radio Button Inputs + * -------------------------------------------------- + */ +.item-radio { + padding: 0; } + .item-radio:hover { + cursor: pointer; } + +.item-radio .item-content { + /* give some room to the right for the checkmark icon */ + padding-right: 64px; } + +.item-radio .radio-icon { + /* checkmark icon will be hidden by default */ + position: absolute; + top: 0; + right: 0; + z-index: 3; + visibility: hidden; + padding: 14px; + height: 100%; + font-size: 24px; } + +.item-radio input { + /* hide any radio button inputs elements (the ugly circles) */ + position: absolute; + left: -9999px; } + .item-radio input:checked + .radio-content .item-content { + /* style the item content when its checked */ + background: #f7f7f7; } + .item-radio input:checked + .radio-content .radio-icon { + /* show the checkmark icon when its checked */ + visibility: visible; } + +/** + * Range + * -------------------------------------------------- + */ +.range input { + display: inline-block; + overflow: hidden; + margin-top: 5px; + margin-bottom: 5px; + padding-right: 2px; + padding-left: 1px; + width: auto; + height: 43px; + outline: none; + background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ccc), color-stop(100%, #ccc)); + background: linear-gradient(to right, #ccc 0%, #ccc 100%); + background-position: center; + background-size: 99% 2px; + background-repeat: no-repeat; + -webkit-appearance: none; + /* + &::-ms-track{ + background: transparent; + border-color: transparent; + border-width: 11px 0 16px; + color:transparent; + margin-top:20px; + } + &::-ms-thumb { + width: $range-slider-width; + height: $range-slider-height; + border-radius: $range-slider-border-radius; + background-color: $toggle-handle-off-bg-color; + border-color:$toggle-handle-off-bg-color; + box-shadow: $range-slider-box-shadow; + margin-left:1px; + margin-right:1px; + outline:none; + } + &::-ms-fill-upper { + height: $range-track-height; + background:$range-default-track-bg; + } + */ } + .range input::-moz-focus-outer { + /* hide the focus outline in Firefox */ + border: 0; } + .range input::-webkit-slider-thumb { + position: relative; + width: 28px; + height: 28px; + border-radius: 50%; + background-color: #fff; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2); + cursor: pointer; + -webkit-appearance: none; + border: 0; } + .range input::-webkit-slider-thumb:before { + /* what creates the colorful line on the left side of the slider */ + position: absolute; + top: 13px; + left: -2001px; + width: 2000px; + height: 2px; + background: #444; + content: ' '; } + .range input::-webkit-slider-thumb:after { + /* create a larger (but hidden) hit area */ + position: absolute; + top: -15px; + left: -15px; + padding: 30px; + content: ' '; } + .range input::-ms-fill-lower { + height: 2px; + background: #444; } + +.range { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; + padding: 2px 11px; } + .range.range-light input::-webkit-slider-thumb:before { + background: #ddd; } + .range.range-light input::-ms-fill-lower { + background: #ddd; } + .range.range-stable input::-webkit-slider-thumb:before { + background: #b2b2b2; } + .range.range-stable input::-ms-fill-lower { + background: #b2b2b2; } + .range.range-positive input::-webkit-slider-thumb:before { + background: #387ef5; } + .range.range-positive input::-ms-fill-lower { + background: #387ef5; } + .range.range-calm input::-webkit-slider-thumb:before { + background: #11c1f3; } + .range.range-calm input::-ms-fill-lower { + background: #11c1f3; } + .range.range-balanced input::-webkit-slider-thumb:before { + background: #33cd5f; } + .range.range-balanced input::-ms-fill-lower { + background: #33cd5f; } + .range.range-assertive input::-webkit-slider-thumb:before { + background: #ef473a; } + .range.range-assertive input::-ms-fill-lower { + background: #ef473a; } + .range.range-energized input::-webkit-slider-thumb:before { + background: #ffc900; } + .range.range-energized input::-ms-fill-lower { + background: #ffc900; } + .range.range-royal input::-webkit-slider-thumb:before { + background: #886aea; } + .range.range-royal input::-ms-fill-lower { + background: #886aea; } + .range.range-dark input::-webkit-slider-thumb:before { + background: #444; } + .range.range-dark input::-ms-fill-lower { + background: #444; } + +.range .icon { + -webkit-box-flex: 0; + -webkit-flex: 0; + -moz-box-flex: 0; + -moz-flex: 0; + -ms-flex: 0; + flex: 0; + display: block; + min-width: 24px; + text-align: center; + font-size: 24px; } + +.range input { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + display: block; + margin-right: 10px; + margin-left: 10px; } + +.range-label { + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -moz-box-flex: 0; + -moz-flex: 0 0 auto; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + display: block; + white-space: nowrap; } + +.range-label:first-child { + padding-left: 5px; } + +.range input + .range-label { + padding-right: 5px; + padding-left: 0; } + +.platform-windowsphone .range input { + height: auto; } + +/** + * Select + * -------------------------------------------------- + */ +.item-select { + position: relative; } + .item-select select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + position: absolute; + top: 0; + bottom: 0; + right: 0; + padding: 0 48px 0 16px; + max-width: 65%; + border: none; + background: #fff; + color: #333; + text-indent: .01px; + text-overflow: ''; + white-space: nowrap; + font-size: 14px; + cursor: pointer; + direction: rtl; } + .item-select select::-ms-expand { + display: none; } + .item-select option { + direction: ltr; } + .item-select:after { + position: absolute; + top: 50%; + right: 16px; + margin-top: -3px; + width: 0; + height: 0; + border-top: 5px solid; + border-right: 5px solid transparent; + border-left: 5px solid transparent; + color: #999; + content: ""; + pointer-events: none; } + .item-select.item-light select { + background: #fff; + color: #444; } + .item-select.item-stable select { + background: #f8f8f8; + color: #444; } + .item-select.item-stable:after, .item-select.item-stable .input-label { + color: #666666; } + .item-select.item-positive select { + background: #387ef5; + color: #fff; } + .item-select.item-positive:after, .item-select.item-positive .input-label { + color: #fff; } + .item-select.item-calm select { + background: #11c1f3; + color: #fff; } + .item-select.item-calm:after, .item-select.item-calm .input-label { + color: #fff; } + .item-select.item-assertive select { + background: #ef473a; + color: #fff; } + .item-select.item-assertive:after, .item-select.item-assertive .input-label { + color: #fff; } + .item-select.item-balanced select { + background: #33cd5f; + color: #fff; } + .item-select.item-balanced:after, .item-select.item-balanced .input-label { + color: #fff; } + .item-select.item-energized select { + background: #ffc900; + color: #fff; } + .item-select.item-energized:after, .item-select.item-energized .input-label { + color: #fff; } + .item-select.item-royal select { + background: #886aea; + color: #fff; } + .item-select.item-royal:after, .item-select.item-royal .input-label { + color: #fff; } + .item-select.item-dark select { + background: #444; + color: #fff; } + .item-select.item-dark:after, .item-select.item-dark .input-label { + color: #fff; } + +select[multiple], select[size] { + height: auto; } + +/** + * Progress + * -------------------------------------------------- + */ +progress { + display: block; + margin: 15px auto; + width: 100%; } + +/** + * Buttons + * -------------------------------------------------- + */ +.button { + border-color: transparent; + background-color: #f8f8f8; + color: #444; + position: relative; + display: inline-block; + margin: 0; + padding: 0 12px; + min-width: 52px; + min-height: 47px; + border-width: 1px; + border-style: solid; + border-radius: 4px; + vertical-align: top; + text-align: center; + text-overflow: ellipsis; + font-size: 16px; + line-height: 42px; + cursor: pointer; } + .button:hover { + color: #444; + text-decoration: none; } + .button.active, .button.activated { + background-color: #e5e5e5; } + .button:after { + position: absolute; + top: -6px; + right: -6px; + bottom: -6px; + left: -6px; + content: ' '; } + .button .icon { + vertical-align: top; + pointer-events: none; } + .button .icon:before, .button.icon:before, .button.icon-left:before, .button.icon-right:before { + display: inline-block; + padding: 0 0 1px 0; + vertical-align: inherit; + font-size: 24px; + line-height: 41px; + pointer-events: none; } + .button.icon-left:before { + float: left; + padding-right: .2em; + padding-left: 0; } + .button.icon-right:before { + float: right; + padding-right: 0; + padding-left: .2em; } + .button.button-block, .button.button-full { + margin-top: 10px; + margin-bottom: 10px; } + .button.button-light { + border-color: transparent; + background-color: #fff; + color: #444; } + .button.button-light:hover { + color: #444; + text-decoration: none; } + .button.button-light.active, .button.button-light.activated { + background-color: #fafafa; } + .button.button-light.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #ddd; } + .button.button-light.button-icon { + border-color: transparent; + background: none; } + .button.button-light.button-outline { + border-color: #ddd; + background: transparent; + color: #ddd; } + .button.button-light.button-outline.active, .button.button-light.button-outline.activated { + background-color: #ddd; + box-shadow: none; + color: #fff; } + .button.button-stable { + border-color: transparent; + background-color: #f8f8f8; + color: #444; } + .button.button-stable:hover { + color: #444; + text-decoration: none; } + .button.button-stable.active, .button.button-stable.activated { + background-color: #e5e5e5; } + .button.button-stable.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #b2b2b2; } + .button.button-stable.button-icon { + border-color: transparent; + background: none; } + .button.button-stable.button-outline { + border-color: #b2b2b2; + background: transparent; + color: #b2b2b2; } + .button.button-stable.button-outline.active, .button.button-stable.button-outline.activated { + background-color: #b2b2b2; + box-shadow: none; + color: #fff; } + .button.button-positive { + border-color: transparent; + background-color: #387ef5; + color: #fff; } + .button.button-positive:hover { + color: #fff; + text-decoration: none; } + .button.button-positive.active, .button.button-positive.activated { + background-color: #0c60ee; } + .button.button-positive.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #387ef5; } + .button.button-positive.button-icon { + border-color: transparent; + background: none; } + .button.button-positive.button-outline { + border-color: #387ef5; + background: transparent; + color: #387ef5; } + .button.button-positive.button-outline.active, .button.button-positive.button-outline.activated { + background-color: #387ef5; + box-shadow: none; + color: #fff; } + .button.button-calm { + border-color: transparent; + background-color: #11c1f3; + color: #fff; } + .button.button-calm:hover { + color: #fff; + text-decoration: none; } + .button.button-calm.active, .button.button-calm.activated { + background-color: #0a9dc7; } + .button.button-calm.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #11c1f3; } + .button.button-calm.button-icon { + border-color: transparent; + background: none; } + .button.button-calm.button-outline { + border-color: #11c1f3; + background: transparent; + color: #11c1f3; } + .button.button-calm.button-outline.active, .button.button-calm.button-outline.activated { + background-color: #11c1f3; + box-shadow: none; + color: #fff; } + .button.button-assertive { + border-color: transparent; + background-color: #ef473a; + color: #fff; } + .button.button-assertive:hover { + color: #fff; + text-decoration: none; } + .button.button-assertive.active, .button.button-assertive.activated { + background-color: #e42112; } + .button.button-assertive.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #ef473a; } + .button.button-assertive.button-icon { + border-color: transparent; + background: none; } + .button.button-assertive.button-outline { + border-color: #ef473a; + background: transparent; + color: #ef473a; } + .button.button-assertive.button-outline.active, .button.button-assertive.button-outline.activated { + background-color: #ef473a; + box-shadow: none; + color: #fff; } + .button.button-balanced { + border-color: transparent; + background-color: #33cd5f; + color: #fff; } + .button.button-balanced:hover { + color: #fff; + text-decoration: none; } + .button.button-balanced.active, .button.button-balanced.activated { + background-color: #28a54c; } + .button.button-balanced.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #33cd5f; } + .button.button-balanced.button-icon { + border-color: transparent; + background: none; } + .button.button-balanced.button-outline { + border-color: #33cd5f; + background: transparent; + color: #33cd5f; } + .button.button-balanced.button-outline.active, .button.button-balanced.button-outline.activated { + background-color: #33cd5f; + box-shadow: none; + color: #fff; } + .button.button-energized { + border-color: transparent; + background-color: #ffc900; + color: #fff; } + .button.button-energized:hover { + color: #fff; + text-decoration: none; } + .button.button-energized.active, .button.button-energized.activated { + background-color: #e6b500; } + .button.button-energized.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #ffc900; } + .button.button-energized.button-icon { + border-color: transparent; + background: none; } + .button.button-energized.button-outline { + border-color: #ffc900; + background: transparent; + color: #ffc900; } + .button.button-energized.button-outline.active, .button.button-energized.button-outline.activated { + background-color: #ffc900; + box-shadow: none; + color: #fff; } + .button.button-royal { + border-color: transparent; + background-color: #886aea; + color: #fff; } + .button.button-royal:hover { + color: #fff; + text-decoration: none; } + .button.button-royal.active, .button.button-royal.activated { + background-color: #6b46e5; } + .button.button-royal.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #886aea; } + .button.button-royal.button-icon { + border-color: transparent; + background: none; } + .button.button-royal.button-outline { + border-color: #886aea; + background: transparent; + color: #886aea; } + .button.button-royal.button-outline.active, .button.button-royal.button-outline.activated { + background-color: #886aea; + box-shadow: none; + color: #fff; } + .button.button-dark { + border-color: transparent; + background-color: #444; + color: #fff; } + .button.button-dark:hover { + color: #fff; + text-decoration: none; } + .button.button-dark.active, .button.button-dark.activated { + background-color: #262626; } + .button.button-dark.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #444; } + .button.button-dark.button-icon { + border-color: transparent; + background: none; } + .button.button-dark.button-outline { + border-color: #444; + background: transparent; + color: #444; } + .button.button-dark.button-outline.active, .button.button-dark.button-outline.activated { + background-color: #444; + box-shadow: none; + color: #fff; } + +.button-small { + padding: 2px 4px 1px; + min-width: 28px; + min-height: 30px; + font-size: 12px; + line-height: 26px; } + .button-small .icon:before, .button-small.icon:before, .button-small.icon-left:before, .button-small.icon-right:before { + font-size: 16px; + line-height: 19px; + margin-top: 3px; } + +.button-large { + padding: 0 16px; + min-width: 68px; + min-height: 59px; + font-size: 20px; + line-height: 53px; } + .button-large .icon:before, .button-large.icon:before, .button-large.icon-left:before, .button-large.icon-right:before { + padding-bottom: 2px; + font-size: 32px; + line-height: 51px; } + +.button-icon { + -webkit-transition: opacity 0.1s; + transition: opacity 0.1s; + padding: 0 6px; + min-width: initial; + border-color: transparent; + background: none; } + .button-icon.button.active, .button-icon.button.activated { + border-color: transparent; + background: none; + box-shadow: none; + opacity: 0.3; } + .button-icon .icon:before, .button-icon.icon:before { + font-size: 32px; } + +.button-clear { + -webkit-transition: opacity 0.1s; + transition: opacity 0.1s; + padding: 0 6px; + max-height: 42px; + border-color: transparent; + background: none; + box-shadow: none; } + .button-clear.button-clear { + border-color: transparent; + background: none; + box-shadow: none; + color: #b2b2b2; } + .button-clear.button-icon { + border-color: transparent; + background: none; } + .button-clear.active, .button-clear.activated { + opacity: 0.3; } + +.button-outline { + -webkit-transition: opacity 0.1s; + transition: opacity 0.1s; + background: none; + box-shadow: none; } + .button-outline.button-outline { + border-color: #b2b2b2; + background: transparent; + color: #b2b2b2; } + .button-outline.button-outline.active, .button-outline.button-outline.activated { + background-color: #b2b2b2; + box-shadow: none; + color: #fff; } + +.padding > .button.button-block:first-child { + margin-top: 0; } + +.button-block { + display: block; + clear: both; } + .button-block:after { + clear: both; } + +.button-full, +.button-full > .button { + display: block; + margin-right: 0; + margin-left: 0; + border-right-width: 0; + border-left-width: 0; + border-radius: 0; } + +button.button-block, +button.button-full, +.button-full > button.button, +input.button.button-block { + width: 100%; } + +a.button { + text-decoration: none; } + a.button .icon:before, a.button.icon:before, a.button.icon-left:before, a.button.icon-right:before { + margin-top: 2px; } + +.button.disabled, +.button[disabled] { + opacity: .4; + cursor: default !important; + pointer-events: none; } + +/** + * Button Bar + * -------------------------------------------------- + */ +.button-bar { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + width: 100%; } + .button-bar.button-bar-inline { + display: block; + width: auto; + *zoom: 1; } + .button-bar.button-bar-inline:before, .button-bar.button-bar-inline:after { + display: table; + content: ""; + line-height: 0; } + .button-bar.button-bar-inline:after { + clear: both; } + .button-bar.button-bar-inline > .button { + width: auto; + display: inline-block; + float: left; } + +.button-bar > .button { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + display: block; + overflow: hidden; + padding: 0 16px; + width: 0; + border-width: 1px 0px 1px 1px; + border-radius: 0; + text-align: center; + text-overflow: ellipsis; + white-space: nowrap; } + .button-bar > .button:before, + .button-bar > .button .icon:before { + line-height: 44px; } + .button-bar > .button:first-child { + border-radius: 4px 0px 0px 4px; } + .button-bar > .button:last-child { + border-right-width: 1px; + border-radius: 0px 4px 4px 0px; } + .button-bar > .button:only-child { + border-radius: 4px; } + +.button-bar > .button-small:before, +.button-bar > .button-small .icon:before { + line-height: 28px; } + +/** + * Grid + * -------------------------------------------------- + * Using flexbox for the grid, inspired by Philip Walton: + * http://philipwalton.github.io/solved-by-flexbox/demos/grids/ + * By default each .col within a .row will evenly take up + * available width, and the height of each .col with take + * up the height of the tallest .col in the same .row. + */ +.row { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -moz-flex; + display: -ms-flexbox; + display: flex; + padding: 5px; + width: 100%; } + +.row-wrap { + -webkit-flex-wrap: wrap; + -moz-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; } + +.row-no-padding { + padding: 0; } + .row-no-padding > .col { + padding: 0; } + +.row + .row { + margin-top: -5px; + padding-top: 0; } + +.col { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + display: block; + padding: 5px; + width: 100%; } + +/* Vertically Align Columns */ +/* .row-* vertically aligns every .col in the .row */ +.row-top { + -webkit-box-align: start; + -ms-flex-align: start; + -webkit-align-items: flex-start; + -moz-align-items: flex-start; + align-items: flex-start; } + +.row-bottom { + -webkit-box-align: end; + -ms-flex-align: end; + -webkit-align-items: flex-end; + -moz-align-items: flex-end; + align-items: flex-end; } + +.row-center { + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + -moz-align-items: center; + align-items: center; } + +.row-stretch { + -webkit-box-align: stretch; + -ms-flex-align: stretch; + -webkit-align-items: stretch; + -moz-align-items: stretch; + align-items: stretch; } + +.row-baseline { + -webkit-box-align: baseline; + -ms-flex-align: baseline; + -webkit-align-items: baseline; + -moz-align-items: baseline; + align-items: baseline; } + +/* .col-* vertically aligns an individual .col */ +.col-top { + -webkit-align-self: flex-start; + -moz-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start; } + +.col-bottom { + -webkit-align-self: flex-end; + -moz-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; } + +.col-center { + -webkit-align-self: center; + -moz-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + +/* Column Offsets */ +.col-offset-10 { + margin-left: 10%; } + +.col-offset-20 { + margin-left: 20%; } + +.col-offset-25 { + margin-left: 25%; } + +.col-offset-33, .col-offset-34 { + margin-left: 33.3333%; } + +.col-offset-50 { + margin-left: 50%; } + +.col-offset-66, .col-offset-67 { + margin-left: 66.6666%; } + +.col-offset-75 { + margin-left: 75%; } + +.col-offset-80 { + margin-left: 80%; } + +.col-offset-90 { + margin-left: 90%; } + +/* Explicit Column Percent Sizes */ +/* By default each grid column will evenly distribute */ +/* across the grid. However, you can specify individual */ +/* columns to take up a certain size of the available area */ +.col-10 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 10%; + -moz-box-flex: 0; + -moz-flex: 0 0 10%; + -ms-flex: 0 0 10%; + flex: 0 0 10%; + max-width: 10%; } + +.col-20 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 20%; + -moz-box-flex: 0; + -moz-flex: 0 0 20%; + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; } + +.col-25 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 25%; + -moz-box-flex: 0; + -moz-flex: 0 0 25%; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + +.col-33, .col-34 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 33.3333%; + -moz-box-flex: 0; + -moz-flex: 0 0 33.3333%; + -ms-flex: 0 0 33.3333%; + flex: 0 0 33.3333%; + max-width: 33.3333%; } + +.col-40 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 40%; + -moz-box-flex: 0; + -moz-flex: 0 0 40%; + -ms-flex: 0 0 40%; + flex: 0 0 40%; + max-width: 40%; } + +.col-50 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 50%; + -moz-box-flex: 0; + -moz-flex: 0 0 50%; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + +.col-60 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 60%; + -moz-box-flex: 0; + -moz-flex: 0 0 60%; + -ms-flex: 0 0 60%; + flex: 0 0 60%; + max-width: 60%; } + +.col-66, .col-67 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 66.6666%; + -moz-box-flex: 0; + -moz-flex: 0 0 66.6666%; + -ms-flex: 0 0 66.6666%; + flex: 0 0 66.6666%; + max-width: 66.6666%; } + +.col-75 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 75%; + -moz-box-flex: 0; + -moz-flex: 0 0 75%; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + +.col-80 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 80%; + -moz-box-flex: 0; + -moz-flex: 0 0 80%; + -ms-flex: 0 0 80%; + flex: 0 0 80%; + max-width: 80%; } + +.col-90 { + -webkit-box-flex: 0; + -webkit-flex: 0 0 90%; + -moz-box-flex: 0; + -moz-flex: 0 0 90%; + -ms-flex: 0 0 90%; + flex: 0 0 90%; + max-width: 90%; } + +/* Responsive Grid Classes */ +/* Adding a class of responsive-X to a row */ +/* will trigger the flex-direction to */ +/* change to column and add some margin */ +/* to any columns in the row for clearity */ +@media (max-width: 567px) { + .responsive-sm { + -webkit-box-direction: normal; + -moz-box-direction: normal; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .responsive-sm .col, .responsive-sm .col-10, .responsive-sm .col-20, .responsive-sm .col-25, .responsive-sm .col-33, .responsive-sm .col-34, .responsive-sm .col-50, .responsive-sm .col-66, .responsive-sm .col-67, .responsive-sm .col-75, .responsive-sm .col-80, .responsive-sm .col-90 { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + margin-bottom: 15px; + margin-left: 0; + max-width: 100%; + width: 100%; } } + +@media (max-width: 767px) { + .responsive-md { + -webkit-box-direction: normal; + -moz-box-direction: normal; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .responsive-md .col, .responsive-md .col-10, .responsive-md .col-20, .responsive-md .col-25, .responsive-md .col-33, .responsive-md .col-34, .responsive-md .col-50, .responsive-md .col-66, .responsive-md .col-67, .responsive-md .col-75, .responsive-md .col-80, .responsive-md .col-90 { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + margin-bottom: 15px; + margin-left: 0; + max-width: 100%; + width: 100%; } } + +@media (max-width: 1023px) { + .responsive-lg { + -webkit-box-direction: normal; + -moz-box-direction: normal; + -webkit-box-orient: vertical; + -moz-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; } + .responsive-lg .col, .responsive-lg .col-10, .responsive-lg .col-20, .responsive-lg .col-25, .responsive-lg .col-33, .responsive-lg .col-34, .responsive-lg .col-50, .responsive-lg .col-66, .responsive-lg .col-67, .responsive-lg .col-75, .responsive-lg .col-80, .responsive-lg .col-90 { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -moz-flex: 1; + -ms-flex: 1; + flex: 1; + margin-bottom: 15px; + margin-left: 0; + max-width: 100%; + width: 100%; } } + +/** + * Utility Classes + * -------------------------------------------------- + */ +.hide { + display: none; } + +.opacity-hide { + opacity: 0; } + +.grade-b .opacity-hide, +.grade-c .opacity-hide { + opacity: 1; + display: none; } + +.show { + display: block; } + +.opacity-show { + opacity: 1; } + +.invisible { + visibility: hidden; } + +.keyboard-open .hide-on-keyboard-open { + display: none; } + +.keyboard-open .tabs.hide-on-keyboard-open + .pane .has-tabs, +.keyboard-open .bar-footer.hide-on-keyboard-open + .pane .has-footer { + bottom: 0; } + +.inline { + display: inline-block; } + +.disable-pointer-events { + pointer-events: none; } + +.enable-pointer-events { + pointer-events: auto; } + +.disable-user-behavior { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-touch-callout: none; + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: transparent; + -webkit-user-drag: none; + -ms-touch-action: none; + -ms-content-zooming: none; } + +.click-block { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + opacity: 0; + z-index: 99999; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + overflow: hidden; } + +.click-block-hide { + -webkit-transform: translate3d(-9999px, 0, 0); + transform: translate3d(-9999px, 0, 0); } + +.no-resize { + resize: none; } + +.block { + display: block; + clear: both; } + .block:after { + display: block; + visibility: hidden; + clear: both; + height: 0; + content: "."; } + +.full-image { + width: 100%; } + +.clearfix { + *zoom: 1; } + .clearfix:before, .clearfix:after { + display: table; + content: ""; + line-height: 0; } + .clearfix:after { + clear: both; } + +/** + * Content Padding + * -------------------------------------------------- + */ +.padding { + padding: 10px; } + +.padding-top, +.padding-vertical { + padding-top: 10px; } + +.padding-right, +.padding-horizontal { + padding-right: 10px; } + +.padding-bottom, +.padding-vertical { + padding-bottom: 10px; } + +.padding-left, +.padding-horizontal { + padding-left: 10px; } + +/** + * Scrollable iFrames + * -------------------------------------------------- + */ +.iframe-wrapper { + position: fixed; + -webkit-overflow-scrolling: touch; + overflow: scroll; } + .iframe-wrapper iframe { + height: 100%; + width: 100%; } + +/** + * Rounded + * -------------------------------------------------- + */ +.rounded { + border-radius: 4px; } + +/** + * Utility Colors + * -------------------------------------------------- + * Utility colors are added to help set a naming convention. You'll + * notice we purposely do not use words like "red" or "blue", but + * instead have colors which represent an emotion or generic theme. + */ +.light, a.light { + color: #fff; } + +.light-bg { + background-color: #fff; } + +.light-border { + border-color: #ddd; } + +.stable, a.stable { + color: #f8f8f8; } + +.stable-bg { + background-color: #f8f8f8; } + +.stable-border { + border-color: #b2b2b2; } + +.positive, a.positive { + color: #387ef5; } + +.positive-bg { + background-color: #387ef5; } + +.positive-border { + border-color: #0c60ee; } + +.calm, a.calm { + color: #11c1f3; } + +.calm-bg { + background-color: #11c1f3; } + +.calm-border { + border-color: #0a9dc7; } + +.assertive, a.assertive { + color: #ef473a; } + +.assertive-bg { + background-color: #ef473a; } + +.assertive-border { + border-color: #e42112; } + +.balanced, a.balanced { + color: #33cd5f; } + +.balanced-bg { + background-color: #33cd5f; } + +.balanced-border { + border-color: #28a54c; } + +.energized, a.energized { + color: #ffc900; } + +.energized-bg { + background-color: #ffc900; } + +.energized-border { + border-color: #e6b500; } + +.royal, a.royal { + color: #886aea; } + +.royal-bg { + background-color: #886aea; } + +.royal-border { + border-color: #6b46e5; } + +.dark, a.dark { + color: #444; } + +.dark-bg { + background-color: #444; } + +.dark-border { + border-color: #111; } + +[collection-repeat] { + /* Position is set by transforms */ + left: 0 !important; + top: 0 !important; + position: absolute !important; + z-index: 1; } + +.collection-repeat-container { + position: relative; + z-index: 1; } + +.collection-repeat-after-container { + z-index: 0; + display: block; + /* when scrolling horizontally, make sure the after container doesn't take up 100% width */ } + .collection-repeat-after-container.horizontal { + display: inline-block; } + +[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, +.x-ng-cloak, .ng-hide:not(.ng-hide-animate) { + display: none !important; } + +/** + * Platform + * -------------------------------------------------- + * Platform specific tweaks + */ +.platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader) { + height: 64px; } + .platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper { + margin-top: 19px !important; } + .platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader) > * { + margin-top: 20px; } + +.platform-ios.platform-cordova:not(.fullscreen) .tabs-top > .tabs, +.platform-ios.platform-cordova:not(.fullscreen) .tabs.tabs-top { + top: 64px; } + +.platform-ios.platform-cordova:not(.fullscreen) .has-header, +.platform-ios.platform-cordova:not(.fullscreen) .bar-subheader { + top: 64px; } + +.platform-ios.platform-cordova:not(.fullscreen) .has-subheader { + top: 108px; } + +.platform-ios.platform-cordova:not(.fullscreen) .has-header.has-tabs-top { + top: 113px; } + +.platform-ios.platform-cordova:not(.fullscreen) .has-header.has-subheader.has-tabs-top { + top: 157px; } + +.platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader) { + height: 44px; } + .platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper { + margin-top: -1px; } + .platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader) > * { + margin-top: 0; } + +.platform-ios.platform-cordova .popover .has-header, +.platform-ios.platform-cordova .popover .bar-subheader { + top: 44px; } + +.platform-ios.platform-cordova .popover .has-subheader { + top: 88px; } + +.platform-ios.platform-cordova.status-bar-hide { + margin-bottom: 20px; } + +@media (orientation: landscape) { + .platform-ios.platform-browser.platform-ipad { + position: fixed; } } + +.platform-c:not(.enable-transitions) * { + -webkit-transition: none !important; + transition: none !important; } + +.slide-in-up { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); } + +.slide-in-up.ng-enter, +.slide-in-up > .ng-enter { + -webkit-transition: all cubic-bezier(0.1, 0.7, 0.1, 1) 400ms; + transition: all cubic-bezier(0.1, 0.7, 0.1, 1) 400ms; } + +.slide-in-up.ng-enter-active, +.slide-in-up > .ng-enter-active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.slide-in-up.ng-leave, +.slide-in-up > .ng-leave { + -webkit-transition: all ease-in-out 250ms; + transition: all ease-in-out 250ms; } + +@-webkit-keyframes scaleOut { + from { + -webkit-transform: scale(1); + opacity: 1; } + to { + -webkit-transform: scale(0.8); + opacity: 0; } } + +@keyframes scaleOut { + from { + transform: scale(1); + opacity: 1; } + to { + transform: scale(0.8); + opacity: 0; } } + +@-webkit-keyframes superScaleIn { + from { + -webkit-transform: scale(1.2); + opacity: 0; } + to { + -webkit-transform: scale(1); + opacity: 1; } } + +@keyframes superScaleIn { + from { + transform: scale(1.2); + opacity: 0; } + to { + transform: scale(1); + opacity: 1; } } + +[nav-view-transition="ios"] [nav-view="entering"], +[nav-view-transition="ios"] [nav-view="leaving"] { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: cubic-bezier(0.36, 0.66, 0.04, 1); + transition-timing-function: cubic-bezier(0.36, 0.66, 0.04, 1); + -webkit-transition-property: opacity, -webkit-transform, box-shadow; + transition-property: opacity, transform, box-shadow; } + +[nav-view-transition="ios"][nav-view-direction="forward"], [nav-view-transition="ios"][nav-view-direction="back"] { + background-color: #000; } + +[nav-view-transition="ios"] [nav-view="active"], +[nav-view-transition="ios"][nav-view-direction="forward"] [nav-view="entering"], +[nav-view-transition="ios"][nav-view-direction="back"] [nav-view="leaving"] { + z-index: 3; } + +[nav-view-transition="ios"][nav-view-direction="back"] [nav-view="entering"], +[nav-view-transition="ios"][nav-view-direction="forward"] [nav-view="leaving"] { + z-index: 2; } + +[nav-bar-transition="ios"] .title, +[nav-bar-transition="ios"] .buttons, +[nav-bar-transition="ios"] .back-text { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: cubic-bezier(0.36, 0.66, 0.04, 1); + transition-timing-function: cubic-bezier(0.36, 0.66, 0.04, 1); + -webkit-transition-property: opacity, -webkit-transform; + transition-property: opacity, transform; } + +[nav-bar-transition="ios"] [nav-bar="active"], +[nav-bar-transition="ios"] [nav-bar="entering"] { + z-index: 10; } + [nav-bar-transition="ios"] [nav-bar="active"] .bar, + [nav-bar-transition="ios"] [nav-bar="entering"] .bar { + background: transparent; } + +[nav-bar-transition="ios"] [nav-bar="cached"] { + display: block; } + [nav-bar-transition="ios"] [nav-bar="cached"] .header-item { + display: none; } + +[nav-view-transition="android"] [nav-view="entering"], +[nav-view-transition="android"] [nav-view="leaving"] { + -webkit-transition-duration: 200ms; + transition-duration: 200ms; + -webkit-transition-timing-function: cubic-bezier(0.4, 0.6, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0.6, 0.2, 1); + -webkit-transition-property: -webkit-transform; + transition-property: transform; } + +[nav-view-transition="android"] [nav-view="active"], +[nav-view-transition="android"][nav-view-direction="forward"] [nav-view="entering"], +[nav-view-transition="android"][nav-view-direction="back"] [nav-view="leaving"] { + z-index: 3; } + +[nav-view-transition="android"][nav-view-direction="back"] [nav-view="entering"], +[nav-view-transition="android"][nav-view-direction="forward"] [nav-view="leaving"] { + z-index: 2; } + +[nav-bar-transition="android"] .title, +[nav-bar-transition="android"] .buttons { + -webkit-transition-duration: 200ms; + transition-duration: 200ms; + -webkit-transition-timing-function: cubic-bezier(0.4, 0.6, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0.6, 0.2, 1); + -webkit-transition-property: opacity; + transition-property: opacity; } + +[nav-bar-transition="android"] [nav-bar="active"], +[nav-bar-transition="android"] [nav-bar="entering"] { + z-index: 10; } + [nav-bar-transition="android"] [nav-bar="active"] .bar, + [nav-bar-transition="android"] [nav-bar="entering"] .bar { + background: transparent; } + +[nav-bar-transition="android"] [nav-bar="cached"] { + display: block; } + [nav-bar-transition="android"] [nav-bar="cached"] .header-item { + display: none; } + +[nav-swipe="fast"] [nav-view], +[nav-swipe="fast"] .title, +[nav-swipe="fast"] .buttons, +[nav-swipe="fast"] .back-text { + -webkit-transition-duration: 50ms; + transition-duration: 50ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; } + +[nav-swipe="slow"] [nav-view], +[nav-swipe="slow"] .title, +[nav-swipe="slow"] .buttons, +[nav-swipe="slow"] .back-text { + -webkit-transition-duration: 160ms; + transition-duration: 160ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; } + +[nav-view="cached"], +[nav-bar="cached"] { + display: none; } + +[nav-view="stage"] { + opacity: 0; + -webkit-transition-duration: 0; + transition-duration: 0; } + +[nav-bar="stage"] .title, +[nav-bar="stage"] .buttons, +[nav-bar="stage"] .back-text { + position: absolute; + opacity: 0; + -webkit-transition-duration: 0s; + transition-duration: 0s; } diff --git a/platforms/android/assets/www/lib/ionic/css/ionic.min.css b/platforms/android/assets/www/lib/ionic/css/ionic.min.css new file mode 100644 index 0000000..d72dfc1 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/css/ionic.min.css @@ -0,0 +1,23 @@ +@charset "UTF-8";/*! + * Copyright 2015 Drifty Co. + * http://drifty.com/ + * + * Ionic, v1.2.4 + * A powerful HTML5 mobile app framework. + * http://ionicframework.com/ + * + * By @maxlynch, @benjsperry, @adamdbradley <3 + * + * Licensed under the MIT license. Please see LICENSE for more information. + * + *//*! + Ionicons, v2.0.1 + Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ + https://twitter.com/benjsperry https://twitter.com/ionicframework + MIT License: https://github.com/driftyco/ionicons + + Android-style icons originally built by Google’s + Material Design Icons: https://github.com/google/material-design-icons + used under CC BY http://creativecommons.org/licenses/by/4.0/ + Modified icons to fit ionicon’s grid from original. +*/@font-face{font-family:Ionicons;src:url(../fonts/ionicons.eot?v=2.0.1);src:url(../fonts/ionicons.eot?v=2.0.1#iefix) format("embedded-opentype"),url(../fonts/ionicons.ttf?v=2.0.1) format("truetype"),url(../fonts/ionicons.woff?v=2.0.1) format("woff"),url(../fonts/ionicons.woff) format("woff"),url(../fonts/ionicons.svg?v=2.0.1#Ionicons) format("svg");font-weight:400;font-style:normal}.ion,.ion-alert-circled:before,.ion-alert:before,.ion-android-add-circle:before,.ion-android-add:before,.ion-android-alarm-clock:before,.ion-android-alert:before,.ion-android-apps:before,.ion-android-archive:before,.ion-android-arrow-back:before,.ion-android-arrow-down:before,.ion-android-arrow-dropdown-circle:before,.ion-android-arrow-dropdown:before,.ion-android-arrow-dropleft-circle:before,.ion-android-arrow-dropleft:before,.ion-android-arrow-dropright-circle:before,.ion-android-arrow-dropright:before,.ion-android-arrow-dropup-circle:before,.ion-android-arrow-dropup:before,.ion-android-arrow-forward:before,.ion-android-arrow-up:before,.ion-android-attach:before,.ion-android-bar:before,.ion-android-bicycle:before,.ion-android-boat:before,.ion-android-bookmark:before,.ion-android-bulb:before,.ion-android-bus:before,.ion-android-calendar:before,.ion-android-call:before,.ion-android-camera:before,.ion-android-cancel:before,.ion-android-car:before,.ion-android-cart:before,.ion-android-chat:before,.ion-android-checkbox-blank:before,.ion-android-checkbox-outline-blank:before,.ion-android-checkbox-outline:before,.ion-android-checkbox:before,.ion-android-checkmark-circle:before,.ion-android-clipboard:before,.ion-android-close:before,.ion-android-cloud-circle:before,.ion-android-cloud-done:before,.ion-android-cloud-outline:before,.ion-android-cloud:before,.ion-android-color-palette:before,.ion-android-compass:before,.ion-android-contact:before,.ion-android-contacts:before,.ion-android-contract:before,.ion-android-create:before,.ion-android-delete:before,.ion-android-desktop:before,.ion-android-document:before,.ion-android-done-all:before,.ion-android-done:before,.ion-android-download:before,.ion-android-drafts:before,.ion-android-exit:before,.ion-android-expand:before,.ion-android-favorite-outline:before,.ion-android-favorite:before,.ion-android-film:before,.ion-android-folder-open:before,.ion-android-folder:before,.ion-android-funnel:before,.ion-android-globe:before,.ion-android-hand:before,.ion-android-hangout:before,.ion-android-happy:before,.ion-android-home:before,.ion-android-image:before,.ion-android-laptop:before,.ion-android-list:before,.ion-android-locate:before,.ion-android-lock:before,.ion-android-mail:before,.ion-android-map:before,.ion-android-menu:before,.ion-android-microphone-off:before,.ion-android-microphone:before,.ion-android-more-horizontal:before,.ion-android-more-vertical:before,.ion-android-navigate:before,.ion-android-notifications-none:before,.ion-android-notifications-off:before,.ion-android-notifications:before,.ion-android-open:before,.ion-android-options:before,.ion-android-people:before,.ion-android-person-add:before,.ion-android-person:before,.ion-android-phone-landscape:before,.ion-android-phone-portrait:before,.ion-android-pin:before,.ion-android-plane:before,.ion-android-playstore:before,.ion-android-print:before,.ion-android-radio-button-off:before,.ion-android-radio-button-on:before,.ion-android-refresh:before,.ion-android-remove-circle:before,.ion-android-remove:before,.ion-android-restaurant:before,.ion-android-sad:before,.ion-android-search:before,.ion-android-send:before,.ion-android-settings:before,.ion-android-share-alt:before,.ion-android-share:before,.ion-android-star-half:before,.ion-android-star-outline:before,.ion-android-star:before,.ion-android-stopwatch:before,.ion-android-subway:before,.ion-android-sunny:before,.ion-android-sync:before,.ion-android-textsms:before,.ion-android-time:before,.ion-android-train:before,.ion-android-unlock:before,.ion-android-upload:before,.ion-android-volume-down:before,.ion-android-volume-mute:before,.ion-android-volume-off:before,.ion-android-volume-up:before,.ion-android-walk:before,.ion-android-warning:before,.ion-android-watch:before,.ion-android-wifi:before,.ion-aperture:before,.ion-archive:before,.ion-arrow-down-a:before,.ion-arrow-down-b:before,.ion-arrow-down-c:before,.ion-arrow-expand:before,.ion-arrow-graph-down-left:before,.ion-arrow-graph-down-right:before,.ion-arrow-graph-up-left:before,.ion-arrow-graph-up-right:before,.ion-arrow-left-a:before,.ion-arrow-left-b:before,.ion-arrow-left-c:before,.ion-arrow-move:before,.ion-arrow-resize:before,.ion-arrow-return-left:before,.ion-arrow-return-right:before,.ion-arrow-right-a:before,.ion-arrow-right-b:before,.ion-arrow-right-c:before,.ion-arrow-shrink:before,.ion-arrow-swap:before,.ion-arrow-up-a:before,.ion-arrow-up-b:before,.ion-arrow-up-c:before,.ion-asterisk:before,.ion-at:before,.ion-backspace-outline:before,.ion-backspace:before,.ion-bag:before,.ion-battery-charging:before,.ion-battery-empty:before,.ion-battery-full:before,.ion-battery-half:before,.ion-battery-low:before,.ion-beaker:before,.ion-beer:before,.ion-bluetooth:before,.ion-bonfire:before,.ion-bookmark:before,.ion-bowtie:before,.ion-briefcase:before,.ion-bug:before,.ion-calculator:before,.ion-calendar:before,.ion-camera:before,.ion-card:before,.ion-cash:before,.ion-chatbox-working:before,.ion-chatbox:before,.ion-chatboxes:before,.ion-chatbubble-working:before,.ion-chatbubble:before,.ion-chatbubbles:before,.ion-checkmark-circled:before,.ion-checkmark-round:before,.ion-checkmark:before,.ion-chevron-down:before,.ion-chevron-left:before,.ion-chevron-right:before,.ion-chevron-up:before,.ion-clipboard:before,.ion-clock:before,.ion-close-circled:before,.ion-close-round:before,.ion-close:before,.ion-closed-captioning:before,.ion-cloud:before,.ion-code-download:before,.ion-code-working:before,.ion-code:before,.ion-coffee:before,.ion-compass:before,.ion-compose:before,.ion-connection-bars:before,.ion-contrast:before,.ion-crop:before,.ion-cube:before,.ion-disc:before,.ion-document-text:before,.ion-document:before,.ion-drag:before,.ion-earth:before,.ion-easel:before,.ion-edit:before,.ion-egg:before,.ion-eject:before,.ion-email-unread:before,.ion-email:before,.ion-erlenmeyer-flask-bubbles:before,.ion-erlenmeyer-flask:before,.ion-eye-disabled:before,.ion-eye:before,.ion-female:before,.ion-filing:before,.ion-film-marker:before,.ion-fireball:before,.ion-flag:before,.ion-flame:before,.ion-flash-off:before,.ion-flash:before,.ion-folder:before,.ion-fork-repo:before,.ion-fork:before,.ion-forward:before,.ion-funnel:before,.ion-gear-a:before,.ion-gear-b:before,.ion-grid:before,.ion-hammer:before,.ion-happy-outline:before,.ion-happy:before,.ion-headphone:before,.ion-heart-broken:before,.ion-heart:before,.ion-help-buoy:before,.ion-help-circled:before,.ion-help:before,.ion-home:before,.ion-icecream:before,.ion-image:before,.ion-images:before,.ion-information-circled:before,.ion-information:before,.ion-ionic:before,.ion-ios-alarm-outline:before,.ion-ios-alarm:before,.ion-ios-albums-outline:before,.ion-ios-albums:before,.ion-ios-americanfootball-outline:before,.ion-ios-americanfootball:before,.ion-ios-analytics-outline:before,.ion-ios-analytics:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-left:before,.ion-ios-arrow-right:before,.ion-ios-arrow-thin-down:before,.ion-ios-arrow-thin-left:before,.ion-ios-arrow-thin-right:before,.ion-ios-arrow-thin-up:before,.ion-ios-arrow-up:before,.ion-ios-at-outline:before,.ion-ios-at:before,.ion-ios-barcode-outline:before,.ion-ios-barcode:before,.ion-ios-baseball-outline:before,.ion-ios-baseball:before,.ion-ios-basketball-outline:before,.ion-ios-basketball:before,.ion-ios-bell-outline:before,.ion-ios-bell:before,.ion-ios-body-outline:before,.ion-ios-body:before,.ion-ios-bolt-outline:before,.ion-ios-bolt:before,.ion-ios-book-outline:before,.ion-ios-book:before,.ion-ios-bookmarks-outline:before,.ion-ios-bookmarks:before,.ion-ios-box-outline:before,.ion-ios-box:before,.ion-ios-briefcase-outline:before,.ion-ios-briefcase:before,.ion-ios-browsers-outline:before,.ion-ios-browsers:before,.ion-ios-calculator-outline:before,.ion-ios-calculator:before,.ion-ios-calendar-outline:before,.ion-ios-calendar:before,.ion-ios-camera-outline:before,.ion-ios-camera:before,.ion-ios-cart-outline:before,.ion-ios-cart:before,.ion-ios-chatboxes-outline:before,.ion-ios-chatboxes:before,.ion-ios-chatbubble-outline:before,.ion-ios-chatbubble:before,.ion-ios-checkmark-empty:before,.ion-ios-checkmark-outline:before,.ion-ios-checkmark:before,.ion-ios-circle-filled:before,.ion-ios-circle-outline:before,.ion-ios-clock-outline:before,.ion-ios-clock:before,.ion-ios-close-empty:before,.ion-ios-close-outline:before,.ion-ios-close:before,.ion-ios-cloud-download-outline:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloud:before,.ion-ios-cloudy-night-outline:before,.ion-ios-cloudy-night:before,.ion-ios-cloudy-outline:before,.ion-ios-cloudy:before,.ion-ios-cog-outline:before,.ion-ios-cog:before,.ion-ios-color-filter-outline:before,.ion-ios-color-filter:before,.ion-ios-color-wand-outline:before,.ion-ios-color-wand:before,.ion-ios-compose-outline:before,.ion-ios-compose:before,.ion-ios-contact-outline:before,.ion-ios-contact:before,.ion-ios-copy-outline:before,.ion-ios-copy:before,.ion-ios-crop-strong:before,.ion-ios-crop:before,.ion-ios-download-outline:before,.ion-ios-download:before,.ion-ios-drag:before,.ion-ios-email-outline:before,.ion-ios-email:before,.ion-ios-eye-outline:before,.ion-ios-eye:before,.ion-ios-fastforward-outline:before,.ion-ios-fastforward:before,.ion-ios-filing-outline:before,.ion-ios-filing:before,.ion-ios-film-outline:before,.ion-ios-film:before,.ion-ios-flag-outline:before,.ion-ios-flag:before,.ion-ios-flame-outline:before,.ion-ios-flame:before,.ion-ios-flask-outline:before,.ion-ios-flask:before,.ion-ios-flower-outline:before,.ion-ios-flower:before,.ion-ios-folder-outline:before,.ion-ios-folder:before,.ion-ios-football-outline:before,.ion-ios-football:before,.ion-ios-game-controller-a-outline:before,.ion-ios-game-controller-a:before,.ion-ios-game-controller-b-outline:before,.ion-ios-game-controller-b:before,.ion-ios-gear-outline:before,.ion-ios-gear:before,.ion-ios-glasses-outline:before,.ion-ios-glasses:before,.ion-ios-grid-view-outline:before,.ion-ios-grid-view:before,.ion-ios-heart-outline:before,.ion-ios-heart:before,.ion-ios-help-empty:before,.ion-ios-help-outline:before,.ion-ios-help:before,.ion-ios-home-outline:before,.ion-ios-home:before,.ion-ios-infinite-outline:before,.ion-ios-infinite:before,.ion-ios-information-empty:before,.ion-ios-information-outline:before,.ion-ios-information:before,.ion-ios-ionic-outline:before,.ion-ios-keypad-outline:before,.ion-ios-keypad:before,.ion-ios-lightbulb-outline:before,.ion-ios-lightbulb:before,.ion-ios-list-outline:before,.ion-ios-list:before,.ion-ios-location-outline:before,.ion-ios-location:before,.ion-ios-locked-outline:before,.ion-ios-locked:before,.ion-ios-loop-strong:before,.ion-ios-loop:before,.ion-ios-medical-outline:before,.ion-ios-medical:before,.ion-ios-medkit-outline:before,.ion-ios-medkit:before,.ion-ios-mic-off:before,.ion-ios-mic-outline:before,.ion-ios-mic:before,.ion-ios-minus-empty:before,.ion-ios-minus-outline:before,.ion-ios-minus:before,.ion-ios-monitor-outline:before,.ion-ios-monitor:before,.ion-ios-moon-outline:before,.ion-ios-moon:before,.ion-ios-more-outline:before,.ion-ios-more:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate-outline:before,.ion-ios-navigate:before,.ion-ios-nutrition-outline:before,.ion-ios-nutrition:before,.ion-ios-paper-outline:before,.ion-ios-paper:before,.ion-ios-paperplane-outline:before,.ion-ios-paperplane:before,.ion-ios-partlysunny-outline:before,.ion-ios-partlysunny:before,.ion-ios-pause-outline:before,.ion-ios-pause:before,.ion-ios-paw-outline:before,.ion-ios-paw:before,.ion-ios-people-outline:before,.ion-ios-people:before,.ion-ios-person-outline:before,.ion-ios-person:before,.ion-ios-personadd-outline:before,.ion-ios-personadd:before,.ion-ios-photos-outline:before,.ion-ios-photos:before,.ion-ios-pie-outline:before,.ion-ios-pie:before,.ion-ios-pint-outline:before,.ion-ios-pint:before,.ion-ios-play-outline:before,.ion-ios-play:before,.ion-ios-plus-empty:before,.ion-ios-plus-outline:before,.ion-ios-plus:before,.ion-ios-pricetag-outline:before,.ion-ios-pricetag:before,.ion-ios-pricetags-outline:before,.ion-ios-pricetags:before,.ion-ios-printer-outline:before,.ion-ios-printer:before,.ion-ios-pulse-strong:before,.ion-ios-pulse:before,.ion-ios-rainy-outline:before,.ion-ios-rainy:before,.ion-ios-recording-outline:before,.ion-ios-recording:before,.ion-ios-redo-outline:before,.ion-ios-redo:before,.ion-ios-refresh-empty:before,.ion-ios-refresh-outline:before,.ion-ios-refresh:before,.ion-ios-reload:before,.ion-ios-reverse-camera-outline:before,.ion-ios-reverse-camera:before,.ion-ios-rewind-outline:before,.ion-ios-rewind:before,.ion-ios-rose-outline:before,.ion-ios-rose:before,.ion-ios-search-strong:before,.ion-ios-search:before,.ion-ios-settings-strong:before,.ion-ios-settings:before,.ion-ios-shuffle-strong:before,.ion-ios-shuffle:before,.ion-ios-skipbackward-outline:before,.ion-ios-skipbackward:before,.ion-ios-skipforward-outline:before,.ion-ios-skipforward:before,.ion-ios-snowy:before,.ion-ios-speedometer-outline:before,.ion-ios-speedometer:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-star:before,.ion-ios-stopwatch-outline:before,.ion-ios-stopwatch:before,.ion-ios-sunny-outline:before,.ion-ios-sunny:before,.ion-ios-telephone-outline:before,.ion-ios-telephone:before,.ion-ios-tennisball-outline:before,.ion-ios-tennisball:before,.ion-ios-thunderstorm-outline:before,.ion-ios-thunderstorm:before,.ion-ios-time-outline:before,.ion-ios-time:before,.ion-ios-timer-outline:before,.ion-ios-timer:before,.ion-ios-toggle-outline:before,.ion-ios-toggle:before,.ion-ios-trash-outline:before,.ion-ios-trash:before,.ion-ios-undo-outline:before,.ion-ios-undo:before,.ion-ios-unlocked-outline:before,.ion-ios-unlocked:before,.ion-ios-upload-outline:before,.ion-ios-upload:before,.ion-ios-videocam-outline:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-wineglass-outline:before,.ion-ios-wineglass:before,.ion-ios-world-outline:before,.ion-ios-world:before,.ion-ipad:before,.ion-iphone:before,.ion-ipod:before,.ion-jet:before,.ion-key:before,.ion-knife:before,.ion-laptop:before,.ion-leaf:before,.ion-levels:before,.ion-lightbulb:before,.ion-link:before,.ion-load-a:before,.ion-load-b:before,.ion-load-c:before,.ion-load-d:before,.ion-location:before,.ion-lock-combination:before,.ion-locked:before,.ion-log-in:before,.ion-log-out:before,.ion-loop:before,.ion-magnet:before,.ion-male:before,.ion-man:before,.ion-map:before,.ion-medkit:before,.ion-merge:before,.ion-mic-a:before,.ion-mic-b:before,.ion-mic-c:before,.ion-minus-circled:before,.ion-minus-round:before,.ion-minus:before,.ion-model-s:before,.ion-monitor:before,.ion-more:before,.ion-mouse:before,.ion-music-note:before,.ion-navicon-round:before,.ion-navicon:before,.ion-navigate:before,.ion-network:before,.ion-no-smoking:before,.ion-nuclear:before,.ion-outlet:before,.ion-paintbrush:before,.ion-paintbucket:before,.ion-paper-airplane:before,.ion-paperclip:before,.ion-pause:before,.ion-person-add:before,.ion-person-stalker:before,.ion-person:before,.ion-pie-graph:before,.ion-pin:before,.ion-pinpoint:before,.ion-pizza:before,.ion-plane:before,.ion-planet:before,.ion-play:before,.ion-playstation:before,.ion-plus-circled:before,.ion-plus-round:before,.ion-plus:before,.ion-podium:before,.ion-pound:before,.ion-power:before,.ion-pricetag:before,.ion-pricetags:before,.ion-printer:before,.ion-pull-request:before,.ion-qr-scanner:before,.ion-quote:before,.ion-radio-waves:before,.ion-record:before,.ion-refresh:before,.ion-reply-all:before,.ion-reply:before,.ion-ribbon-a:before,.ion-ribbon-b:before,.ion-sad-outline:before,.ion-sad:before,.ion-scissors:before,.ion-search:before,.ion-settings:before,.ion-share:before,.ion-shuffle:before,.ion-skip-backward:before,.ion-skip-forward:before,.ion-social-android-outline:before,.ion-social-android:before,.ion-social-angular-outline:before,.ion-social-angular:before,.ion-social-apple-outline:before,.ion-social-apple:before,.ion-social-bitcoin-outline:before,.ion-social-bitcoin:before,.ion-social-buffer-outline:before,.ion-social-buffer:before,.ion-social-chrome-outline:before,.ion-social-chrome:before,.ion-social-codepen-outline:before,.ion-social-codepen:before,.ion-social-css3-outline:before,.ion-social-css3:before,.ion-social-designernews-outline:before,.ion-social-designernews:before,.ion-social-dribbble-outline:before,.ion-social-dribbble:before,.ion-social-dropbox-outline:before,.ion-social-dropbox:before,.ion-social-euro-outline:before,.ion-social-euro:before,.ion-social-facebook-outline:before,.ion-social-facebook:before,.ion-social-foursquare-outline:before,.ion-social-foursquare:before,.ion-social-freebsd-devil:before,.ion-social-github-outline:before,.ion-social-github:before,.ion-social-google-outline:before,.ion-social-google:before,.ion-social-googleplus-outline:before,.ion-social-googleplus:before,.ion-social-hackernews-outline:before,.ion-social-hackernews:before,.ion-social-html5-outline:before,.ion-social-html5:before,.ion-social-instagram-outline:before,.ion-social-instagram:before,.ion-social-javascript-outline:before,.ion-social-javascript:before,.ion-social-linkedin-outline:before,.ion-social-linkedin:before,.ion-social-markdown:before,.ion-social-nodejs:before,.ion-social-octocat:before,.ion-social-pinterest-outline:before,.ion-social-pinterest:before,.ion-social-python:before,.ion-social-reddit-outline:before,.ion-social-reddit:before,.ion-social-rss-outline:before,.ion-social-rss:before,.ion-social-sass:before,.ion-social-skype-outline:before,.ion-social-skype:before,.ion-social-snapchat-outline:before,.ion-social-snapchat:before,.ion-social-tumblr-outline:before,.ion-social-tumblr:before,.ion-social-tux:before,.ion-social-twitch-outline:before,.ion-social-twitch:before,.ion-social-twitter-outline:before,.ion-social-twitter:before,.ion-social-usd-outline:before,.ion-social-usd:before,.ion-social-vimeo-outline:before,.ion-social-vimeo:before,.ion-social-whatsapp-outline:before,.ion-social-whatsapp:before,.ion-social-windows-outline:before,.ion-social-windows:before,.ion-social-wordpress-outline:before,.ion-social-wordpress:before,.ion-social-yahoo-outline:before,.ion-social-yahoo:before,.ion-social-yen-outline:before,.ion-social-yen:before,.ion-social-youtube-outline:before,.ion-social-youtube:before,.ion-soup-can-outline:before,.ion-soup-can:before,.ion-speakerphone:before,.ion-speedometer:before,.ion-spoon:before,.ion-star:before,.ion-stats-bars:before,.ion-steam:before,.ion-stop:before,.ion-thermometer:before,.ion-thumbsdown:before,.ion-thumbsup:before,.ion-toggle-filled:before,.ion-toggle:before,.ion-transgender:before,.ion-trash-a:before,.ion-trash-b:before,.ion-trophy:before,.ion-tshirt-outline:before,.ion-tshirt:before,.ion-umbrella:before,.ion-university:before,.ion-unlocked:before,.ion-upload:before,.ion-usb:before,.ion-videocamera:before,.ion-volume-high:before,.ion-volume-low:before,.ion-volume-medium:before,.ion-volume-mute:before,.ion-wand:before,.ion-waterdrop:before,.ion-wifi:before,.ion-wineglass:before,.ion-woman:before,.ion-wrench:before,.ion-xbox:before,.ionicons{display:inline-block;font-family:Ionicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-alert:before{content:""}.ion-alert-circled:before{content:""}.ion-android-add:before{content:""}.ion-android-add-circle:before{content:""}.ion-android-alarm-clock:before{content:""}.ion-android-alert:before{content:""}.ion-android-apps:before{content:""}.ion-android-archive:before{content:""}.ion-android-arrow-back:before{content:""}.ion-android-arrow-down:before{content:""}.ion-android-arrow-dropdown:before{content:""}.ion-android-arrow-dropdown-circle:before{content:""}.ion-android-arrow-dropleft:before{content:""}.ion-android-arrow-dropleft-circle:before{content:""}.ion-android-arrow-dropright:before{content:""}.ion-android-arrow-dropright-circle:before{content:""}.ion-android-arrow-dropup:before{content:""}.ion-android-arrow-dropup-circle:before{content:""}.ion-android-arrow-forward:before{content:""}.ion-android-arrow-up:before{content:""}.ion-android-attach:before{content:""}.ion-android-bar:before{content:""}.ion-android-bicycle:before{content:""}.ion-android-boat:before{content:""}.ion-android-bookmark:before{content:""}.ion-android-bulb:before{content:""}.ion-android-bus:before{content:""}.ion-android-calendar:before{content:""}.ion-android-call:before{content:""}.ion-android-camera:before{content:""}.ion-android-cancel:before{content:""}.ion-android-car:before{content:""}.ion-android-cart:before{content:""}.ion-android-chat:before{content:""}.ion-android-checkbox:before{content:""}.ion-android-checkbox-blank:before{content:""}.ion-android-checkbox-outline:before{content:""}.ion-android-checkbox-outline-blank:before{content:""}.ion-android-checkmark-circle:before{content:""}.ion-android-clipboard:before{content:""}.ion-android-close:before{content:""}.ion-android-cloud:before{content:""}.ion-android-cloud-circle:before{content:""}.ion-android-cloud-done:before{content:""}.ion-android-cloud-outline:before{content:""}.ion-android-color-palette:before{content:""}.ion-android-compass:before{content:""}.ion-android-contact:before{content:""}.ion-android-contacts:before{content:""}.ion-android-contract:before{content:""}.ion-android-create:before{content:""}.ion-android-delete:before{content:""}.ion-android-desktop:before{content:""}.ion-android-document:before{content:""}.ion-android-done:before{content:""}.ion-android-done-all:before{content:""}.ion-android-download:before{content:""}.ion-android-drafts:before{content:""}.ion-android-exit:before{content:""}.ion-android-expand:before{content:""}.ion-android-favorite:before{content:""}.ion-android-favorite-outline:before{content:""}.ion-android-film:before{content:""}.ion-android-folder:before{content:""}.ion-android-folder-open:before{content:""}.ion-android-funnel:before{content:""}.ion-android-globe:before{content:""}.ion-android-hand:before{content:""}.ion-android-hangout:before{content:""}.ion-android-happy:before{content:""}.ion-android-home:before{content:""}.ion-android-image:before{content:""}.ion-android-laptop:before{content:""}.ion-android-list:before{content:""}.ion-android-locate:before{content:""}.ion-android-lock:before{content:""}.ion-android-mail:before{content:""}.ion-android-map:before{content:""}.ion-android-menu:before{content:""}.ion-android-microphone:before{content:""}.ion-android-microphone-off:before{content:""}.ion-android-more-horizontal:before{content:""}.ion-android-more-vertical:before{content:""}.ion-android-navigate:before{content:""}.ion-android-notifications:before{content:""}.ion-android-notifications-none:before{content:""}.ion-android-notifications-off:before{content:""}.ion-android-open:before{content:""}.ion-android-options:before{content:""}.ion-android-people:before{content:""}.ion-android-person:before{content:""}.ion-android-person-add:before{content:""}.ion-android-phone-landscape:before{content:""}.ion-android-phone-portrait:before{content:""}.ion-android-pin:before{content:""}.ion-android-plane:before{content:""}.ion-android-playstore:before{content:""}.ion-android-print:before{content:""}.ion-android-radio-button-off:before{content:""}.ion-android-radio-button-on:before{content:""}.ion-android-refresh:before{content:""}.ion-android-remove:before{content:""}.ion-android-remove-circle:before{content:""}.ion-android-restaurant:before{content:""}.ion-android-sad:before{content:""}.ion-android-search:before{content:""}.ion-android-send:before{content:""}.ion-android-settings:before{content:""}.ion-android-share:before{content:""}.ion-android-share-alt:before{content:""}.ion-android-star:before{content:""}.ion-android-star-half:before{content:""}.ion-android-star-outline:before{content:""}.ion-android-stopwatch:before{content:""}.ion-android-subway:before{content:""}.ion-android-sunny:before{content:""}.ion-android-sync:before{content:""}.ion-android-textsms:before{content:""}.ion-android-time:before{content:""}.ion-android-train:before{content:""}.ion-android-unlock:before{content:""}.ion-android-upload:before{content:""}.ion-android-volume-down:before{content:""}.ion-android-volume-mute:before{content:""}.ion-android-volume-off:before{content:""}.ion-android-volume-up:before{content:""}.ion-android-walk:before{content:""}.ion-android-warning:before{content:""}.ion-android-watch:before{content:""}.ion-android-wifi:before{content:""}.ion-aperture:before{content:""}.ion-archive:before{content:""}.ion-arrow-down-a:before{content:""}.ion-arrow-down-b:before{content:""}.ion-arrow-down-c:before{content:""}.ion-arrow-expand:before{content:""}.ion-arrow-graph-down-left:before{content:""}.ion-arrow-graph-down-right:before{content:""}.ion-arrow-graph-up-left:before{content:""}.ion-arrow-graph-up-right:before{content:""}.ion-arrow-left-a:before{content:""}.ion-arrow-left-b:before{content:""}.ion-arrow-left-c:before{content:""}.ion-arrow-move:before{content:""}.ion-arrow-resize:before{content:""}.ion-arrow-return-left:before{content:""}.ion-arrow-return-right:before{content:""}.ion-arrow-right-a:before{content:""}.ion-arrow-right-b:before{content:""}.ion-arrow-right-c:before{content:""}.ion-arrow-shrink:before{content:""}.ion-arrow-swap:before{content:""}.ion-arrow-up-a:before{content:""}.ion-arrow-up-b:before{content:""}.ion-arrow-up-c:before{content:""}.ion-asterisk:before{content:""}.ion-at:before{content:""}.ion-backspace:before{content:""}.ion-backspace-outline:before{content:""}.ion-bag:before{content:""}.ion-battery-charging:before{content:""}.ion-battery-empty:before{content:""}.ion-battery-full:before{content:""}.ion-battery-half:before{content:""}.ion-battery-low:before{content:""}.ion-beaker:before{content:""}.ion-beer:before{content:""}.ion-bluetooth:before{content:""}.ion-bonfire:before{content:""}.ion-bookmark:before{content:""}.ion-bowtie:before{content:""}.ion-briefcase:before{content:""}.ion-bug:before{content:""}.ion-calculator:before{content:""}.ion-calendar:before{content:""}.ion-camera:before{content:""}.ion-card:before{content:""}.ion-cash:before{content:""}.ion-chatbox:before{content:""}.ion-chatbox-working:before{content:""}.ion-chatboxes:before{content:""}.ion-chatbubble:before{content:""}.ion-chatbubble-working:before{content:""}.ion-chatbubbles:before{content:""}.ion-checkmark:before{content:""}.ion-checkmark-circled:before{content:""}.ion-checkmark-round:before{content:""}.ion-chevron-down:before{content:""}.ion-chevron-left:before{content:""}.ion-chevron-right:before{content:""}.ion-chevron-up:before{content:""}.ion-clipboard:before{content:""}.ion-clock:before{content:""}.ion-close:before{content:""}.ion-close-circled:before{content:""}.ion-close-round:before{content:""}.ion-closed-captioning:before{content:""}.ion-cloud:before{content:""}.ion-code:before{content:""}.ion-code-download:before{content:""}.ion-code-working:before{content:""}.ion-coffee:before{content:""}.ion-compass:before{content:""}.ion-compose:before{content:""}.ion-connection-bars:before{content:""}.ion-contrast:before{content:""}.ion-crop:before{content:""}.ion-cube:before{content:""}.ion-disc:before{content:""}.ion-document:before{content:""}.ion-document-text:before{content:""}.ion-drag:before{content:""}.ion-earth:before{content:""}.ion-easel:before{content:""}.ion-edit:before{content:""}.ion-egg:before{content:""}.ion-eject:before{content:""}.ion-email:before{content:""}.ion-email-unread:before{content:""}.ion-erlenmeyer-flask:before{content:""}.ion-erlenmeyer-flask-bubbles:before{content:""}.ion-eye:before{content:""}.ion-eye-disabled:before{content:""}.ion-female:before{content:""}.ion-filing:before{content:""}.ion-film-marker:before{content:""}.ion-fireball:before{content:""}.ion-flag:before{content:""}.ion-flame:before{content:""}.ion-flash:before{content:""}.ion-flash-off:before{content:""}.ion-folder:before{content:""}.ion-fork:before{content:""}.ion-fork-repo:before{content:""}.ion-forward:before{content:""}.ion-funnel:before{content:""}.ion-gear-a:before{content:""}.ion-gear-b:before{content:""}.ion-grid:before{content:""}.ion-hammer:before{content:""}.ion-happy:before{content:""}.ion-happy-outline:before{content:""}.ion-headphone:before{content:""}.ion-heart:before{content:""}.ion-heart-broken:before{content:""}.ion-help:before{content:""}.ion-help-buoy:before{content:""}.ion-help-circled:before{content:""}.ion-home:before{content:""}.ion-icecream:before{content:""}.ion-image:before{content:""}.ion-images:before{content:""}.ion-information:before{content:""}.ion-information-circled:before{content:""}.ion-ionic:before{content:""}.ion-ios-alarm:before{content:""}.ion-ios-alarm-outline:before{content:""}.ion-ios-albums:before{content:""}.ion-ios-albums-outline:before{content:""}.ion-ios-americanfootball:before{content:""}.ion-ios-americanfootball-outline:before{content:""}.ion-ios-analytics:before{content:""}.ion-ios-analytics-outline:before{content:""}.ion-ios-arrow-back:before{content:""}.ion-ios-arrow-down:before{content:""}.ion-ios-arrow-forward:before{content:""}.ion-ios-arrow-left:before{content:""}.ion-ios-arrow-right:before{content:""}.ion-ios-arrow-thin-down:before{content:""}.ion-ios-arrow-thin-left:before{content:""}.ion-ios-arrow-thin-right:before{content:""}.ion-ios-arrow-thin-up:before{content:""}.ion-ios-arrow-up:before{content:""}.ion-ios-at:before{content:""}.ion-ios-at-outline:before{content:""}.ion-ios-barcode:before{content:""}.ion-ios-barcode-outline:before{content:""}.ion-ios-baseball:before{content:""}.ion-ios-baseball-outline:before{content:""}.ion-ios-basketball:before{content:""}.ion-ios-basketball-outline:before{content:""}.ion-ios-bell:before{content:""}.ion-ios-bell-outline:before{content:""}.ion-ios-body:before{content:""}.ion-ios-body-outline:before{content:""}.ion-ios-bolt:before{content:""}.ion-ios-bolt-outline:before{content:""}.ion-ios-book:before{content:""}.ion-ios-book-outline:before{content:""}.ion-ios-bookmarks:before{content:""}.ion-ios-bookmarks-outline:before{content:""}.ion-ios-box:before{content:""}.ion-ios-box-outline:before{content:""}.ion-ios-briefcase:before{content:""}.ion-ios-briefcase-outline:before{content:""}.ion-ios-browsers:before{content:""}.ion-ios-browsers-outline:before{content:""}.ion-ios-calculator:before{content:""}.ion-ios-calculator-outline:before{content:""}.ion-ios-calendar:before{content:""}.ion-ios-calendar-outline:before{content:""}.ion-ios-camera:before{content:""}.ion-ios-camera-outline:before{content:""}.ion-ios-cart:before{content:""}.ion-ios-cart-outline:before{content:""}.ion-ios-chatboxes:before{content:""}.ion-ios-chatboxes-outline:before{content:""}.ion-ios-chatbubble:before{content:""}.ion-ios-chatbubble-outline:before{content:""}.ion-ios-checkmark:before{content:""}.ion-ios-checkmark-empty:before{content:""}.ion-ios-checkmark-outline:before{content:""}.ion-ios-circle-filled:before{content:""}.ion-ios-circle-outline:before{content:""}.ion-ios-clock:before{content:""}.ion-ios-clock-outline:before{content:""}.ion-ios-close:before{content:""}.ion-ios-close-empty:before{content:""}.ion-ios-close-outline:before{content:""}.ion-ios-cloud:before{content:""}.ion-ios-cloud-download:before{content:""}.ion-ios-cloud-download-outline:before{content:""}.ion-ios-cloud-outline:before{content:""}.ion-ios-cloud-upload:before{content:""}.ion-ios-cloud-upload-outline:before{content:""}.ion-ios-cloudy:before{content:""}.ion-ios-cloudy-night:before{content:""}.ion-ios-cloudy-night-outline:before{content:""}.ion-ios-cloudy-outline:before{content:""}.ion-ios-cog:before{content:""}.ion-ios-cog-outline:before{content:""}.ion-ios-color-filter:before{content:""}.ion-ios-color-filter-outline:before{content:""}.ion-ios-color-wand:before{content:""}.ion-ios-color-wand-outline:before{content:""}.ion-ios-compose:before{content:""}.ion-ios-compose-outline:before{content:""}.ion-ios-contact:before{content:""}.ion-ios-contact-outline:before{content:""}.ion-ios-copy:before{content:""}.ion-ios-copy-outline:before{content:""}.ion-ios-crop:before{content:""}.ion-ios-crop-strong:before{content:""}.ion-ios-download:before{content:""}.ion-ios-download-outline:before{content:""}.ion-ios-drag:before{content:""}.ion-ios-email:before{content:""}.ion-ios-email-outline:before{content:""}.ion-ios-eye:before{content:""}.ion-ios-eye-outline:before{content:""}.ion-ios-fastforward:before{content:""}.ion-ios-fastforward-outline:before{content:""}.ion-ios-filing:before{content:""}.ion-ios-filing-outline:before{content:""}.ion-ios-film:before{content:""}.ion-ios-film-outline:before{content:""}.ion-ios-flag:before{content:""}.ion-ios-flag-outline:before{content:""}.ion-ios-flame:before{content:""}.ion-ios-flame-outline:before{content:""}.ion-ios-flask:before{content:""}.ion-ios-flask-outline:before{content:""}.ion-ios-flower:before{content:""}.ion-ios-flower-outline:before{content:""}.ion-ios-folder:before{content:""}.ion-ios-folder-outline:before{content:""}.ion-ios-football:before{content:""}.ion-ios-football-outline:before{content:""}.ion-ios-game-controller-a:before{content:""}.ion-ios-game-controller-a-outline:before{content:""}.ion-ios-game-controller-b:before{content:""}.ion-ios-game-controller-b-outline:before{content:""}.ion-ios-gear:before{content:""}.ion-ios-gear-outline:before{content:""}.ion-ios-glasses:before{content:""}.ion-ios-glasses-outline:before{content:""}.ion-ios-grid-view:before{content:""}.ion-ios-grid-view-outline:before{content:""}.ion-ios-heart:before{content:""}.ion-ios-heart-outline:before{content:""}.ion-ios-help:before{content:""}.ion-ios-help-empty:before{content:""}.ion-ios-help-outline:before{content:""}.ion-ios-home:before{content:""}.ion-ios-home-outline:before{content:""}.ion-ios-infinite:before{content:""}.ion-ios-infinite-outline:before{content:""}.ion-ios-information:before{content:""}.ion-ios-information-empty:before{content:""}.ion-ios-information-outline:before{content:""}.ion-ios-ionic-outline:before{content:""}.ion-ios-keypad:before{content:""}.ion-ios-keypad-outline:before{content:""}.ion-ios-lightbulb:before{content:""}.ion-ios-lightbulb-outline:before{content:""}.ion-ios-list:before{content:""}.ion-ios-list-outline:before{content:""}.ion-ios-location:before{content:""}.ion-ios-location-outline:before{content:""}.ion-ios-locked:before{content:""}.ion-ios-locked-outline:before{content:""}.ion-ios-loop:before{content:""}.ion-ios-loop-strong:before{content:""}.ion-ios-medical:before{content:""}.ion-ios-medical-outline:before{content:""}.ion-ios-medkit:before{content:""}.ion-ios-medkit-outline:before{content:""}.ion-ios-mic:before{content:""}.ion-ios-mic-off:before{content:""}.ion-ios-mic-outline:before{content:""}.ion-ios-minus:before{content:""}.ion-ios-minus-empty:before{content:""}.ion-ios-minus-outline:before{content:""}.ion-ios-monitor:before{content:""}.ion-ios-monitor-outline:before{content:""}.ion-ios-moon:before{content:""}.ion-ios-moon-outline:before{content:""}.ion-ios-more:before{content:""}.ion-ios-more-outline:before{content:""}.ion-ios-musical-note:before{content:""}.ion-ios-musical-notes:before{content:""}.ion-ios-navigate:before{content:""}.ion-ios-navigate-outline:before{content:""}.ion-ios-nutrition:before{content:""}.ion-ios-nutrition-outline:before{content:""}.ion-ios-paper:before{content:""}.ion-ios-paper-outline:before{content:""}.ion-ios-paperplane:before{content:""}.ion-ios-paperplane-outline:before{content:""}.ion-ios-partlysunny:before{content:""}.ion-ios-partlysunny-outline:before{content:""}.ion-ios-pause:before{content:""}.ion-ios-pause-outline:before{content:""}.ion-ios-paw:before{content:""}.ion-ios-paw-outline:before{content:""}.ion-ios-people:before{content:""}.ion-ios-people-outline:before{content:""}.ion-ios-person:before{content:""}.ion-ios-person-outline:before{content:""}.ion-ios-personadd:before{content:""}.ion-ios-personadd-outline:before{content:""}.ion-ios-photos:before{content:""}.ion-ios-photos-outline:before{content:""}.ion-ios-pie:before{content:""}.ion-ios-pie-outline:before{content:""}.ion-ios-pint:before{content:""}.ion-ios-pint-outline:before{content:""}.ion-ios-play:before{content:""}.ion-ios-play-outline:before{content:""}.ion-ios-plus:before{content:""}.ion-ios-plus-empty:before{content:""}.ion-ios-plus-outline:before{content:""}.ion-ios-pricetag:before{content:""}.ion-ios-pricetag-outline:before{content:""}.ion-ios-pricetags:before{content:""}.ion-ios-pricetags-outline:before{content:""}.ion-ios-printer:before{content:""}.ion-ios-printer-outline:before{content:""}.ion-ios-pulse:before{content:""}.ion-ios-pulse-strong:before{content:""}.ion-ios-rainy:before{content:""}.ion-ios-rainy-outline:before{content:""}.ion-ios-recording:before{content:""}.ion-ios-recording-outline:before{content:""}.ion-ios-redo:before{content:""}.ion-ios-redo-outline:before{content:""}.ion-ios-refresh:before{content:""}.ion-ios-refresh-empty:before{content:""}.ion-ios-refresh-outline:before{content:""}.ion-ios-reload:before{content:""}.ion-ios-reverse-camera:before{content:""}.ion-ios-reverse-camera-outline:before{content:""}.ion-ios-rewind:before{content:""}.ion-ios-rewind-outline:before{content:""}.ion-ios-rose:before{content:""}.ion-ios-rose-outline:before{content:""}.ion-ios-search:before{content:""}.ion-ios-search-strong:before{content:""}.ion-ios-settings:before{content:""}.ion-ios-settings-strong:before{content:""}.ion-ios-shuffle:before{content:""}.ion-ios-shuffle-strong:before{content:""}.ion-ios-skipbackward:before{content:""}.ion-ios-skipbackward-outline:before{content:""}.ion-ios-skipforward:before{content:""}.ion-ios-skipforward-outline:before{content:""}.ion-ios-snowy:before{content:""}.ion-ios-speedometer:before{content:""}.ion-ios-speedometer-outline:before{content:""}.ion-ios-star:before{content:""}.ion-ios-star-half:before{content:""}.ion-ios-star-outline:before{content:""}.ion-ios-stopwatch:before{content:""}.ion-ios-stopwatch-outline:before{content:""}.ion-ios-sunny:before{content:""}.ion-ios-sunny-outline:before{content:""}.ion-ios-telephone:before{content:""}.ion-ios-telephone-outline:before{content:""}.ion-ios-tennisball:before{content:""}.ion-ios-tennisball-outline:before{content:""}.ion-ios-thunderstorm:before{content:""}.ion-ios-thunderstorm-outline:before{content:""}.ion-ios-time:before{content:""}.ion-ios-time-outline:before{content:""}.ion-ios-timer:before{content:""}.ion-ios-timer-outline:before{content:""}.ion-ios-toggle:before{content:""}.ion-ios-toggle-outline:before{content:""}.ion-ios-trash:before{content:""}.ion-ios-trash-outline:before{content:""}.ion-ios-undo:before{content:""}.ion-ios-undo-outline:before{content:""}.ion-ios-unlocked:before{content:""}.ion-ios-unlocked-outline:before{content:""}.ion-ios-upload:before{content:""}.ion-ios-upload-outline:before{content:""}.ion-ios-videocam:before{content:""}.ion-ios-videocam-outline:before{content:""}.ion-ios-volume-high:before{content:""}.ion-ios-volume-low:before{content:""}.ion-ios-wineglass:before{content:""}.ion-ios-wineglass-outline:before{content:""}.ion-ios-world:before{content:""}.ion-ios-world-outline:before{content:""}.ion-ipad:before{content:""}.ion-iphone:before{content:""}.ion-ipod:before{content:""}.ion-jet:before{content:""}.ion-key:before{content:""}.ion-knife:before{content:""}.ion-laptop:before{content:""}.ion-leaf:before{content:""}.ion-levels:before{content:""}.ion-lightbulb:before{content:""}.ion-link:before{content:""}.ion-load-a:before{content:""}.ion-load-b:before{content:""}.ion-load-c:before{content:""}.ion-load-d:before{content:""}.ion-location:before{content:""}.ion-lock-combination:before{content:""}.ion-locked:before{content:""}.ion-log-in:before{content:""}.ion-log-out:before{content:""}.ion-loop:before{content:""}.ion-magnet:before{content:""}.ion-male:before{content:""}.ion-man:before{content:""}.ion-map:before{content:""}.ion-medkit:before{content:""}.ion-merge:before{content:""}.ion-mic-a:before{content:""}.ion-mic-b:before{content:""}.ion-mic-c:before{content:""}.ion-minus:before{content:""}.ion-minus-circled:before{content:""}.ion-minus-round:before{content:""}.ion-model-s:before{content:""}.ion-monitor:before{content:""}.ion-more:before{content:""}.ion-mouse:before{content:""}.ion-music-note:before{content:""}.ion-navicon:before{content:""}.ion-navicon-round:before{content:""}.ion-navigate:before{content:""}.ion-network:before{content:""}.ion-no-smoking:before{content:""}.ion-nuclear:before{content:""}.ion-outlet:before{content:""}.ion-paintbrush:before{content:""}.ion-paintbucket:before{content:""}.ion-paper-airplane:before{content:""}.ion-paperclip:before{content:""}.ion-pause:before{content:""}.ion-person:before{content:""}.ion-person-add:before{content:""}.ion-person-stalker:before{content:""}.ion-pie-graph:before{content:""}.ion-pin:before{content:""}.ion-pinpoint:before{content:""}.ion-pizza:before{content:""}.ion-plane:before{content:""}.ion-planet:before{content:""}.ion-play:before{content:""}.ion-playstation:before{content:""}.ion-plus:before{content:""}.ion-plus-circled:before{content:""}.ion-plus-round:before{content:""}.ion-podium:before{content:""}.ion-pound:before{content:""}.ion-power:before{content:""}.ion-pricetag:before{content:""}.ion-pricetags:before{content:""}.ion-printer:before{content:""}.ion-pull-request:before{content:""}.ion-qr-scanner:before{content:""}.ion-quote:before{content:""}.ion-radio-waves:before{content:""}.ion-record:before{content:""}.ion-refresh:before{content:""}.ion-reply:before{content:""}.ion-reply-all:before{content:""}.ion-ribbon-a:before{content:""}.ion-ribbon-b:before{content:""}.ion-sad:before{content:""}.ion-sad-outline:before{content:""}.ion-scissors:before{content:""}.ion-search:before{content:""}.ion-settings:before{content:""}.ion-share:before{content:""}.ion-shuffle:before{content:""}.ion-skip-backward:before{content:""}.ion-skip-forward:before{content:""}.ion-social-android:before{content:""}.ion-social-android-outline:before{content:""}.ion-social-angular:before{content:""}.ion-social-angular-outline:before{content:""}.ion-social-apple:before{content:""}.ion-social-apple-outline:before{content:""}.ion-social-bitcoin:before{content:""}.ion-social-bitcoin-outline:before{content:""}.ion-social-buffer:before{content:""}.ion-social-buffer-outline:before{content:""}.ion-social-chrome:before{content:""}.ion-social-chrome-outline:before{content:""}.ion-social-codepen:before{content:""}.ion-social-codepen-outline:before{content:""}.ion-social-css3:before{content:""}.ion-social-css3-outline:before{content:""}.ion-social-designernews:before{content:""}.ion-social-designernews-outline:before{content:""}.ion-social-dribbble:before{content:""}.ion-social-dribbble-outline:before{content:""}.ion-social-dropbox:before{content:""}.ion-social-dropbox-outline:before{content:""}.ion-social-euro:before{content:""}.ion-social-euro-outline:before{content:""}.ion-social-facebook:before{content:""}.ion-social-facebook-outline:before{content:""}.ion-social-foursquare:before{content:""}.ion-social-foursquare-outline:before{content:""}.ion-social-freebsd-devil:before{content:""}.ion-social-github:before{content:""}.ion-social-github-outline:before{content:""}.ion-social-google:before{content:""}.ion-social-google-outline:before{content:""}.ion-social-googleplus:before{content:""}.ion-social-googleplus-outline:before{content:""}.ion-social-hackernews:before{content:""}.ion-social-hackernews-outline:before{content:""}.ion-social-html5:before{content:""}.ion-social-html5-outline:before{content:""}.ion-social-instagram:before{content:""}.ion-social-instagram-outline:before{content:""}.ion-social-javascript:before{content:""}.ion-social-javascript-outline:before{content:""}.ion-social-linkedin:before{content:""}.ion-social-linkedin-outline:before{content:""}.ion-social-markdown:before{content:""}.ion-social-nodejs:before{content:""}.ion-social-octocat:before{content:""}.ion-social-pinterest:before{content:""}.ion-social-pinterest-outline:before{content:""}.ion-social-python:before{content:""}.ion-social-reddit:before{content:""}.ion-social-reddit-outline:before{content:""}.ion-social-rss:before{content:""}.ion-social-rss-outline:before{content:""}.ion-social-sass:before{content:""}.ion-social-skype:before{content:""}.ion-social-skype-outline:before{content:""}.ion-social-snapchat:before{content:""}.ion-social-snapchat-outline:before{content:""}.ion-social-tumblr:before{content:""}.ion-social-tumblr-outline:before{content:""}.ion-social-tux:before{content:""}.ion-social-twitch:before{content:""}.ion-social-twitch-outline:before{content:""}.ion-social-twitter:before{content:""}.ion-social-twitter-outline:before{content:""}.ion-social-usd:before{content:""}.ion-social-usd-outline:before{content:""}.ion-social-vimeo:before{content:""}.ion-social-vimeo-outline:before{content:""}.ion-social-whatsapp:before{content:""}.ion-social-whatsapp-outline:before{content:""}.ion-social-windows:before{content:""}.ion-social-windows-outline:before{content:""}.ion-social-wordpress:before{content:""}.ion-social-wordpress-outline:before{content:""}.ion-social-yahoo:before{content:""}.ion-social-yahoo-outline:before{content:""}.ion-social-yen:before{content:""}.ion-social-yen-outline:before{content:""}.ion-social-youtube:before{content:""}.ion-social-youtube-outline:before{content:""}.ion-soup-can:before{content:""}.ion-soup-can-outline:before{content:""}.ion-speakerphone:before{content:""}.ion-speedometer:before{content:""}.ion-spoon:before{content:""}.ion-star:before{content:""}.ion-stats-bars:before{content:""}.ion-steam:before{content:""}.ion-stop:before{content:""}.ion-thermometer:before{content:""}.ion-thumbsdown:before{content:""}.ion-thumbsup:before{content:""}.ion-toggle:before{content:""}.ion-toggle-filled:before{content:""}.ion-transgender:before{content:""}.ion-trash-a:before{content:""}.ion-trash-b:before{content:""}.ion-trophy:before{content:""}.ion-tshirt:before{content:""}.ion-tshirt-outline:before{content:""}.ion-umbrella:before{content:""}.ion-university:before{content:""}.ion-unlocked:before{content:""}.ion-upload:before{content:""}.ion-usb:before{content:""}.ion-videocamera:before{content:""}.ion-volume-high:before{content:""}.ion-volume-low:before{content:""}.ion-volume-medium:before{content:""}.ion-volume-mute:before{content:""}.ion-wand:before{content:""}.ion-waterdrop:before{content:""}.ion-wifi:before{content:""}.ion-wineglass:before{content:""}.ion-woman:before{content:""}.ion-wrench:before{content:""}.ion-xbox:before{content:""}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;vertical-align:baseline;font:inherit;font-size:100%}ol,ul{list-style:none}blockquote,q{quotes:none}audio:not([controls]){display:none;height:0}[hidden],template{display:none}script{display:none!important}html{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}:focus,a,a:active,a:focus,a:hover,button,button:focus{outline:0}a{-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}a[href]:hover{cursor:pointer}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-size:1em;font-family:monospace,serif}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sup{top:-.5em}sub{bottom:-.25em}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}button,input,select,textarea{margin:0;outline-offset:0;outline-style:none;outline-width:0;-webkit-font-smoothing:inherit;background-image:none}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto}img{-webkit-user-drag:none}table{border-spacing:0;border-collapse:collapse}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{overflow:hidden;-ms-touch-action:pan-y;touch-action:pan-y}.ionic-body,body{-webkit-touch-callout:none;-webkit-font-smoothing:antialiased;font-smoothing:antialiased;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0;padding:0;color:#000;word-wrap:break-word;font-size:14px;font-family:-apple-system;font-family:"-apple-system","Helvetica Neue",Roboto,"Segoe UI",sans-serif;line-height:20px;text-rendering:optimizeLegibility;-webkit-backface-visibility:hidden;-webkit-user-drag:none;-ms-content-zooming:none}body.grade-b,body.grade-c{text-rendering:auto}.content{position:relative}.scroll-content{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;margin-top:-1px;padding-top:1px;margin-bottom:-1px;width:auto;height:auto}.menu .scroll-content.scroll-content-false{z-index:11}.scroll-view{position:relative;display:block;overflow:hidden;margin-top:-1px}.scroll-view.overflow-scroll{position:relative}.scroll-view.scroll-x{overflow-x:scroll;overflow-y:hidden}.scroll-view.scroll-y{overflow-x:hidden;overflow-y:scroll}.scroll-view.scroll-xy{overflow-x:scroll;overflow-y:scroll}.scroll{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;-webkit-transform-origin:left top;transform-origin:left top}@-ms-viewport{width:device-width}.scroll-bar{position:absolute;z-index:9999}.ng-animate .scroll-bar{visibility:hidden}.scroll-bar-h{right:2px;bottom:3px;left:2px;height:3px}.scroll-bar-h .scroll-bar-indicator{height:100%}.scroll-bar-v{top:2px;right:3px;bottom:2px;width:3px}.scroll-bar-v .scroll-bar-indicator{width:100%}.scroll-bar-indicator{position:absolute;border-radius:4px;background:rgba(0,0,0,.3);opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.scroll-bar-indicator.scroll-bar-fade-out{opacity:0}.platform-android .scroll-bar-indicator{border-radius:0}.grade-b .scroll-bar-indicator,.grade-c .scroll-bar-indicator{background:#aaa}.grade-b .scroll-bar-indicator.scroll-bar-fade-out,.grade-c .scroll-bar-indicator.scroll-bar-fade-out{-webkit-transition:none;transition:none}ion-infinite-scroll{height:60px;width:100%;display:block;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}ion-infinite-scroll .icon{font-size:30px;color:#666}ion-infinite-scroll:not(.active) .icon:before,ion-infinite-scroll:not(.active) .spinner{display:none}.overflow-scroll{overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;top:0;right:0;bottom:0;left:0;position:absolute}.overflow-scroll.pane{overflow-x:hidden;overflow-y:scroll}.overflow-scroll .scroll{position:static;height:100%;-webkit-transform:translate3d(0,0,0)}.overflow-scroll.keyboard-up:not(.keyboard-up-confirm){overflow:hidden}.has-header{top:44px}.no-header{top:0}.has-subheader{top:88px}.has-tabs-top{top:93px}.has-header.has-subheader.has-tabs-top{top:137px}.has-footer{bottom:44px}.has-subfooter{bottom:88px}.bar-footer.has-tabs,.has-tabs{bottom:49px}.bar-footer.has-tabs.pane,.has-tabs.pane{bottom:49px;height:auto}.bar-subfooter.has-tabs,.has-footer.has-tabs{bottom:93px}.pane{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:0;transition-duration:0;z-index:1}.view{z-index:1}.pane,.view{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:#fff;overflow:hidden}.view-container{position:absolute;display:block;width:100%;height:100%}p{margin:0 0 10px}small{font-size:85%}cite{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:#000;font-weight:500;font-family:"-apple-system","Helvetica Neue",Roboto,"Segoe UI",sans-serif;line-height:1.2}.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:400;line-height:1}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1:first-child,.h2:first-child,.h3:first-child,h1:first-child,h2:first-child,h3:first-child{margin-top:0}.h1+.h1,.h1+.h2,.h1+.h3,.h1+h1,.h1+h2,.h1+h3,.h2+.h1,.h2+.h2,.h2+.h3,.h2+h1,.h2+h2,.h2+h3,.h3+.h1,.h3+.h2,.h3+.h3,.h3+h1,.h3+h2,.h3+h3,h1+.h1,h1+.h2,h1+.h3,h1+h1,h1+h2,h1+h3,h2+.h1,h2+.h2,h2+.h3,h2+h1,h2+h2,h2+h3,h3+.h1,h3+.h2,h3+.h3,h3+h1,h3+h2,h3+h3{margin-top:10px}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.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}.h1 small,h1 small{font-size:24px}.h2 small,h2 small{font-size:18px}.h3 small,.h4 small,h3 small,h4 small{font-size:14px}dl{margin-bottom:20px}dd,dt{line-height:1.42857}dt{font-weight:700}blockquote{margin:0 0 20px;padding:10px 20px;border-left:5px solid gray}blockquote p{font-weight:300;font-size:17.5px;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.42857}blockquote small:before{content:'\2014 \00A0'}blockquote:after,blockquote:before,q:after,q:before{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.42857}a{color:#387ef5}a.subdued{padding-right:10px;color:#888;text-decoration:none}a.subdued:hover{text-decoration:none}a.subdued:last-child{padding-right:0}.action-sheet-backdrop{-webkit-transition:background-color 150ms ease-in-out;transition:background-color 150ms ease-in-out;position:fixed;top:0;left:0;z-index:11;width:100%;height:100%;background-color:transparent}.action-sheet-backdrop.active{background-color:rgba(0,0,0,.4)}.action-sheet-wrapper{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:all cubic-bezier(.36,.66,.04,1) 500ms;transition:all cubic-bezier(.36,.66,.04,1) 500ms;position:absolute;bottom:0;left:0;right:0;width:100%;max-width:500px;margin:auto}.action-sheet-up{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.action-sheet{margin-left:8px;margin-right:8px;width:auto;z-index:11;overflow:hidden}.action-sheet .button{display:block;padding:1px;width:100%;border-radius:0;border-color:#d1d3d6;background-color:transparent;color:#007aff;font-size:21px}.action-sheet .button:hover{color:#007aff}.action-sheet .button.destructive,.action-sheet .button.destructive:hover{color:#ff3b30}.action-sheet .button.activated,.action-sheet .button.active{box-shadow:none;border-color:#d1d3d6;color:#007aff;background:#e4e5e7}.action-sheet-has-icons .icon{position:absolute;left:16px}.action-sheet-title{padding:16px;color:#8f8f8f;text-align:center;font-size:13px}.action-sheet-group{margin-bottom:8px;border-radius:4px;background-color:#fff;overflow:hidden}.action-sheet-group .button{border-width:1px 0 0 0}.action-sheet-group .button:first-child:last-child{border-width:0}.action-sheet-options{background:#f1f2f3}.action-sheet-cancel .button{font-weight:500}.action-sheet-open,.action-sheet-open.modal-open .modal{pointer-events:none}.action-sheet-open .action-sheet-backdrop{pointer-events:auto}.platform-android .action-sheet-backdrop.active{background-color:rgba(0,0,0,.2)}.platform-android .action-sheet{margin:0}.platform-android .action-sheet .action-sheet-title,.platform-android .action-sheet .button{text-align:left;border-color:transparent;font-size:16px;color:inherit}.platform-android .action-sheet .action-sheet-title{font-size:14px;padding:16px;color:#666}.platform-android .action-sheet .button.activated,.platform-android .action-sheet .button.active{background:#e8e8e8}.platform-android .action-sheet-group{margin:0;border-radius:0;background-color:#fafafa}.platform-android .action-sheet-cancel{display:none}.platform-android .action-sheet-has-icons .button{padding-left:56px}.backdrop{position:fixed;top:0;left:0;z-index:11;width:100%;height:100%;background-color:rgba(0,0,0,.4);visibility:hidden;opacity:0;-webkit-transition:.1s opacity linear;transition:.1s opacity linear}.backdrop.visible{visibility:visible}.backdrop.active{opacity:1}.bar{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;right:0;left:0;z-index:9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:5px;width:100%;height:44px;border-width:0;border-style:solid;border-top:1px solid transparent;border-bottom:1px solid #ddd;background-color:#fff;background-size:0}@media (min--moz-device-pixel-ratio:1.5),(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:144dpi),(min-resolution:1.5dppx){.bar{border:none;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%);background-position:bottom;background-size:100% 1px;background-repeat:no-repeat}}.bar.bar-clear{border:none;background:0 0;color:#fff}.bar.bar-clear .button,.bar.bar-clear .title{color:#fff}.bar.item-input-inset .item-input-wrapper{margin-top:-1px}.bar.item-input-inset .item-input-wrapper input{padding-left:8px;width:94%;height:28px;background:0 0}.bar.bar-light{border-color:#ddd;background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%);color:#444}.bar.bar-light .title{color:#444}.bar.bar-light.bar-footer{background-image:linear-gradient(180deg,#ddd,#ddd 50%,transparent 50%)}.bar.bar-stable{border-color:#b2b2b2;background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);color:#444}.bar.bar-stable .title{color:#444}.bar.bar-stable.bar-footer{background-image:linear-gradient(180deg,#b2b2b2,#b2b2b2 50%,transparent 50%)}.bar.bar-positive{border-color:#0c60ee;background-color:#387ef5;background-image:linear-gradient(0deg,#0c60ee,#0c60ee 50%,transparent 50%);color:#fff}.bar.bar-positive .title{color:#fff}.bar.bar-positive.bar-footer{background-image:linear-gradient(180deg,#0c60ee,#0c60ee 50%,transparent 50%)}.bar.bar-calm{border-color:#0a9dc7;background-color:#11c1f3;background-image:linear-gradient(0deg,#0a9dc7,#0a9dc7 50%,transparent 50%);color:#fff}.bar.bar-calm .title{color:#fff}.bar.bar-calm.bar-footer{background-image:linear-gradient(180deg,#0a9dc7,#0a9dc7 50%,transparent 50%)}.bar.bar-assertive{border-color:#e42112;background-color:#ef473a;background-image:linear-gradient(0deg,#e42112,#e42112 50%,transparent 50%);color:#fff}.bar.bar-assertive .title{color:#fff}.bar.bar-assertive.bar-footer{background-image:linear-gradient(180deg,#e42112,#e42112 50%,transparent 50%)}.bar.bar-balanced{border-color:#28a54c;background-color:#33cd5f;background-image:linear-gradient(0deg,#28a54c,#28a54c 50%,transparent 50%);color:#fff}.bar.bar-balanced .title{color:#fff}.bar.bar-balanced.bar-footer{background-image:linear-gradient(180deg,#28a54c,#0c60ee 50%,transparent 50%)}.bar.bar-energized{border-color:#e6b500;background-color:#ffc900;background-image:linear-gradient(0deg,#e6b500,#e6b500 50%,transparent 50%);color:#fff}.bar.bar-energized .title{color:#fff}.bar.bar-energized.bar-footer{background-image:linear-gradient(180deg,#e6b500,#e6b500 50%,transparent 50%)}.bar.bar-royal{border-color:#6b46e5;background-color:#886aea;background-image:linear-gradient(0deg,#6b46e5,#6b46e5 50%,transparent 50%);color:#fff}.bar.bar-royal .title{color:#fff}.bar.bar-royal.bar-footer{background-image:linear-gradient(180deg,#6b46e5,#6b46e5 50%,transparent 50%)}.bar.bar-dark{border-color:#111;background-color:#444;background-image:linear-gradient(0deg,#111,#111 50%,transparent 50%);color:#fff}.bar.bar-dark .title{color:#fff}.bar.bar-dark.bar-footer{background-image:linear-gradient(180deg,#111,#111 50%,transparent 50%)}.bar .title{display:block;position:absolute;top:0;right:0;left:0;z-index:0;overflow:hidden;margin:0 10px;min-width:30px;height:43px;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:500;line-height:44px}.bar .title.title-left{text-align:left}.bar .title.title-right{text-align:right}.bar .title a{color:inherit}.bar .button,.bar button{z-index:1;padding:0 8px;min-width:initial;min-height:31px;font-weight:400;font-size:13px;line-height:32px}.bar .button .icon:before,.bar .button.button-icon:before,.bar .button.icon-left:before,.bar .button.icon-right:before,.bar .button.icon:before,.bar button .icon:before,.bar button.button-icon:before,.bar button.icon-left:before,.bar button.icon-right:before,.bar button.icon:before{padding-right:2px;padding-left:2px;font-size:20px;line-height:32px}.bar .button.button-icon,.bar button.button-icon{font-size:17px}.bar .button.button-icon .icon:before,.bar .button.button-icon.icon-left:before,.bar .button.button-icon.icon-right:before,.bar .button.button-icon:before,.bar button.button-icon .icon:before,.bar button.button-icon.icon-left:before,.bar button.button-icon.icon-right:before,.bar button.button-icon:before{vertical-align:top;font-size:32px;line-height:32px}.bar .button.button-clear,.bar button.button-clear{padding-right:2px;padding-left:2px;font-weight:300;font-size:17px}.bar .button.button-clear .icon:before,.bar .button.button-clear.icon-left:before,.bar .button.button-clear.icon-right:before,.bar .button.button-clear.icon:before,.bar button.button-clear .icon:before,.bar button.button-clear.icon-left:before,.bar button.button-clear.icon-right:before,.bar button.button-clear.icon:before{font-size:32px;line-height:32px}.bar .button.back-button,.bar button.back-button{display:block;margin-right:5px;padding:0;white-space:nowrap;font-weight:400}.bar .button.back-button.activated,.bar .button.back-button.active,.bar button.back-button.activated,.bar button.back-button.active{opacity:.2}.bar .button-bar>.button,.bar .buttons>.button{min-height:31px;line-height:32px}.bar .button+.button-bar,.bar .button-bar+.button{margin-left:5px}.bar .buttons,.bar .buttons.primary-buttons,.bar .buttons.secondary-buttons{display:inherit}.bar .buttons span{display:inline-block}.bar .buttons-left span{margin-right:5px;display:inherit}.bar .buttons-right span{margin-left:5px;display:inherit}.bar .buttons.pull-right,.bar .title+.button:last-child,.bar .title+.buttons,.bar>.button+.button:last-child,.bar>.button.pull-right{position:absolute;top:5px;right:5px;bottom:5px}.platform-android .nav-bar-has-subheader .bar{background-image:none}.platform-android .bar .back-button .icon:before{font-size:24px}.platform-android .bar .title{font-size:19px;line-height:44px}.bar-light .button{border-color:transparent;background-color:#fff;color:#444}.bar-light .button:hover{color:#444;text-decoration:none}.bar-light .button.activated,.bar-light .button.active{background-color:#fafafa}.bar-light .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#444;font-size:17px}.bar-light .button.button-icon{border-color:transparent;background:0 0}.bar-stable .button{border-color:transparent;background-color:#f8f8f8;color:#444}.bar-stable .button:hover{color:#444;text-decoration:none}.bar-stable .button.activated,.bar-stable .button.active{background-color:#e5e5e5}.bar-stable .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#444;font-size:17px}.bar-stable .button.button-icon{border-color:transparent;background:0 0}.bar-positive .button{border-color:transparent;background-color:#387ef5;color:#fff}.bar-positive .button:hover{color:#fff;text-decoration:none}.bar-positive .button.activated,.bar-positive .button.active{background-color:#0c60ee}.bar-positive .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#fff;font-size:17px}.bar-positive .button.button-icon{border-color:transparent;background:0 0}.bar-calm .button{border-color:transparent;background-color:#11c1f3;color:#fff}.bar-calm .button:hover{color:#fff;text-decoration:none}.bar-calm .button.activated,.bar-calm .button.active{background-color:#0a9dc7}.bar-calm .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#fff;font-size:17px}.bar-calm .button.button-icon{border-color:transparent;background:0 0}.bar-assertive .button{border-color:transparent;background-color:#ef473a;color:#fff}.bar-assertive .button:hover{color:#fff;text-decoration:none}.bar-assertive .button.activated,.bar-assertive .button.active{background-color:#e42112}.bar-assertive .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#fff;font-size:17px}.bar-assertive .button.button-icon{border-color:transparent;background:0 0}.bar-balanced .button{border-color:transparent;background-color:#33cd5f;color:#fff}.bar-balanced .button:hover{color:#fff;text-decoration:none}.bar-balanced .button.activated,.bar-balanced .button.active{background-color:#28a54c}.bar-balanced .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#fff;font-size:17px}.bar-balanced .button.button-icon{border-color:transparent;background:0 0}.bar-energized .button{border-color:transparent;background-color:#ffc900;color:#fff}.bar-energized .button:hover{color:#fff;text-decoration:none}.bar-energized .button.activated,.bar-energized .button.active{background-color:#e6b500}.bar-energized .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#fff;font-size:17px}.bar-energized .button.button-icon{border-color:transparent;background:0 0}.bar-royal .button{border-color:transparent;background-color:#886aea;color:#fff}.bar-royal .button:hover{color:#fff;text-decoration:none}.bar-royal .button.activated,.bar-royal .button.active{background-color:#6b46e5}.bar-royal .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#fff;font-size:17px}.bar-royal .button.button-icon{border-color:transparent;background:0 0}.bar-dark .button{border-color:transparent;background-color:#444;color:#fff}.bar-dark .button:hover{color:#fff;text-decoration:none}.bar-dark .button.activated,.bar-dark .button.active{background-color:#262626}.bar-dark .button.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#fff;font-size:17px}.bar-dark .button.button-icon{border-color:transparent;background:0 0}.bar-header{top:0;border-top-width:0;border-bottom-width:1px}.bar-header.has-tabs-top,.tabs-top .bar-header{border-bottom-width:0;background-image:none}.bar-footer{bottom:0;border-top-width:1px;border-bottom-width:0;background-position:top;height:44px}.bar-footer.item-input-inset{position:absolute}.bar-tabs{padding:0}.bar-subheader{top:44px;display:block;height:44px}.bar-subfooter{bottom:44px;display:block;height:44px}.nav-bar-block{position:absolute;top:0;right:0;left:0;z-index:9}.bar .back-button.hide,.bar .buttons .hide{display:none}.nav-bar-tabs-top .bar{background-image:none}.tabs{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:horizontal;-moz-flex-direction:horizontal;-ms-flex-direction:horizontal;flex-direction:horizontal;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);border-color:#b2b2b2;background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);color:#444;position:absolute;bottom:0;z-index:5;width:100%;height:49px;border-style:solid;border-top-width:1px;background-size:0;line-height:49px}.tabs .tab-item .badge{background-color:#444;color:#f8f8f8}@media (min--moz-device-pixel-ratio:1.5),(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:144dpi),(min-resolution:1.5dppx){.tabs{padding-top:2px;border-top:none!important;border-bottom:none;background-position:top;background-size:100% 1px;background-repeat:no-repeat}}.tabs-light>.tabs,.tabs.tabs-light{border-color:#ddd;background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%);color:#444}.tabs-light>.tabs .tab-item .badge,.tabs.tabs-light .tab-item .badge{background-color:#444;color:#fff}.tabs-stable>.tabs,.tabs.tabs-stable{border-color:#b2b2b2;background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);color:#444}.tabs-stable>.tabs .tab-item .badge,.tabs.tabs-stable .tab-item .badge{background-color:#444;color:#f8f8f8}.tabs-positive>.tabs,.tabs.tabs-positive{border-color:#0c60ee;background-color:#387ef5;background-image:linear-gradient(0deg,#0c60ee,#0c60ee 50%,transparent 50%);color:#fff}.tabs-positive>.tabs .tab-item .badge,.tabs.tabs-positive .tab-item .badge{background-color:#fff;color:#387ef5}.tabs-calm>.tabs,.tabs.tabs-calm{border-color:#0a9dc7;background-color:#11c1f3;background-image:linear-gradient(0deg,#0a9dc7,#0a9dc7 50%,transparent 50%);color:#fff}.tabs-calm>.tabs .tab-item .badge,.tabs.tabs-calm .tab-item .badge{background-color:#fff;color:#11c1f3}.tabs-assertive>.tabs,.tabs.tabs-assertive{border-color:#e42112;background-color:#ef473a;background-image:linear-gradient(0deg,#e42112,#e42112 50%,transparent 50%);color:#fff}.tabs-assertive>.tabs .tab-item .badge,.tabs.tabs-assertive .tab-item .badge{background-color:#fff;color:#ef473a}.tabs-balanced>.tabs,.tabs.tabs-balanced{border-color:#28a54c;background-color:#33cd5f;background-image:linear-gradient(0deg,#28a54c,#28a54c 50%,transparent 50%);color:#fff}.tabs-balanced>.tabs .tab-item .badge,.tabs.tabs-balanced .tab-item .badge{background-color:#fff;color:#33cd5f}.tabs-energized>.tabs,.tabs.tabs-energized{border-color:#e6b500;background-color:#ffc900;background-image:linear-gradient(0deg,#e6b500,#e6b500 50%,transparent 50%);color:#fff}.tabs-energized>.tabs .tab-item .badge,.tabs.tabs-energized .tab-item .badge{background-color:#fff;color:#ffc900}.tabs-royal>.tabs,.tabs.tabs-royal{border-color:#6b46e5;background-color:#886aea;background-image:linear-gradient(0deg,#6b46e5,#6b46e5 50%,transparent 50%);color:#fff}.tabs-royal>.tabs .tab-item .badge,.tabs.tabs-royal .tab-item .badge{background-color:#fff;color:#886aea}.tabs-dark>.tabs,.tabs.tabs-dark{border-color:#111;background-color:#444;background-image:linear-gradient(0deg,#111,#111 50%,transparent 50%);color:#fff}.tabs-dark>.tabs .tab-item .badge,.tabs.tabs-dark .tab-item .badge{background-color:#fff;color:#444}.tabs-striped .tabs{background-color:#fff;background-image:none;border:none;border-bottom:1px solid #ddd;padding-top:2px}.tabs-striped .tab-item.activated,.tabs-striped .tab-item.active,.tabs-striped .tab-item.tab-item-active{margin-top:-2px;border-style:solid;border-width:2px 0 0 0;border-color:#444}.tabs-striped .tab-item.activated .badge,.tabs-striped .tab-item.active .badge,.tabs-striped .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-light .tabs{background-color:#fff}.tabs-striped.tabs-light .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-striped.tabs-light .tab-item .badge{opacity:.4}.tabs-striped.tabs-light .tab-item.activated,.tabs-striped.tabs-light .tab-item.active,.tabs-striped.tabs-light .tab-item.tab-item-active{margin-top:-2px;color:#444;border-style:solid;border-width:2px 0 0 0;border-color:#444}.tabs-striped.tabs-stable .tabs{background-color:#f8f8f8}.tabs-striped.tabs-stable .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-striped.tabs-stable .tab-item .badge{opacity:.4}.tabs-striped.tabs-stable .tab-item.activated,.tabs-striped.tabs-stable .tab-item.active,.tabs-striped.tabs-stable .tab-item.tab-item-active{margin-top:-2px;color:#444;border-style:solid;border-width:2px 0 0 0;border-color:#444}.tabs-striped.tabs-positive .tabs{background-color:#387ef5}.tabs-striped.tabs-positive .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-positive .tab-item .badge{opacity:.4}.tabs-striped.tabs-positive .tab-item.activated,.tabs-striped.tabs-positive .tab-item.active,.tabs-striped.tabs-positive .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0 0;border-color:#fff}.tabs-striped.tabs-calm .tabs{background-color:#11c1f3}.tabs-striped.tabs-calm .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-calm .tab-item .badge{opacity:.4}.tabs-striped.tabs-calm .tab-item.activated,.tabs-striped.tabs-calm .tab-item.active,.tabs-striped.tabs-calm .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0 0;border-color:#fff}.tabs-striped.tabs-assertive .tabs{background-color:#ef473a}.tabs-striped.tabs-assertive .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-assertive .tab-item .badge{opacity:.4}.tabs-striped.tabs-assertive .tab-item.activated,.tabs-striped.tabs-assertive .tab-item.active,.tabs-striped.tabs-assertive .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0 0;border-color:#fff}.tabs-striped.tabs-balanced .tabs{background-color:#33cd5f}.tabs-striped.tabs-balanced .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-balanced .tab-item .badge{opacity:.4}.tabs-striped.tabs-balanced .tab-item.activated,.tabs-striped.tabs-balanced .tab-item.active,.tabs-striped.tabs-balanced .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0 0;border-color:#fff}.tabs-striped.tabs-energized .tabs{background-color:#ffc900}.tabs-striped.tabs-energized .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-energized .tab-item .badge{opacity:.4}.tabs-striped.tabs-energized .tab-item.activated,.tabs-striped.tabs-energized .tab-item.active,.tabs-striped.tabs-energized .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0 0;border-color:#fff}.tabs-striped.tabs-royal .tabs{background-color:#886aea}.tabs-striped.tabs-royal .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-royal .tab-item .badge{opacity:.4}.tabs-striped.tabs-royal .tab-item.activated,.tabs-striped.tabs-royal .tab-item.active,.tabs-striped.tabs-royal .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0 0;border-color:#fff}.tabs-striped.tabs-dark .tabs{background-color:#444}.tabs-striped.tabs-dark .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-dark .tab-item .badge{opacity:.4}.tabs-striped.tabs-dark .tab-item.activated,.tabs-striped.tabs-dark .tab-item.active,.tabs-striped.tabs-dark .tab-item.tab-item-active{margin-top:-2px;color:#fff;border-style:solid;border-width:2px 0 0 0;border-color:#fff}.tabs-striped.tabs-top .tab-item.activated .badge,.tabs-striped.tabs-top .tab-item.active .badge,.tabs-striped.tabs-top .tab-item.tab-item-active .badge{top:4%}.tabs-striped.tabs-background-light .tabs{background-color:#fff;background-image:none}.tabs-striped.tabs-background-stable .tabs{background-color:#f8f8f8;background-image:none}.tabs-striped.tabs-background-positive .tabs{background-color:#387ef5;background-image:none}.tabs-striped.tabs-background-calm .tabs{background-color:#11c1f3;background-image:none}.tabs-striped.tabs-background-assertive .tabs{background-color:#ef473a;background-image:none}.tabs-striped.tabs-background-balanced .tabs{background-color:#33cd5f;background-image:none}.tabs-striped.tabs-background-energized .tabs{background-color:#ffc900;background-image:none}.tabs-striped.tabs-background-royal .tabs{background-color:#886aea;background-image:none}.tabs-striped.tabs-background-dark .tabs{background-color:#444;background-image:none}.tabs-striped.tabs-color-light .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-striped.tabs-color-light .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-light .tab-item.activated,.tabs-striped.tabs-color-light .tab-item.active,.tabs-striped.tabs-color-light .tab-item.tab-item-active{margin-top:-2px;color:#fff;border:0 solid #fff;border-top-width:2px}.tabs-striped.tabs-color-light .tab-item.activated .badge,.tabs-striped.tabs-color-light .tab-item.active .badge,.tabs-striped.tabs-color-light .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-stable .tab-item{color:rgba(248,248,248,.4);opacity:1}.tabs-striped.tabs-color-stable .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-stable .tab-item.activated,.tabs-striped.tabs-color-stable .tab-item.active,.tabs-striped.tabs-color-stable .tab-item.tab-item-active{margin-top:-2px;color:#f8f8f8;border:0 solid #f8f8f8;border-top-width:2px}.tabs-striped.tabs-color-stable .tab-item.activated .badge,.tabs-striped.tabs-color-stable .tab-item.active .badge,.tabs-striped.tabs-color-stable .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-positive .tab-item{color:rgba(56,126,245,.4);opacity:1}.tabs-striped.tabs-color-positive .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-positive .tab-item.activated,.tabs-striped.tabs-color-positive .tab-item.active,.tabs-striped.tabs-color-positive .tab-item.tab-item-active{margin-top:-2px;color:#387ef5;border:0 solid #387ef5;border-top-width:2px}.tabs-striped.tabs-color-positive .tab-item.activated .badge,.tabs-striped.tabs-color-positive .tab-item.active .badge,.tabs-striped.tabs-color-positive .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-calm .tab-item{color:rgba(17,193,243,.4);opacity:1}.tabs-striped.tabs-color-calm .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-calm .tab-item.activated,.tabs-striped.tabs-color-calm .tab-item.active,.tabs-striped.tabs-color-calm .tab-item.tab-item-active{margin-top:-2px;color:#11c1f3;border:0 solid #11c1f3;border-top-width:2px}.tabs-striped.tabs-color-calm .tab-item.activated .badge,.tabs-striped.tabs-color-calm .tab-item.active .badge,.tabs-striped.tabs-color-calm .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-assertive .tab-item{color:rgba(239,71,58,.4);opacity:1}.tabs-striped.tabs-color-assertive .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-assertive .tab-item.activated,.tabs-striped.tabs-color-assertive .tab-item.active,.tabs-striped.tabs-color-assertive .tab-item.tab-item-active{margin-top:-2px;color:#ef473a;border:0 solid #ef473a;border-top-width:2px}.tabs-striped.tabs-color-assertive .tab-item.activated .badge,.tabs-striped.tabs-color-assertive .tab-item.active .badge,.tabs-striped.tabs-color-assertive .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-balanced .tab-item{color:rgba(51,205,95,.4);opacity:1}.tabs-striped.tabs-color-balanced .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-balanced .tab-item.activated,.tabs-striped.tabs-color-balanced .tab-item.active,.tabs-striped.tabs-color-balanced .tab-item.tab-item-active{margin-top:-2px;color:#33cd5f;border:0 solid #33cd5f;border-top-width:2px}.tabs-striped.tabs-color-balanced .tab-item.activated .badge,.tabs-striped.tabs-color-balanced .tab-item.active .badge,.tabs-striped.tabs-color-balanced .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-energized .tab-item{color:rgba(255,201,0,.4);opacity:1}.tabs-striped.tabs-color-energized .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-energized .tab-item.activated,.tabs-striped.tabs-color-energized .tab-item.active,.tabs-striped.tabs-color-energized .tab-item.tab-item-active{margin-top:-2px;color:#ffc900;border:0 solid #ffc900;border-top-width:2px}.tabs-striped.tabs-color-energized .tab-item.activated .badge,.tabs-striped.tabs-color-energized .tab-item.active .badge,.tabs-striped.tabs-color-energized .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-royal .tab-item{color:rgba(136,106,234,.4);opacity:1}.tabs-striped.tabs-color-royal .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-royal .tab-item.activated,.tabs-striped.tabs-color-royal .tab-item.active,.tabs-striped.tabs-color-royal .tab-item.tab-item-active{margin-top:-2px;color:#886aea;border:0 solid #886aea;border-top-width:2px}.tabs-striped.tabs-color-royal .tab-item.activated .badge,.tabs-striped.tabs-color-royal .tab-item.active .badge,.tabs-striped.tabs-color-royal .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-striped.tabs-color-dark .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-striped.tabs-color-dark .tab-item .badge{opacity:.4}.tabs-striped.tabs-color-dark .tab-item.activated,.tabs-striped.tabs-color-dark .tab-item.active,.tabs-striped.tabs-color-dark .tab-item.tab-item-active{margin-top:-2px;color:#444;border:0 solid #444;border-top-width:2px}.tabs-striped.tabs-color-dark .tab-item.activated .badge,.tabs-striped.tabs-color-dark .tab-item.active .badge,.tabs-striped.tabs-color-dark .tab-item.tab-item-active .badge{top:2px;opacity:1}.tabs-background-light .tabs,.tabs-background-light>.tabs{background-color:#fff;background-image:linear-gradient(0deg,#ddd,#ddd 50%,transparent 50%);border-color:#ddd}.tabs-background-stable .tabs,.tabs-background-stable>.tabs{background-color:#f8f8f8;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);border-color:#b2b2b2}.tabs-background-positive .tabs,.tabs-background-positive>.tabs{background-color:#387ef5;background-image:linear-gradient(0deg,#0c60ee,#0c60ee 50%,transparent 50%);border-color:#0c60ee}.tabs-background-calm .tabs,.tabs-background-calm>.tabs{background-color:#11c1f3;background-image:linear-gradient(0deg,#0a9dc7,#0a9dc7 50%,transparent 50%);border-color:#0a9dc7}.tabs-background-assertive .tabs,.tabs-background-assertive>.tabs{background-color:#ef473a;background-image:linear-gradient(0deg,#e42112,#e42112 50%,transparent 50%);border-color:#e42112}.tabs-background-balanced .tabs,.tabs-background-balanced>.tabs{background-color:#33cd5f;background-image:linear-gradient(0deg,#28a54c,#28a54c 50%,transparent 50%);border-color:#28a54c}.tabs-background-energized .tabs,.tabs-background-energized>.tabs{background-color:#ffc900;background-image:linear-gradient(0deg,#e6b500,#e6b500 50%,transparent 50%);border-color:#e6b500}.tabs-background-royal .tabs,.tabs-background-royal>.tabs{background-color:#886aea;background-image:linear-gradient(0deg,#6b46e5,#6b46e5 50%,transparent 50%);border-color:#6b46e5}.tabs-background-dark .tabs,.tabs-background-dark>.tabs{background-color:#444;background-image:linear-gradient(0deg,#111,#111 50%,transparent 50%);border-color:#111}.tabs-color-light .tab-item{color:rgba(255,255,255,.4);opacity:1}.tabs-color-light .tab-item .badge{opacity:.4}.tabs-color-light .tab-item.activated,.tabs-color-light .tab-item.active,.tabs-color-light .tab-item.tab-item-active{color:#fff;border:0 solid #fff}.tabs-color-light .tab-item.activated .badge,.tabs-color-light .tab-item.active .badge,.tabs-color-light .tab-item.tab-item-active .badge{opacity:1}.tabs-color-stable .tab-item{color:rgba(248,248,248,.4);opacity:1}.tabs-color-stable .tab-item .badge{opacity:.4}.tabs-color-stable .tab-item.activated,.tabs-color-stable .tab-item.active,.tabs-color-stable .tab-item.tab-item-active{color:#f8f8f8;border:0 solid #f8f8f8}.tabs-color-stable .tab-item.activated .badge,.tabs-color-stable .tab-item.active .badge,.tabs-color-stable .tab-item.tab-item-active .badge{opacity:1}.tabs-color-positive .tab-item{color:rgba(56,126,245,.4);opacity:1}.tabs-color-positive .tab-item .badge{opacity:.4}.tabs-color-positive .tab-item.activated,.tabs-color-positive .tab-item.active,.tabs-color-positive .tab-item.tab-item-active{color:#387ef5;border:0 solid #387ef5}.tabs-color-positive .tab-item.activated .badge,.tabs-color-positive .tab-item.active .badge,.tabs-color-positive .tab-item.tab-item-active .badge{opacity:1}.tabs-color-calm .tab-item{color:rgba(17,193,243,.4);opacity:1}.tabs-color-calm .tab-item .badge{opacity:.4}.tabs-color-calm .tab-item.activated,.tabs-color-calm .tab-item.active,.tabs-color-calm .tab-item.tab-item-active{color:#11c1f3;border:0 solid #11c1f3}.tabs-color-calm .tab-item.activated .badge,.tabs-color-calm .tab-item.active .badge,.tabs-color-calm .tab-item.tab-item-active .badge{opacity:1}.tabs-color-assertive .tab-item{color:rgba(239,71,58,.4);opacity:1}.tabs-color-assertive .tab-item .badge{opacity:.4}.tabs-color-assertive .tab-item.activated,.tabs-color-assertive .tab-item.active,.tabs-color-assertive .tab-item.tab-item-active{color:#ef473a;border:0 solid #ef473a}.tabs-color-assertive .tab-item.activated .badge,.tabs-color-assertive .tab-item.active .badge,.tabs-color-assertive .tab-item.tab-item-active .badge{opacity:1}.tabs-color-balanced .tab-item{color:rgba(51,205,95,.4);opacity:1}.tabs-color-balanced .tab-item .badge{opacity:.4}.tabs-color-balanced .tab-item.activated,.tabs-color-balanced .tab-item.active,.tabs-color-balanced .tab-item.tab-item-active{color:#33cd5f;border:0 solid #33cd5f}.tabs-color-balanced .tab-item.activated .badge,.tabs-color-balanced .tab-item.active .badge,.tabs-color-balanced .tab-item.tab-item-active .badge{opacity:1}.tabs-color-energized .tab-item{color:rgba(255,201,0,.4);opacity:1}.tabs-color-energized .tab-item .badge{opacity:.4}.tabs-color-energized .tab-item.activated,.tabs-color-energized .tab-item.active,.tabs-color-energized .tab-item.tab-item-active{color:#ffc900;border:0 solid #ffc900}.tabs-color-energized .tab-item.activated .badge,.tabs-color-energized .tab-item.active .badge,.tabs-color-energized .tab-item.tab-item-active .badge{opacity:1}.tabs-color-royal .tab-item{color:rgba(136,106,234,.4);opacity:1}.tabs-color-royal .tab-item .badge{opacity:.4}.tabs-color-royal .tab-item.activated,.tabs-color-royal .tab-item.active,.tabs-color-royal .tab-item.tab-item-active{color:#886aea;border:0 solid #886aea}.tabs-color-royal .tab-item.activated .badge,.tabs-color-royal .tab-item.active .badge,.tabs-color-royal .tab-item.tab-item-active .badge{opacity:1}.tabs-color-dark .tab-item{color:rgba(68,68,68,.4);opacity:1}.tabs-color-dark .tab-item .badge{opacity:.4}.tabs-color-dark .tab-item.activated,.tabs-color-dark .tab-item.active,.tabs-color-dark .tab-item.tab-item-active{color:#444;border:0 solid #444}.tabs-color-dark .tab-item.activated .badge,.tabs-color-dark .tab-item.active .badge,.tabs-color-dark .tab-item.tab-item-active .badge{opacity:1}ion-tabs.tabs-color-active-light .tab-item{color:#444}ion-tabs.tabs-color-active-light .tab-item.activated,ion-tabs.tabs-color-active-light .tab-item.active,ion-tabs.tabs-color-active-light .tab-item.tab-item-active{color:#fff}ion-tabs.tabs-color-active-stable .tab-item{color:#444}ion-tabs.tabs-color-active-stable .tab-item.activated,ion-tabs.tabs-color-active-stable .tab-item.active,ion-tabs.tabs-color-active-stable .tab-item.tab-item-active{color:#f8f8f8}ion-tabs.tabs-color-active-positive .tab-item{color:#444}ion-tabs.tabs-color-active-positive .tab-item.activated,ion-tabs.tabs-color-active-positive .tab-item.active,ion-tabs.tabs-color-active-positive .tab-item.tab-item-active{color:#387ef5}ion-tabs.tabs-color-active-calm .tab-item{color:#444}ion-tabs.tabs-color-active-calm .tab-item.activated,ion-tabs.tabs-color-active-calm .tab-item.active,ion-tabs.tabs-color-active-calm .tab-item.tab-item-active{color:#11c1f3}ion-tabs.tabs-color-active-assertive .tab-item{color:#444}ion-tabs.tabs-color-active-assertive .tab-item.activated,ion-tabs.tabs-color-active-assertive .tab-item.active,ion-tabs.tabs-color-active-assertive .tab-item.tab-item-active{color:#ef473a}ion-tabs.tabs-color-active-balanced .tab-item{color:#444}ion-tabs.tabs-color-active-balanced .tab-item.activated,ion-tabs.tabs-color-active-balanced .tab-item.active,ion-tabs.tabs-color-active-balanced .tab-item.tab-item-active{color:#33cd5f}ion-tabs.tabs-color-active-energized .tab-item{color:#444}ion-tabs.tabs-color-active-energized .tab-item.activated,ion-tabs.tabs-color-active-energized .tab-item.active,ion-tabs.tabs-color-active-energized .tab-item.tab-item-active{color:#ffc900}ion-tabs.tabs-color-active-royal .tab-item{color:#444}ion-tabs.tabs-color-active-royal .tab-item.activated,ion-tabs.tabs-color-active-royal .tab-item.active,ion-tabs.tabs-color-active-royal .tab-item.tab-item-active{color:#886aea}ion-tabs.tabs-color-active-dark .tab-item{color:#fff}ion-tabs.tabs-color-active-dark .tab-item.activated,ion-tabs.tabs-color-active-dark .tab-item.active,ion-tabs.tabs-color-active-dark .tab-item.tab-item-active{color:#444}.tabs-top.tabs-striped{padding-bottom:0}.tabs-top.tabs-striped .tab-item{background:0 0;-webkit-transition:color .1s ease;-moz-transition:color .1s ease;-ms-transition:color .1s ease;-o-transition:color .1s ease;transition:color .1s ease}.tabs-top.tabs-striped .tab-item.activated,.tabs-top.tabs-striped .tab-item.active,.tabs-top.tabs-striped .tab-item.tab-item-active{margin-top:1px;border-width:0 0 2px 0!important;border-style:solid}.tabs-top.tabs-striped .tab-item.activated>.badge,.tabs-top.tabs-striped .tab-item.activated>i,.tabs-top.tabs-striped .tab-item.active>.badge,.tabs-top.tabs-striped .tab-item.active>i,.tabs-top.tabs-striped .tab-item.tab-item-active>.badge,.tabs-top.tabs-striped .tab-item.tab-item-active>i{margin-top:-1px}.tabs-top.tabs-striped .tab-item .badge{-webkit-transition:color .2s ease;-moz-transition:color .2s ease;-ms-transition:color .2s ease;-o-transition:color .2s ease;transition:color .2s ease}.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated .tab-title,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.activated i,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active .tab-title,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.active i,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active .tab-title,.tabs-top.tabs-striped:not(.tabs-icon-left):not(.tabs-icon-top) .tab-item.tab-item-active i{display:block;margin-top:-1px}.tabs-top.tabs-striped.tabs-icon-left .tab-item{margin-top:1px}.tabs-top.tabs-striped.tabs-icon-left .tab-item.activated .tab-title,.tabs-top.tabs-striped.tabs-icon-left .tab-item.activated i,.tabs-top.tabs-striped.tabs-icon-left .tab-item.active .tab-title,.tabs-top.tabs-striped.tabs-icon-left .tab-item.active i,.tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active .tab-title,.tabs-top.tabs-striped.tabs-icon-left .tab-item.tab-item-active i{margin-top:-.1em}.tabs-top>.tabs,.tabs.tabs-top{top:44px;padding-top:0;background-position:bottom;border-top-width:0;border-bottom-width:1px}.tabs-top>.tabs .tab-item.activated .badge,.tabs-top>.tabs .tab-item.active .badge,.tabs-top>.tabs .tab-item.tab-item-active .badge,.tabs.tabs-top .tab-item.activated .badge,.tabs.tabs-top .tab-item.active .badge,.tabs.tabs-top .tab-item.tab-item-active .badge{top:4%}.tabs-top~.bar-header{border-bottom-width:0}.tab-item{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;overflow:hidden;max-width:150px;height:100%;color:inherit;text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;font-weight:400;font-size:14px;font-family:"-apple-system","Helvetica Neue",Roboto,"Segoe UI",sans-serif;opacity:.7}.tab-item:hover{cursor:pointer}.tab-item.tab-hidden,.tabs-item-hide>.tabs,.tabs.tabs-item-hide{display:none}.tabs-icon-bottom.tabs .tab-item,.tabs-icon-bottom>.tabs .tab-item,.tabs-icon-top.tabs .tab-item,.tabs-icon-top>.tabs .tab-item{font-size:10px;line-height:14px}.tab-item .icon{display:block;margin:0 auto;height:32px;font-size:32px}.tabs-icon-left.tabs .tab-item,.tabs-icon-left>.tabs .tab-item,.tabs-icon-right.tabs .tab-item,.tabs-icon-right>.tabs .tab-item{font-size:10px}.tabs-icon-left.tabs .tab-item .icon,.tabs-icon-left.tabs .tab-item .tab-title,.tabs-icon-left>.tabs .tab-item .icon,.tabs-icon-left>.tabs .tab-item .tab-title,.tabs-icon-right.tabs .tab-item .icon,.tabs-icon-right.tabs .tab-item .tab-title,.tabs-icon-right>.tabs .tab-item .icon,.tabs-icon-right>.tabs .tab-item .tab-title{display:inline-block;vertical-align:top;margin-top:-.1em}.tabs-icon-left.tabs .tab-item .icon:before,.tabs-icon-left.tabs .tab-item .tab-title:before,.tabs-icon-left>.tabs .tab-item .icon:before,.tabs-icon-left>.tabs .tab-item .tab-title:before,.tabs-icon-right.tabs .tab-item .icon:before,.tabs-icon-right.tabs .tab-item .tab-title:before,.tabs-icon-right>.tabs .tab-item .icon:before,.tabs-icon-right>.tabs .tab-item .tab-title:before{font-size:24px;line-height:49px}.tabs-icon-left.tabs .tab-item .icon,.tabs-icon-left>.tabs .tab-item .icon{padding-right:3px}.tabs-icon-right.tabs .tab-item .icon,.tabs-icon-right>.tabs .tab-item .icon{padding-left:3px}.tabs-icon-only.tabs .icon,.tabs-icon-only>.tabs .icon{line-height:inherit}.tab-item.has-badge{position:relative}.tab-item .badge{position:absolute;top:4%;right:33%;right:calc(50% - 26px);padding:1px 6px;height:auto;font-size:12px;line-height:16px}.tab-item.activated,.tab-item.active,.tab-item.tab-item-active{opacity:1}.tab-item.activated.tab-item-light,.tab-item.active.tab-item-light,.tab-item.tab-item-active.tab-item-light{color:#fff}.tab-item.activated.tab-item-stable,.tab-item.active.tab-item-stable,.tab-item.tab-item-active.tab-item-stable{color:#f8f8f8}.tab-item.activated.tab-item-positive,.tab-item.active.tab-item-positive,.tab-item.tab-item-active.tab-item-positive{color:#387ef5}.tab-item.activated.tab-item-calm,.tab-item.active.tab-item-calm,.tab-item.tab-item-active.tab-item-calm{color:#11c1f3}.tab-item.activated.tab-item-assertive,.tab-item.active.tab-item-assertive,.tab-item.tab-item-active.tab-item-assertive{color:#ef473a}.tab-item.activated.tab-item-balanced,.tab-item.active.tab-item-balanced,.tab-item.tab-item-active.tab-item-balanced{color:#33cd5f}.tab-item.activated.tab-item-energized,.tab-item.active.tab-item-energized,.tab-item.tab-item-active.tab-item-energized{color:#ffc900}.tab-item.activated.tab-item-royal,.tab-item.active.tab-item-royal,.tab-item.tab-item-active.tab-item-royal{color:#886aea}.tab-item.activated.tab-item-dark,.tab-item.active.tab-item-dark,.tab-item.tab-item-active.tab-item-dark{color:#444}.item.tabs{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;padding:0}.item.tabs .icon:before{position:relative}.tab-item.disabled,.tab-item[disabled]{opacity:.4;cursor:default;pointer-events:none}.nav-bar-tabs-top.hide~.view-container .tabs-top .tabs{top:0}.pane[hide-nav-bar=true] .has-tabs-top{top:49px}.menu{position:absolute;top:0;bottom:0;z-index:0;overflow:hidden;min-height:100%;max-height:100%;width:275px;background-color:#fff}.menu .scroll-content{z-index:10}.menu .bar-header{z-index:11}.menu-content{-webkit-transform:none;transform:none;box-shadow:-1px 0 2px rgba(0,0,0,.2),1px 0 2px rgba(0,0,0,.2)}.menu-open .menu-content .pane,.menu-open .menu-content .scroll-content,.menu-open .menu-content .scroll-content .scroll{pointer-events:none}.menu-open .menu-content .scroll-content:not(.overflow-scroll){overflow:hidden}.grade-b .menu-content,.grade-c .menu-content{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;right:-1px;left:-1px;border-right:1px solid #ccc;border-left:1px solid #ccc;box-shadow:none}.menu-left{left:0}.menu-right{right:0}.aside-open.aside-resizing .menu-right{display:none}.menu-animated{-webkit-transition:-webkit-transform 200ms ease;transition:transform 200ms ease}.modal-backdrop,.modal-backdrop-bg{position:fixed;top:0;left:0;z-index:10;width:100%;height:100%}.modal-backdrop-bg{pointer-events:none}.modal{display:block;position:absolute;top:0;z-index:10;overflow:hidden;min-height:100%;width:100%;background-color:#fff}@media (min-width:680px){.modal{top:20%;right:20%;bottom:20%;left:20%;min-height:240px;width:60%}.modal.ng-leave-active{bottom:0}.platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader){height:44px}.platform-ios.platform-cordova .modal-wrapper .modal .bar-header:not(.bar-subheader)>*{margin-top:0}.platform-ios.platform-cordova .modal-wrapper .modal .bar-subheader,.platform-ios.platform-cordova .modal-wrapper .modal .has-header,.platform-ios.platform-cordova .modal-wrapper .modal .tabs-top>.tabs,.platform-ios.platform-cordova .modal-wrapper .modal .tabs.tabs-top{top:44px}.platform-ios.platform-cordova .modal-wrapper .modal .has-subheader{top:88px}.platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-tabs-top{top:93px}.platform-ios.platform-cordova .modal-wrapper .modal .has-header.has-subheader.has-tabs-top{top:137px}.modal-backdrop-bg{-webkit-transition:opacity 300ms ease-in-out;transition:opacity 300ms ease-in-out;background-color:#000;opacity:0}.active .modal-backdrop-bg{opacity:.5}}.modal-open{pointer-events:none}.modal-open .modal,.modal-open .modal-backdrop{pointer-events:auto}.modal-open.loading-active .modal,.modal-open.loading-active .modal-backdrop{pointer-events:none}.popover-backdrop{position:fixed;top:0;left:0;z-index:10;width:100%;height:100%;background-color:transparent}.popover-backdrop.active{background-color:rgba(0,0,0,.1)}.popover{position:absolute;top:25%;left:50%;z-index:10;display:block;margin-top:12px;margin-left:-110px;height:280px;width:220px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);opacity:0}.popover .item:first-child{border-top:0}.popover .item:last-child{border-bottom:0}.popover.popover-bottom{margin-top:-12px}.popover,.popover .bar-header{border-radius:2px}.popover .scroll-content{z-index:1;margin:2px 0}.popover .bar-header{border-bottom-right-radius:0;border-bottom-left-radius:0}.popover .has-header{border-top-right-radius:0;border-top-left-radius:0}.popover-arrow{display:none}.platform-ios .popover{box-shadow:0 0 40px rgba(0,0,0,.08);border-radius:10px}.platform-ios .popover .bar-header{-webkit-border-top-right-radius:10px;border-top-right-radius:10px;-webkit-border-top-left-radius:10px;border-top-left-radius:10px}.platform-ios .popover .scroll-content{margin:8px 0;border-radius:10px}.platform-ios .popover .scroll-content.has-header{margin-top:0}.platform-ios .popover-arrow{position:absolute;display:block;top:-17px;width:30px;height:19px;overflow:hidden}.platform-ios .popover-arrow:after{position:absolute;top:12px;left:5px;width:20px;height:20px;background-color:#fff;border-radius:3px;content:'';-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.platform-ios .popover-bottom .popover-arrow{top:auto;bottom:-10px}.platform-ios .popover-bottom .popover-arrow:after{top:-6px}.platform-android .popover{margin-top:-32px;background-color:#fafafa;box-shadow:0 2px 6px rgba(0,0,0,.35)}.platform-android .popover .item{border-color:#fafafa;background-color:#fafafa;color:#4d4d4d}.platform-android .popover.popover-bottom{margin-top:32px}.platform-android .popover-backdrop,.platform-android .popover-backdrop.active{background-color:transparent}.popover-open{pointer-events:none}.popover-open .popover,.popover-open .popover-backdrop{pointer-events:auto}.popover-open.loading-active .popover,.popover-open.loading-active .popover-backdrop{pointer-events:none}@media (min-width:680px){.popover{width:360px;margin-left:-180px}}.popup-container{position:absolute;top:0;left:0;bottom:0;right:0;background:0 0;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;z-index:12;visibility:hidden}.popup-container.popup-showing{visibility:visible}.popup-container.popup-hidden .popup{-webkit-animation-name:scaleOut;animation-name:scaleOut;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.popup-container.active .popup{-webkit-animation-name:superScaleIn;animation-name:superScaleIn;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.popup-container .popup{width:250px;max-width:100%;max-height:90%;border-radius:0;background-color:rgba(255,255,255,.9);display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.popup-container input,.popup-container textarea{width:100%}.popup-head{padding:15px 10px;border-bottom:1px solid #eee;text-align:center}.popup-title{margin:0;padding:0;font-size:15px}.popup-sub-title{margin:5px 0 0 0;padding:0;font-weight:400;font-size:11px}.popup-body{padding:10px;overflow:auto}.popup-buttons{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:10px;min-height:65px}.popup-buttons .button{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;min-height:45px;border-radius:2px;line-height:20px;margin-right:5px}.popup-buttons .button:last-child{margin-right:0}.popup-open,.popup-open.modal-open .modal{pointer-events:none}.popup-open .popup,.popup-open .popup-backdrop{pointer-events:auto}.loading-container{position:absolute;left:0;top:0;right:0;bottom:0;z-index:13;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;-webkit-transition:.2s opacity linear;transition:.2s opacity linear;visibility:hidden;opacity:0}.loading-container:not(.visible) .icon,.loading-container:not(.visible) .spinner{display:none}.loading-container.visible{visibility:visible}.loading-container.active{opacity:1}.loading-container .loading{padding:20px;border-radius:5px;background-color:rgba(0,0,0,.7);color:#fff;text-align:center;text-overflow:ellipsis;font-size:15px}.loading-container .loading h1,.loading-container .loading h2,.loading-container .loading h3,.loading-container .loading h4,.loading-container .loading h5,.loading-container .loading h6{color:#fff}.item{border-color:#ddd;background-color:#fff;color:#444;position:relative;z-index:2;display:block;margin:-1px;padding:16px;border-width:1px;border-style:solid;font-size:16px}.item h2{margin:0 0 2px 0;font-size:16px;font-weight:400}.item h3{margin:0 0 4px 0;font-size:14px}.item h4{margin:0 0 4px 0;font-size:12px}.item h5,.item h6{margin:0 0 3px 0;font-size:10px}.item p{color:#666;font-size:14px;margin-bottom:2px}.item h1:last-child,.item h2:last-child,.item h3:last-child,.item h4:last-child,.item h5:last-child,.item h6:last-child,.item p:last-child{margin-bottom:0}.item .badge{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;position:absolute;top:16px;right:32px}.item.item-button-right .badge{right:67px}.item.item-divider .badge{top:8px}.item .badge+.badge{margin-right:5px}.item.item-light{border-color:#ddd;background-color:#fff;color:#444}.item.item-stable{border-color:#b2b2b2;background-color:#f8f8f8;color:#444}.item.item-positive{border-color:#0c60ee;background-color:#387ef5;color:#fff}.item.item-calm{border-color:#0a9dc7;background-color:#11c1f3;color:#fff}.item.item-assertive{border-color:#e42112;background-color:#ef473a;color:#fff}.item.item-balanced{border-color:#28a54c;background-color:#33cd5f;color:#fff}.item.item-energized{border-color:#e6b500;background-color:#ffc900;color:#fff}.item.item-royal{border-color:#6b46e5;background-color:#886aea;color:#fff}.item.item-dark{border-color:#111;background-color:#444;color:#fff}.item[ng-click]:hover{cursor:pointer}.item-borderless,.list-borderless .item{border-width:0}.item .item-content.activated,.item .item-content.activated.item-complex>.item-content,.item .item-content.active,.item .item-content.active.item-complex>.item-content,.item-complex.activated .item-content,.item-complex.activated .item-content.item-complex>.item-content,.item-complex.active .item-content,.item-complex.active .item-content.item-complex>.item-content,.item.activated,.item.activated.item-complex>.item-content,.item.active,.item.active.item-complex>.item-content{border-color:#ccc;background-color:#D9D9D9}.item .item-content.activated.item-light,.item .item-content.activated.item-light.item-complex>.item-content,.item .item-content.active.item-light,.item .item-content.active.item-light.item-complex>.item-content,.item-complex.activated .item-content.item-light,.item-complex.activated .item-content.item-light.item-complex>.item-content,.item-complex.active .item-content.item-light,.item-complex.active .item-content.item-light.item-complex>.item-content,.item.activated.item-light,.item.activated.item-light.item-complex>.item-content,.item.active.item-light,.item.active.item-light.item-complex>.item-content{border-color:#ccc;background-color:#fafafa}.item .item-content.activated.item-stable,.item .item-content.activated.item-stable.item-complex>.item-content,.item .item-content.active.item-stable,.item .item-content.active.item-stable.item-complex>.item-content,.item-complex.activated .item-content.item-stable,.item-complex.activated .item-content.item-stable.item-complex>.item-content,.item-complex.active .item-content.item-stable,.item-complex.active .item-content.item-stable.item-complex>.item-content,.item.activated.item-stable,.item.activated.item-stable.item-complex>.item-content,.item.active.item-stable,.item.active.item-stable.item-complex>.item-content{border-color:#a2a2a2;background-color:#e5e5e5}.item .item-content.activated.item-positive,.item .item-content.activated.item-positive.item-complex>.item-content,.item .item-content.active.item-positive,.item .item-content.active.item-positive.item-complex>.item-content,.item-complex.activated .item-content.item-positive,.item-complex.activated .item-content.item-positive.item-complex>.item-content,.item-complex.active .item-content.item-positive,.item-complex.active .item-content.item-positive.item-complex>.item-content,.item.activated.item-positive,.item.activated.item-positive.item-complex>.item-content,.item.active.item-positive,.item.active.item-positive.item-complex>.item-content{border-color:#0c60ee;background-color:#0c60ee}.item .item-content.activated.item-calm,.item .item-content.activated.item-calm.item-complex>.item-content,.item .item-content.active.item-calm,.item .item-content.active.item-calm.item-complex>.item-content,.item-complex.activated .item-content.item-calm,.item-complex.activated .item-content.item-calm.item-complex>.item-content,.item-complex.active .item-content.item-calm,.item-complex.active .item-content.item-calm.item-complex>.item-content,.item.activated.item-calm,.item.activated.item-calm.item-complex>.item-content,.item.active.item-calm,.item.active.item-calm.item-complex>.item-content{border-color:#0a9dc7;background-color:#0a9dc7}.item .item-content.activated.item-assertive,.item .item-content.activated.item-assertive.item-complex>.item-content,.item .item-content.active.item-assertive,.item .item-content.active.item-assertive.item-complex>.item-content,.item-complex.activated .item-content.item-assertive,.item-complex.activated .item-content.item-assertive.item-complex>.item-content,.item-complex.active .item-content.item-assertive,.item-complex.active .item-content.item-assertive.item-complex>.item-content,.item.activated.item-assertive,.item.activated.item-assertive.item-complex>.item-content,.item.active.item-assertive,.item.active.item-assertive.item-complex>.item-content{border-color:#e42112;background-color:#e42112}.item .item-content.activated.item-balanced,.item .item-content.activated.item-balanced.item-complex>.item-content,.item .item-content.active.item-balanced,.item .item-content.active.item-balanced.item-complex>.item-content,.item-complex.activated .item-content.item-balanced,.item-complex.activated .item-content.item-balanced.item-complex>.item-content,.item-complex.active .item-content.item-balanced,.item-complex.active .item-content.item-balanced.item-complex>.item-content,.item.activated.item-balanced,.item.activated.item-balanced.item-complex>.item-content,.item.active.item-balanced,.item.active.item-balanced.item-complex>.item-content{border-color:#28a54c;background-color:#28a54c}.item .item-content.activated.item-energized,.item .item-content.activated.item-energized.item-complex>.item-content,.item .item-content.active.item-energized,.item .item-content.active.item-energized.item-complex>.item-content,.item-complex.activated .item-content.item-energized,.item-complex.activated .item-content.item-energized.item-complex>.item-content,.item-complex.active .item-content.item-energized,.item-complex.active .item-content.item-energized.item-complex>.item-content,.item.activated.item-energized,.item.activated.item-energized.item-complex>.item-content,.item.active.item-energized,.item.active.item-energized.item-complex>.item-content{border-color:#e6b500;background-color:#e6b500}.item .item-content.activated.item-royal,.item .item-content.activated.item-royal.item-complex>.item-content,.item .item-content.active.item-royal,.item .item-content.active.item-royal.item-complex>.item-content,.item-complex.activated .item-content.item-royal,.item-complex.activated .item-content.item-royal.item-complex>.item-content,.item-complex.active .item-content.item-royal,.item-complex.active .item-content.item-royal.item-complex>.item-content,.item.activated.item-royal,.item.activated.item-royal.item-complex>.item-content,.item.active.item-royal,.item.active.item-royal.item-complex>.item-content{border-color:#6b46e5;background-color:#6b46e5}.item .item-content.activated.item-dark,.item .item-content.activated.item-dark.item-complex>.item-content,.item .item-content.active.item-dark,.item .item-content.active.item-dark.item-complex>.item-content,.item-complex.activated .item-content.item-dark,.item-complex.activated .item-content.item-dark.item-complex>.item-content,.item-complex.active .item-content.item-dark,.item-complex.active .item-content.item-dark.item-complex>.item-content,.item.activated.item-dark,.item.activated.item-dark.item-complex>.item-content,.item.active.item-dark,.item.active.item-dark.item-complex>.item-content{border-color:#000;background-color:#262626}.item,.item h1,.item h2,.item h3,.item h4,.item h5,.item h6,.item p,.item-content,.item-content h1,.item-content h2,.item-content h3,.item-content h4,.item-content h5,.item-content h6,.item-content p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.item{color:inherit;text-decoration:none}a.item:focus,a.item:hover{text-decoration:none}.item-complex,a.item.item-complex,button.item.item-complex{padding:0}.item-complex .item-content,.item-radio .item-content{position:relative;z-index:2;padding:16px 49px 16px 16px;border:none;background-color:#fff}a.item-content{display:block;color:inherit;text-decoration:none}.item-body h1,.item-body h2,.item-body h3,.item-body h4,.item-body h5,.item-body h6,.item-body p,.item-complex.item-text-wrap,.item-complex.item-text-wrap .item-content,.item-complex.item-text-wrap h1,.item-complex.item-text-wrap h2,.item-complex.item-text-wrap h3,.item-complex.item-text-wrap h4,.item-complex.item-text-wrap h5,.item-complex.item-text-wrap h6,.item-complex.item-text-wrap p,.item-text-wrap,.item-text-wrap .item,.item-text-wrap .item-content,.item-text-wrap h1,.item-text-wrap h2,.item-text-wrap h3,.item-text-wrap h4,.item-text-wrap h5,.item-text-wrap h6,.item-text-wrap p{overflow:visible;white-space:normal}.item-complex.item-light>.item-content{border-color:#ddd;background-color:#fff;color:#444}.item-complex.item-light>.item-content.active,.item-complex.item-light>.item-content.active.item-complex>.item-content,.item-complex.item-light>.item-content:active,.item-complex.item-light>.item-content:active.item-complex>.item-content{border-color:#ccc;background-color:#fafafa}.item-complex.item-stable>.item-content{border-color:#b2b2b2;background-color:#f8f8f8;color:#444}.item-complex.item-stable>.item-content.active,.item-complex.item-stable>.item-content.active.item-complex>.item-content,.item-complex.item-stable>.item-content:active,.item-complex.item-stable>.item-content:active.item-complex>.item-content{border-color:#a2a2a2;background-color:#e5e5e5}.item-complex.item-positive>.item-content{border-color:#0c60ee;background-color:#387ef5;color:#fff}.item-complex.item-positive>.item-content.active,.item-complex.item-positive>.item-content.active.item-complex>.item-content,.item-complex.item-positive>.item-content:active,.item-complex.item-positive>.item-content:active.item-complex>.item-content{border-color:#0c60ee;background-color:#0c60ee}.item-complex.item-calm>.item-content{border-color:#0a9dc7;background-color:#11c1f3;color:#fff}.item-complex.item-calm>.item-content.active,.item-complex.item-calm>.item-content.active.item-complex>.item-content,.item-complex.item-calm>.item-content:active,.item-complex.item-calm>.item-content:active.item-complex>.item-content{border-color:#0a9dc7;background-color:#0a9dc7}.item-complex.item-assertive>.item-content{border-color:#e42112;background-color:#ef473a;color:#fff}.item-complex.item-assertive>.item-content.active,.item-complex.item-assertive>.item-content.active.item-complex>.item-content,.item-complex.item-assertive>.item-content:active,.item-complex.item-assertive>.item-content:active.item-complex>.item-content{border-color:#e42112;background-color:#e42112}.item-complex.item-balanced>.item-content{border-color:#28a54c;background-color:#33cd5f;color:#fff}.item-complex.item-balanced>.item-content.active,.item-complex.item-balanced>.item-content.active.item-complex>.item-content,.item-complex.item-balanced>.item-content:active,.item-complex.item-balanced>.item-content:active.item-complex>.item-content{border-color:#28a54c;background-color:#28a54c}.item-complex.item-energized>.item-content{border-color:#e6b500;background-color:#ffc900;color:#fff}.item-complex.item-energized>.item-content.active,.item-complex.item-energized>.item-content.active.item-complex>.item-content,.item-complex.item-energized>.item-content:active,.item-complex.item-energized>.item-content:active.item-complex>.item-content{border-color:#e6b500;background-color:#e6b500}.item-complex.item-royal>.item-content{border-color:#6b46e5;background-color:#886aea;color:#fff}.item-complex.item-royal>.item-content.active,.item-complex.item-royal>.item-content.active.item-complex>.item-content,.item-complex.item-royal>.item-content:active,.item-complex.item-royal>.item-content:active.item-complex>.item-content{border-color:#6b46e5;background-color:#6b46e5}.item-complex.item-dark>.item-content{border-color:#111;background-color:#444;color:#fff}.item-complex.item-dark>.item-content.active,.item-complex.item-dark>.item-content.active.item-complex>.item-content,.item-complex.item-dark>.item-content:active,.item-complex.item-dark>.item-content:active.item-complex>.item-content{border-color:#000;background-color:#262626}.item-icon-left .icon,.item-icon-right .icon{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:0;height:100%;font-size:32px}.item-icon-left .icon:before,.item-icon-right .icon:before{display:block;width:32px;text-align:center}.item .fill-icon{min-width:30px;min-height:30px;font-size:28px}.item-icon-left{padding-left:54px}.item-icon-left .icon{left:11px}.item-complex.item-icon-left{padding-left:0}.item-complex.item-icon-left .item-content{padding-left:54px}.item-icon-right{padding-right:54px}.item-icon-right .icon{right:11px}.item-complex.item-icon-right{padding-right:0}.item-complex.item-icon-right .item-content{padding-right:54px}.item-icon-left.item-icon-right .icon:first-child{right:auto}.item-icon-left .item-delete .icon,.item-icon-left.item-icon-right .icon:last-child{left:auto}.item-icon-left .icon-accessory,.item-icon-right .icon-accessory{color:#ccc;font-size:16px}.item-icon-left .icon-accessory{left:3px}.item-icon-right .icon-accessory{right:3px}.item-button-left{padding-left:72px}.item-button-left .item-content>.button,.item-button-left>.button{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:8px;left:11px;min-width:34px;min-height:34px;font-size:18px;line-height:32px}.item-button-left .item-content>.button .icon:before,.item-button-left>.button .icon:before{position:relative;left:auto;width:auto;line-height:31px}.item-button-left .item-content>.button>.button,.item-button-left>.button>.button{margin:0 2px;min-height:34px;font-size:18px;line-height:32px}.item-button-right,a.item.item-button-right,button.item.item-button-right{padding-right:80px}.item-button-right .item-content>.button,.item-button-right .item-content>.buttons,.item-button-right>.button,.item-button-right>.buttons{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:8px;right:16px;min-width:34px;min-height:34px;font-size:18px;line-height:32px}.item-button-right .item-content>.button .icon:before,.item-button-right .item-content>.buttons .icon:before,.item-button-right>.button .icon:before,.item-button-right>.buttons .icon:before{position:relative;left:auto;width:auto;line-height:31px}.item-button-right .item-content>.button>.button,.item-button-right .item-content>.buttons>.button,.item-button-right>.button>.button,.item-button-right>.buttons>.button{margin:0 2px;min-width:34px;min-height:34px;font-size:18px;line-height:32px}.item-avatar,.item-avatar .item-content,.item-avatar-left,.item-avatar-left .item-content{padding-left:72px;min-height:72px}.item-avatar .item-content .item-image,.item-avatar .item-content>img:first-child,.item-avatar .item-image,.item-avatar-left .item-content .item-image,.item-avatar-left .item-content>img:first-child,.item-avatar-left .item-image,.item-avatar-left>img:first-child,.item-avatar>img:first-child{position:absolute;top:16px;left:16px;max-width:40px;max-height:40px;width:100%;height:100%;border-radius:50%}.item-avatar-right,.item-avatar-right .item-content{padding-right:72px;min-height:72px}.item-avatar-right .item-content .item-image,.item-avatar-right .item-content>img:first-child,.item-avatar-right .item-image,.item-avatar-right>img:first-child{position:absolute;top:16px;right:16px;max-width:40px;max-height:40px;width:100%;height:100%;border-radius:50%}.item-thumbnail-left,.item-thumbnail-left .item-content{padding-top:8px;padding-left:106px;min-height:100px}.item-thumbnail-left .item-content .item-image,.item-thumbnail-left .item-content>img:first-child,.item-thumbnail-left .item-image,.item-thumbnail-left>img:first-child{position:absolute;top:10px;left:10px;max-width:80px;max-height:80px;width:100%;height:100%}.item-avatar-left.item-complex,.item-avatar.item-complex,.item-thumbnail-left.item-complex{padding-top:0;padding-left:0}.item-thumbnail-right,.item-thumbnail-right .item-content{padding-top:8px;padding-right:106px;min-height:100px}.item-thumbnail-right .item-content .item-image,.item-thumbnail-right .item-content>img:first-child,.item-thumbnail-right .item-image,.item-thumbnail-right>img:first-child{position:absolute;top:10px;right:10px;max-width:80px;max-height:80px;width:100%;height:100%}.item-avatar-right.item-complex,.item-thumbnail-right.item-complex{padding-top:0;padding-right:0}.item-image{padding:0;text-align:center}.item-image .list-img,.item-image img:first-child{width:100%;vertical-align:middle}.item-body{overflow:auto;padding:16px;text-overflow:inherit;white-space:normal}.item-body h1,.item-body h2,.item-body h3,.item-body h4,.item-body h5,.item-body h6,.item-body p{margin-top:16px;margin-bottom:16px}.item-divider{padding-top:8px;padding-bottom:8px;min-height:30px;background-color:#f5f5f5;color:#222;font-weight:500}.item-divider-ios,.platform-ios .item-divider-platform{padding-top:26px;text-transform:uppercase;font-weight:300;font-size:13px;background-color:#efeff4;color:#555}.item-divider-android,.platform-android .item-divider-platform{font-weight:300;font-size:13px}.item-note{float:right;color:#aaa;font-size:14px}.item-left-editable .item-content,.item-right-editable .item-content{-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform}.item-left-editing.item-left-editable .item-content,.list-left-editing .item-left-editable .item-content{-webkit-transform:translate3d(50px,0,0);transform:translate3d(50px,0,0)}.item-remove-animate.ng-leave{-webkit-transition-duration:300ms;transition-duration:300ms}.item-remove-animate.ng-leave .item-content,.item-remove-animate.ng-leave:last-of-type{-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;-webkit-transition-property:all;transition-property:all}.item-remove-animate.ng-leave.ng-leave-active .item-content{opacity:0;-webkit-transform:translate3d(-100%,0,0)!important;transform:translate3d(-100%,0,0)!important}.item-remove-animate.ng-leave.ng-leave-active:last-of-type{opacity:0}.item-remove-animate.ng-leave.ng-leave-active~ion-item:not(.ng-leave){-webkit-transform:translate3d(0,-webkit-calc(-100% + 1px),0);transform:translate3d(0,calc(-100% + 1px),0);-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:cubic-bezier(.25,.81,.24,1);transition-timing-function:cubic-bezier(.25,.81,.24,1);-webkit-transition-property:all;transition-property:all}.item-left-edit{-webkit-transition:all ease-in-out 125ms;transition:all ease-in-out 125ms;position:absolute;top:0;left:0;z-index:0;width:50px;height:100%;line-height:100%;display:none;opacity:0;-webkit-transform:translate3d(-21px,0,0);transform:translate3d(-21px,0,0)}.item-left-edit .button{height:100%}.item-left-edit .button.icon{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:0;height:100%}.item-left-edit.visible{display:block}.item-left-edit.visible.active{opacity:1;-webkit-transform:translate3d(8px,0,0);transform:translate3d(8px,0,0)}.list-left-editing .item-left-edit{-webkit-transition-delay:125ms;transition-delay:125ms}.item-delete .button.icon{color:#ef473a;font-size:24px}.item-delete .button.icon:hover{opacity:.7}.item-right-edit{-webkit-transition:all ease-in-out 250ms;transition:all ease-in-out 250ms;position:absolute;top:0;right:0;z-index:3;width:75px;height:100%;background:inherit;padding-left:20px;display:block;opacity:0;-webkit-transform:translate3d(75px,0,0);transform:translate3d(75px,0,0)}.item-right-edit .button{min-width:50px;height:100%}.item-right-edit .button.icon{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:absolute;top:0;height:100%;font-size:32px}.item-right-edit.visible{display:block}.item-right-edit.visible.active{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.item-reorder .button.icon{color:#444;font-size:32px}.item-reordering{position:absolute;left:0;top:0;z-index:9;width:100%;box-shadow:0 0 10px 0 #aaa}.item-reordering .item-reorder{z-index:9}.item-placeholder{opacity:.7}.item-options{position:absolute;top:0;right:0;z-index:1;height:100%}.item-options .button{height:100%;border:none;border-radius:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}.item-options .button:before{margin:0 auto}.list{position:relative;padding-top:1px;padding-bottom:1px;padding-left:0;margin-bottom:20px}.list:last-child{margin-bottom:0}.list:last-child.card{margin-bottom:40px}.list-header{margin-top:20px;padding:5px 15px;background-color:transparent;color:#222;font-weight:700}.card.list .list-item{padding-right:1px;padding-left:1px}.card,.list-inset{overflow:hidden;margin:20px 10px;border-radius:2px;background-color:#fff}.card{padding-top:1px;padding-bottom:1px;box-shadow:0 1px 3px rgba(0,0,0,.3)}.card .item{border-left:0;border-right:0}.card .item:first-child{border-top:0}.card .item:last-child{border-bottom:0}.padding .card,.padding .list-inset{margin-left:0;margin-right:0}.card .item:first-child,.card .item:first-child .item-content,.list-inset .item:first-child,.list-inset .item:first-child .item-content,.padding>.list .item:first-child,.padding>.list .item:first-child .item-content{border-top-left-radius:2px;border-top-right-radius:2px}.card .item:last-child,.card .item:last-child .item-content,.list-inset .item:last-child,.list-inset .item:last-child .item-content,.padding>.list .item:last-child,.padding>.list .item:last-child .item-content{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.card .item:last-child,.list-inset .item:last-child{margin-bottom:-1px}.card .item,.list-inset .item,.padding-horizontal>.list .item,.padding>.list .item{margin-right:0;margin-left:0}.card .item.item-input input,.list-inset .item.item-input input,.padding-horizontal>.list .item.item-input input,.padding>.list .item.item-input input{padding-right:44px}.padding-left>.list .item{margin-left:0}.padding-right>.list .item{margin-right:0}.badge{background-color:transparent;color:#AAA;z-index:1;display:inline-block;padding:3px 8px;min-width:10px;border-radius:10px;vertical-align:baseline;text-align:center;white-space:nowrap;font-weight:700;font-size:14px;line-height:16px}.badge:empty{display:none}.badge.badge-light,.tabs .tab-item .badge.badge-light{background-color:#fff;color:#444}.badge.badge-stable,.tabs .tab-item .badge.badge-stable{background-color:#f8f8f8;color:#444}.badge.badge-positive,.tabs .tab-item .badge.badge-positive{background-color:#387ef5;color:#fff}.badge.badge-calm,.tabs .tab-item .badge.badge-calm{background-color:#11c1f3;color:#fff}.badge.badge-assertive,.tabs .tab-item .badge.badge-assertive{background-color:#ef473a;color:#fff}.badge.badge-balanced,.tabs .tab-item .badge.badge-balanced{background-color:#33cd5f;color:#fff}.badge.badge-energized,.tabs .tab-item .badge.badge-energized{background-color:#ffc900;color:#fff}.badge.badge-royal,.tabs .tab-item .badge.badge-royal{background-color:#886aea;color:#fff}.badge.badge-dark,.tabs .tab-item .badge.badge-dark{background-color:#444;color:#fff}.button .badge{position:relative;top:-1px}.slider{position:relative;visibility:hidden;overflow:hidden}.slider-slides{position:relative;height:100%}.slider-slide{position:relative;display:block;float:left;width:100%;height:100%;vertical-align:top}.slider-slide-image>img{width:100%}.slider-pager{position:absolute;bottom:20px;z-index:1;width:100%;height:15px;text-align:center}.slider-pager .slider-pager-page{display:inline-block;margin:0 3px;width:15px;color:#000;text-decoration:none;opacity:.3}.slider-pager .slider-pager-page.active{-webkit-transition:opacity .4s ease-in;transition:opacity .4s ease-in;opacity:1}.slider-pager-page.ng-animate,.slider-pager-page.ng-enter,.slider-pager-page.ng-leave,.slider-slide.ng-animate,.slider-slide.ng-enter,.slider-slide.ng-leave{-webkit-transition:none!important;transition:none!important}.slider-pager-page.ng-animate,.slider-slide.ng-animate{-webkit-animation:none 0s;animation:none 0s}.swiper-container{margin:0 auto;position:relative;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{display:block;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms;-moz-transition:300ms;-o-transition:300ms;transition:300ms;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination{bottom:10px;left:0;width:100%}.swiper-container-horizontal>.swiper-pagination .swiper-pagination-bullet{margin:0 5px}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(right,rgba(0,0,0,.5),transparent);background-image:linear-gradient(to left,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:linear-gradient(to right,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(transparent));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),transparent);background-image:linear-gradient(to top,rgba(0,0,0,.5),transparent)}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(transparent));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(top,rgba(0,0,0,.5),transparent);background-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide,.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;width:100%;height:100%;z-index:1}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}ion-slides{width:100%;height:100%;display:block}.slide-zoom{display:block;width:100%;text-align:center}.swiper-container{width:100%;height:100%;padding:0;overflow:hidden}.swiper-wrapper{position:absolute;left:0;top:0;width:100%;height:100%;padding:0}.swiper-slide{width:100%;height:100%;box-sizing:border-box}.swiper-slide img{width:auto;height:auto;max-width:100%;max-height:100%}.scroll-refresher{position:absolute;top:-60px;right:0;left:0;overflow:hidden;margin:auto;height:60px}.scroll-refresher .ionic-refresher-content{position:absolute;bottom:15px;left:0;width:100%;color:#666;text-align:center;font-size:30px}.scroll-refresher .ionic-refresher-content .text-pulling,.scroll-refresher .ionic-refresher-content .text-refreshing{font-size:16px;line-height:16px}.scroll-refresher .ionic-refresher-content.ionic-refresher-with-text{bottom:10px}.scroll-refresher .icon-pulling,.scroll-refresher .icon-refreshing{width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.scroll-refresher .icon-pulling{-webkit-animation-name:refresh-spin-back;animation-name:refresh-spin-back;-webkit-animation-duration:200ms;animation-duration:200ms;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:none;animation-fill-mode:none;-webkit-transform:translate3d(0,0,0) rotate(0deg);transform:translate3d(0,0,0) rotate(0deg)}.scroll-refresher .icon-refreshing,.scroll-refresher .text-refreshing{display:none}.scroll-refresher .icon-refreshing{-webkit-animation-duration:1.5s;animation-duration:1.5s}.scroll-refresher.active .icon-pulling:not(.pulling-rotation-disabled){-webkit-animation-name:refresh-spin;animation-name:refresh-spin;-webkit-transform:translate3d(0,0,0) rotate(-180deg);transform:translate3d(0,0,0) rotate(-180deg)}.scroll-refresher.active.refreshing{-webkit-transition:transform .2s;transition:transform .2s;-webkit-transform:scale(1,1);transform:scale(1,1)}.scroll-refresher.active.refreshing .icon-pulling,.scroll-refresher.active.refreshing .text-pulling{display:none}.scroll-refresher.active.refreshing .icon-refreshing,.scroll-refresher.active.refreshing .text-refreshing{display:block}.scroll-refresher.active.refreshing.refreshing-tail{-webkit-transform:scale(0,0);transform:scale(0,0)}.overflow-scroll>.scroll{-webkit-overflow-scrolling:touch;width:100%}.overflow-scroll>.scroll.overscroll{position:fixed;right:0;left:0}.overflow-scroll.padding>.scroll.overscroll{padding:10px}@-webkit-keyframes refresh-spin{0%{-webkit-transform:translate3d(0,0,0) rotate(0)}100%{-webkit-transform:translate3d(0,0,0) rotate(180deg)}}@keyframes refresh-spin{0%{transform:translate3d(0,0,0) rotate(0)}100%{transform:translate3d(0,0,0) rotate(180deg)}}@-webkit-keyframes refresh-spin-back{0%{-webkit-transform:translate3d(0,0,0) rotate(180deg)}100%{-webkit-transform:translate3d(0,0,0) rotate(0)}}@keyframes refresh-spin-back{0%{transform:translate3d(0,0,0) rotate(180deg)}100%{transform:translate3d(0,0,0) rotate(0)}}.spinner{stroke:#444;fill:#444}.spinner svg{width:28px;height:28px}.spinner.spinner-light{stroke:#fff;fill:#fff}.spinner.spinner-stable{stroke:#f8f8f8;fill:#f8f8f8}.spinner.spinner-positive{stroke:#387ef5;fill:#387ef5}.spinner.spinner-calm{stroke:#11c1f3;fill:#11c1f3}.spinner.spinner-balanced{stroke:#33cd5f;fill:#33cd5f}.spinner.spinner-assertive{stroke:#ef473a;fill:#ef473a}.spinner.spinner-energized{stroke:#ffc900;fill:#ffc900}.spinner.spinner-royal{stroke:#886aea;fill:#886aea}.spinner.spinner-dark{stroke:#444;fill:#444}.spinner-android{stroke:#4b8bf4}.spinner-ios,.spinner-ios-small{stroke:#69717d}.spinner-spiral .stop1{stop-color:#fff;stop-opacity:0}.spinner-spiral.spinner-light .stop1{stop-color:#444}.spinner-spiral.spinner-light .stop2{stop-color:#fff}.spinner-spiral.spinner-stable .stop2{stop-color:#f8f8f8}.spinner-spiral.spinner-positive .stop2{stop-color:#387ef5}.spinner-spiral.spinner-calm .stop2{stop-color:#11c1f3}.spinner-spiral.spinner-balanced .stop2{stop-color:#33cd5f}.spinner-spiral.spinner-assertive .stop2{stop-color:#ef473a}.spinner-spiral.spinner-energized .stop2{stop-color:#ffc900}.spinner-spiral.spinner-royal .stop2{stop-color:#886aea}.spinner-spiral.spinner-dark .stop2{stop-color:#444}form{margin:0 0 1.42857}legend{display:block;margin-bottom:1.42857;padding:0;width:100%;border:1px solid #ddd;color:#444;font-size:21px;line-height:2.85714}legend small{color:#f8f8f8;font-size:1.07143}button,input,label,select,textarea{font-weight:400;font-size:14px;line-height:1.42857}button,input,select,textarea{font-family:"-apple-system","Helvetica Neue",Roboto,"Segoe UI",sans-serif}.item-input{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:relative;overflow:hidden;padding:6px 0 5px 16px}.item-input input{-webkit-border-radius:0;border-radius:0;-webkit-box-flex:1;-webkit-flex:1 220px;-moz-box-flex:1;-moz-flex:1 220px;-ms-flex:1 220px;flex:1 220px;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding-right:24px;background-color:transparent}.item-input .button .icon{-webkit-box-flex:0;-webkit-flex:0 0 24px;-moz-box-flex:0;-moz-flex:0 0 24px;-ms-flex:0 0 24px;flex:0 0 24px;position:static;display:inline-block;height:auto;text-align:center;font-size:16px}.item-input .button-bar{-webkit-border-radius:0;border-radius:0;-webkit-box-flex:1;-webkit-flex:1 0 220px;-moz-box-flex:1;-moz-flex:1 0 220px;-ms-flex:1 0 220px;flex:1 0 220px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.item-input .icon{min-width:14px}.platform-windowsphone .item-input input{flex-shrink:1}.item-input-inset{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;position:relative;overflow:hidden;padding:10.67px}.item-input-wrapper{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0;-moz-box-flex:1;-moz-flex:1 0;-ms-flex:1 0;flex:1 0;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;-webkit-border-radius:4px;border-radius:4px;padding-right:8px;padding-left:8px;background:#eee}.item-input-inset .item-input-wrapper input{padding-left:4px;height:29px;background:0 0;line-height:18px}.item-input-wrapper~.button{margin-left:10.67px}.input-label{display:table;padding:7px 10px 7px 0;max-width:200px;width:35%;color:#444;font-size:16px}.placeholder-icon{color:#aaa}.placeholder-icon:first-child{padding-right:6px}.placeholder-icon:last-child{padding-left:6px}.item-stacked-label{display:block;background-color:transparent;box-shadow:none}.item-stacked-label .icon,.item-stacked-label .input-label{display:inline-block;padding:4px 0 0 0;vertical-align:middle}.item-stacked-label input,.item-stacked-label textarea{-webkit-border-radius:2px;border-radius:2px;padding:4px 8px 3px 0;border:none;background-color:#fff}.item-stacked-label input{overflow:hidden;height:46px}.item-select.item-stacked-label select{position:relative;padding:0;max-width:90%;direction:ltr;white-space:pre-wrap;margin:-3px}.item-floating-label{display:block;background-color:transparent;box-shadow:none}.item-floating-label .input-label{position:relative;padding:5px 0 0 0;opacity:0;top:10px;-webkit-transition:opacity .15s ease-in,top .2s linear;transition:opacity .15s ease-in,top .2s linear}.item-floating-label .input-label.has-input{opacity:1;top:0;-webkit-transition:opacity .15s ease-in,top .2s linear;transition:opacity .15s ease-in,top .2s linear}input[type=search],input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=tel],input[type=color],textarea{display:block;padding-top:2px;padding-left:0;height:34px;color:#111;vertical-align:middle;font-size:14px;line-height:16px}.platform-android input[type=datetime-local],.platform-android input[type=date],.platform-android input[type=month],.platform-android input[type=time],.platform-android input[type=week],.platform-ios input[type=datetime-local],.platform-ios input[type=date],.platform-ios input[type=month],.platform-ios input[type=time],.platform-ios input[type=week]{padding-top:8px}.item-input input,.item-input textarea{width:100%}textarea{padding-left:0}textarea::-moz-placeholder{color:#aaa}textarea:-ms-input-placeholder{color:#aaa}textarea::-webkit-input-placeholder{color:#aaa;text-indent:-3px}textarea{height:auto}input[type=search],input[type=text],input[type=password],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=number],input[type=email],input[type=url],input[type=tel],input[type=color],textarea{border:0}input[type=radio],input[type=checkbox]{margin:0;line-height:normal}.item-input input[type=button],.item-input input[type=reset],.item-input input[type=submit],.item-input input[type=radio],.item-input input[type=checkbox],.item-input input[type=file],.item-input input[type=image]{width:auto}input[type=file]{line-height:34px}.cloned-text-input+input,.cloned-text-input+textarea,.previous-input-focus{position:absolute!important;left:-9999px;width:200px}input::-moz-placeholder,textarea::-moz-placeholder{color:#aaa}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#aaa}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#aaa;text-indent:0}input[disabled],input[readonly]:not(.cloned-text-input),select[disabled],select[readonly],textarea[disabled],textarea[readonly]:not(.cloned-text-input){background-color:#f8f8f8;cursor:not-allowed}input[type=radio][disabled],input[type=radio][readonly],input[type=checkbox][disabled],input[type=checkbox][readonly]{background-color:transparent}.checkbox{position:relative;display:inline-block;padding:7px 7px;cursor:pointer}.checkbox .checkbox-icon:before,.checkbox input:before{border-color:#ddd}.checkbox input:checked+.checkbox-icon:before,.checkbox input:checked:before{background:#387ef5;border-color:#387ef5}.checkbox-light .checkbox-icon:before,.checkbox-light input:before{border-color:#ddd}.checkbox-light input:checked+.checkbox-icon:before,.checkbox-light input:checked:before{background:#ddd;border-color:#ddd}.checkbox-stable .checkbox-icon:before,.checkbox-stable input:before{border-color:#b2b2b2}.checkbox-stable input:checked+.checkbox-icon:before,.checkbox-stable input:checked:before{background:#b2b2b2;border-color:#b2b2b2}.checkbox-positive .checkbox-icon:before,.checkbox-positive input:before{border-color:#387ef5}.checkbox-positive input:checked+.checkbox-icon:before,.checkbox-positive input:checked:before{background:#387ef5;border-color:#387ef5}.checkbox-calm .checkbox-icon:before,.checkbox-calm input:before{border-color:#11c1f3}.checkbox-calm input:checked+.checkbox-icon:before,.checkbox-calm input:checked:before{background:#11c1f3;border-color:#11c1f3}.checkbox-assertive .checkbox-icon:before,.checkbox-assertive input:before{border-color:#ef473a}.checkbox-assertive input:checked+.checkbox-icon:before,.checkbox-assertive input:checked:before{background:#ef473a;border-color:#ef473a}.checkbox-balanced .checkbox-icon:before,.checkbox-balanced input:before{border-color:#33cd5f}.checkbox-balanced input:checked+.checkbox-icon:before,.checkbox-balanced input:checked:before{background:#33cd5f;border-color:#33cd5f}.checkbox-energized .checkbox-icon:before,.checkbox-energized input:before{border-color:#ffc900}.checkbox-energized input:checked+.checkbox-icon:before,.checkbox-energized input:checked:before{background:#ffc900;border-color:#ffc900}.checkbox-royal .checkbox-icon:before,.checkbox-royal input:before{border-color:#886aea}.checkbox-royal input:checked+.checkbox-icon:before,.checkbox-royal input:checked:before{background:#886aea;border-color:#886aea}.checkbox-dark .checkbox-icon:before,.checkbox-dark input:before{border-color:#444}.checkbox-dark input:checked+.checkbox-icon:before,.checkbox-dark input:checked:before{background:#444;border-color:#444}.checkbox input:disabled+.checkbox-icon:before,.checkbox input:disabled:before{border-color:#ddd}.checkbox input:disabled:checked+.checkbox-icon:before,.checkbox input:disabled:checked:before{background:#ddd}.checkbox.checkbox-input-hidden input{display:none!important}.checkbox input,.checkbox-icon{position:relative;width:28px;height:28px;display:block;border:0;background:0 0;cursor:pointer;-webkit-appearance:none}.checkbox input:before,.checkbox-icon:before{display:table;width:100%;height:100%;border-width:1px;border-style:solid;border-radius:28px;background:#fff;content:' ';-webkit-transition:background-color 20ms ease-in-out;transition:background-color 20ms ease-in-out}.checkbox input:checked:before,input:checked+.checkbox-icon:before{border-width:2px}.checkbox input:after,.checkbox-icon:after{-webkit-transition:opacity .05s ease-in-out;transition:opacity .05s ease-in-out;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);position:absolute;top:33%;left:25%;display:table;width:14px;height:6px;border:1px solid #fff;border-top:0;border-right:0;content:' ';opacity:0}.checkbox-square .checkbox-icon:before,.checkbox-square input:before,.platform-android .checkbox-platform .checkbox-icon:before,.platform-android .checkbox-platform input:before{border-radius:2px;width:72%;height:72%;margin-top:14%;margin-left:14%;border-width:2px}.checkbox-square .checkbox-icon:after,.checkbox-square input:after,.platform-android .checkbox-platform .checkbox-icon:after,.platform-android .checkbox-platform input:after{border-width:2px;top:19%;left:25%;width:13px;height:7px}.platform-android .item-checkbox-right .checkbox-square .checkbox-icon::after{top:31%}.grade-c .checkbox input:after,.grade-c .checkbox-icon:after{-webkit-transform:rotate(0);transform:rotate(0);top:3px;left:4px;border:none;color:#fff;content:'\2713';font-weight:700;font-size:20px}.checkbox input:checked:after,input:checked+.checkbox-icon:after{opacity:1}.item-checkbox{padding-left:60px}.item-checkbox.active{box-shadow:none}.item-checkbox .checkbox{position:absolute;top:50%;right:8px;left:8px;z-index:3;margin-top:-21px}.item-checkbox.item-checkbox-right{padding-right:60px;padding-left:16px}.item-checkbox-right .checkbox input,.item-checkbox-right .checkbox-icon{float:right}.item-toggle{pointer-events:none}.toggle{position:relative;display:inline-block;pointer-events:auto;margin:-5px;padding:5px}.toggle input:checked+.track{border-color:#4cd964;background-color:#4cd964}.toggle.dragging .handle{background-color:#f2f2f2!important}.toggle.toggle-light input:checked+.track{border-color:#ddd;background-color:#ddd}.toggle.toggle-stable input:checked+.track{border-color:#b2b2b2;background-color:#b2b2b2}.toggle.toggle-positive input:checked+.track{border-color:#387ef5;background-color:#387ef5}.toggle.toggle-calm input:checked+.track{border-color:#11c1f3;background-color:#11c1f3}.toggle.toggle-assertive input:checked+.track{border-color:#ef473a;background-color:#ef473a}.toggle.toggle-balanced input:checked+.track{border-color:#33cd5f;background-color:#33cd5f}.toggle.toggle-energized input:checked+.track{border-color:#ffc900;background-color:#ffc900}.toggle.toggle-royal input:checked+.track{border-color:#886aea;background-color:#886aea}.toggle.toggle-dark input:checked+.track{border-color:#444;background-color:#444}.toggle input{display:none}.toggle .track{-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color,border;transition-property:background-color,border;display:inline-block;box-sizing:border-box;width:51px;height:31px;border:solid 2px #e6e6e6;border-radius:20px;background-color:#fff;content:' ';cursor:pointer;pointer-events:none}.platform-android4_2 .toggle .track{-webkit-background-clip:padding-box}.toggle .handle{-webkit-transition:.3s cubic-bezier(0,1.1,1,1.1);transition:.3s cubic-bezier(0,1.1,1,1.1);-webkit-transition-property:background-color,transform;transition-property:background-color,transform;position:absolute;display:block;width:27px;height:27px;border-radius:27px;background-color:#fff;top:7px;left:7px;box-shadow:0 2px 7px rgba(0,0,0,.35),0 1px 1px rgba(0,0,0,.15)}.toggle .handle:before{position:absolute;top:-4px;left:-21.5px;padding:18.5px 34px;content:" "}.toggle input:checked+.track .handle{-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0);background-color:#fff}.item-toggle.active{box-shadow:none}.item-toggle,.item-toggle.item-complex .item-content{padding-right:99px}.item-toggle.item-complex{padding-right:0}.item-toggle .toggle{position:absolute;top:10px;right:16px;z-index:3}.toggle input:disabled+.track{opacity:.6}.toggle-small .track{border:0;width:34px;height:15px;background:#9e9e9e}.toggle-small input:checked+.track{background:rgba(0,150,137,.5)}.toggle-small .handle{top:2px;left:4px;width:21px;height:21px;box-shadow:0 2px 5px rgba(0,0,0,.25)}.toggle-small input:checked+.track .handle{-webkit-transform:translate3d(16px,0,0);transform:translate3d(16px,0,0);background:#009689}.toggle-small.item-toggle .toggle{top:19px}.toggle-small .toggle-light input:checked+.track{background-color:rgba(221,221,221,.5)}.toggle-small .toggle-light input:checked+.track .handle{background-color:#ddd}.toggle-small .toggle-stable input:checked+.track{background-color:rgba(178,178,178,.5)}.toggle-small .toggle-stable input:checked+.track .handle{background-color:#b2b2b2}.toggle-small .toggle-positive input:checked+.track{background-color:rgba(56,126,245,.5)}.toggle-small .toggle-positive input:checked+.track .handle{background-color:#387ef5}.toggle-small .toggle-calm input:checked+.track{background-color:rgba(17,193,243,.5)}.toggle-small .toggle-calm input:checked+.track .handle{background-color:#11c1f3}.toggle-small .toggle-assertive input:checked+.track{background-color:rgba(239,71,58,.5)}.toggle-small .toggle-assertive input:checked+.track .handle{background-color:#ef473a}.toggle-small .toggle-balanced input:checked+.track{background-color:rgba(51,205,95,.5)}.toggle-small .toggle-balanced input:checked+.track .handle{background-color:#33cd5f}.toggle-small .toggle-energized input:checked+.track{background-color:rgba(255,201,0,.5)}.toggle-small .toggle-energized input:checked+.track .handle{background-color:#ffc900}.toggle-small .toggle-royal input:checked+.track{background-color:rgba(136,106,234,.5)}.toggle-small .toggle-royal input:checked+.track .handle{background-color:#886aea}.toggle-small .toggle-dark input:checked+.track{background-color:rgba(68,68,68,.5)}.toggle-small .toggle-dark input:checked+.track .handle{background-color:#444}.item-radio{padding:0}.item-radio:hover{cursor:pointer}.item-radio .item-content{padding-right:64px}.item-radio .radio-icon{position:absolute;top:0;right:0;z-index:3;visibility:hidden;padding:14px;height:100%;font-size:24px}.item-radio input{position:absolute;left:-9999px}.item-radio input:checked+.radio-content .item-content{background:#f7f7f7}.item-radio input:checked+.radio-content .radio-icon{visibility:visible}.range input{overflow:hidden;margin-top:5px;margin-bottom:5px;padding-right:2px;padding-left:1px;width:auto;height:43px;outline:0;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0,#ccc),color-stop(100%,#ccc));background:linear-gradient(to right,#ccc 0,#ccc 100%);background-position:center;background-size:99% 2px;background-repeat:no-repeat;-webkit-appearance:none}.range input::-moz-focus-outer{border:0}.range input::-webkit-slider-thumb{position:relative;width:28px;height:28px;border-radius:50%;background-color:#fff;box-shadow:0 0 2px rgba(0,0,0,.3),0 3px 5px rgba(0,0,0,.2);cursor:pointer;-webkit-appearance:none;border:0}.range input::-webkit-slider-thumb:before{position:absolute;top:13px;left:-2001px;width:2000px;height:2px;background:#444;content:' '}.range input::-webkit-slider-thumb:after{position:absolute;top:-15px;left:-15px;padding:30px;content:' '}.range input::-ms-fill-lower{height:2px;background:#444}.range{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;padding:2px 11px}.range.range-light input::-webkit-slider-thumb:before{background:#ddd}.range.range-light input::-ms-fill-lower{background:#ddd}.range.range-stable input::-webkit-slider-thumb:before{background:#b2b2b2}.range.range-stable input::-ms-fill-lower{background:#b2b2b2}.range.range-positive input::-webkit-slider-thumb:before{background:#387ef5}.range.range-positive input::-ms-fill-lower{background:#387ef5}.range.range-calm input::-webkit-slider-thumb:before{background:#11c1f3}.range.range-calm input::-ms-fill-lower{background:#11c1f3}.range.range-balanced input::-webkit-slider-thumb:before{background:#33cd5f}.range.range-balanced input::-ms-fill-lower{background:#33cd5f}.range.range-assertive input::-webkit-slider-thumb:before{background:#ef473a}.range.range-assertive input::-ms-fill-lower{background:#ef473a}.range.range-energized input::-webkit-slider-thumb:before{background:#ffc900}.range.range-energized input::-ms-fill-lower{background:#ffc900}.range.range-royal input::-webkit-slider-thumb:before{background:#886aea}.range.range-royal input::-ms-fill-lower{background:#886aea}.range.range-dark input::-webkit-slider-thumb:before{background:#444}.range.range-dark input::-ms-fill-lower{background:#444}.range .icon{-webkit-box-flex:0;-webkit-flex:0;-moz-box-flex:0;-moz-flex:0;-ms-flex:0;flex:0;display:block;min-width:24px;text-align:center;font-size:24px}.range input{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;margin-right:10px;margin-left:10px}.range-label{-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-box-flex:0;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:block;white-space:nowrap}.range-label:first-child{padding-left:5px}.range input+.range-label{padding-right:5px;padding-left:0}.platform-windowsphone .range input{height:auto}.item-select{position:relative}.item-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:0;bottom:0;right:0;padding:0 48px 0 16px;max-width:65%;border:none;background:#fff;color:#333;text-indent:.01px;text-overflow:'';white-space:nowrap;font-size:14px;cursor:pointer;direction:rtl}.item-select select::-ms-expand{display:none}.item-select option{direction:ltr}.item-select:after{position:absolute;top:50%;right:16px;margin-top:-3px;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:#999;content:"";pointer-events:none}.item-select.item-light select{background:#fff;color:#444}.item-select.item-stable select{background:#f8f8f8;color:#444}.item-select.item-stable .input-label,.item-select.item-stable:after{color:#666}.item-select.item-positive select{background:#387ef5;color:#fff}.item-select.item-positive .input-label,.item-select.item-positive:after{color:#fff}.item-select.item-calm select{background:#11c1f3;color:#fff}.item-select.item-calm .input-label,.item-select.item-calm:after{color:#fff}.item-select.item-assertive select{background:#ef473a;color:#fff}.item-select.item-assertive .input-label,.item-select.item-assertive:after{color:#fff}.item-select.item-balanced select{background:#33cd5f;color:#fff}.item-select.item-balanced .input-label,.item-select.item-balanced:after{color:#fff}.item-select.item-energized select{background:#ffc900;color:#fff}.item-select.item-energized .input-label,.item-select.item-energized:after{color:#fff}.item-select.item-royal select{background:#886aea;color:#fff}.item-select.item-royal .input-label,.item-select.item-royal:after{color:#fff}.item-select.item-dark select{background:#444;color:#fff}.item-select.item-dark .input-label,.item-select.item-dark:after{color:#fff}select[multiple],select[size]{height:auto}progress{display:block;margin:15px auto;width:100%}.button{border-color:transparent;background-color:#f8f8f8;color:#444;position:relative;display:inline-block;margin:0;padding:0 12px;min-width:52px;min-height:47px;border-width:1px;border-style:solid;border-radius:4px;vertical-align:top;text-align:center;text-overflow:ellipsis;font-size:16px;line-height:42px;cursor:pointer}.button:hover{color:#444;text-decoration:none}.button.activated,.button.active{background-color:#e5e5e5}.button:after{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;content:' '}.button .icon{vertical-align:top;pointer-events:none}.button .icon:before,.button.icon-left:before,.button.icon-right:before,.button.icon:before{display:inline-block;padding:0 0 1px 0;vertical-align:inherit;font-size:24px;line-height:41px;pointer-events:none}.button.icon-left:before{float:left;padding-right:.2em;padding-left:0}.button.icon-right:before{float:right;padding-right:0;padding-left:.2em}.button.button-block,.button.button-full{margin-top:10px;margin-bottom:10px}.button.button-light{border-color:transparent;background-color:#fff;color:#444}.button.button-light:hover{color:#444;text-decoration:none}.button.button-light.activated,.button.button-light.active{background-color:#fafafa}.button.button-light.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#ddd}.button.button-light.button-icon{border-color:transparent;background:0 0}.button.button-light.button-outline{border-color:#ddd;background:0 0;color:#ddd}.button.button-light.button-outline.activated,.button.button-light.button-outline.active{background-color:#ddd;box-shadow:none;color:#fff}.button.button-stable{border-color:transparent;background-color:#f8f8f8;color:#444}.button.button-stable:hover{color:#444;text-decoration:none}.button.button-stable.activated,.button.button-stable.active{background-color:#e5e5e5}.button.button-stable.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#b2b2b2}.button.button-stable.button-icon{border-color:transparent;background:0 0}.button.button-stable.button-outline{border-color:#b2b2b2;background:0 0;color:#b2b2b2}.button.button-stable.button-outline.activated,.button.button-stable.button-outline.active{background-color:#b2b2b2;box-shadow:none;color:#fff}.button.button-positive{border-color:transparent;background-color:#387ef5;color:#fff}.button.button-positive:hover{color:#fff;text-decoration:none}.button.button-positive.activated,.button.button-positive.active{background-color:#0c60ee}.button.button-positive.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#387ef5}.button.button-positive.button-icon{border-color:transparent;background:0 0}.button.button-positive.button-outline{border-color:#387ef5;background:0 0;color:#387ef5}.button.button-positive.button-outline.activated,.button.button-positive.button-outline.active{background-color:#387ef5;box-shadow:none;color:#fff}.button.button-calm{border-color:transparent;background-color:#11c1f3;color:#fff}.button.button-calm:hover{color:#fff;text-decoration:none}.button.button-calm.activated,.button.button-calm.active{background-color:#0a9dc7}.button.button-calm.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#11c1f3}.button.button-calm.button-icon{border-color:transparent;background:0 0}.button.button-calm.button-outline{border-color:#11c1f3;background:0 0;color:#11c1f3}.button.button-calm.button-outline.activated,.button.button-calm.button-outline.active{background-color:#11c1f3;box-shadow:none;color:#fff}.button.button-assertive{border-color:transparent;background-color:#ef473a;color:#fff}.button.button-assertive:hover{color:#fff;text-decoration:none}.button.button-assertive.activated,.button.button-assertive.active{background-color:#e42112}.button.button-assertive.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#ef473a}.button.button-assertive.button-icon{border-color:transparent;background:0 0}.button.button-assertive.button-outline{border-color:#ef473a;background:0 0;color:#ef473a}.button.button-assertive.button-outline.activated,.button.button-assertive.button-outline.active{background-color:#ef473a;box-shadow:none;color:#fff}.button.button-balanced{border-color:transparent;background-color:#33cd5f;color:#fff}.button.button-balanced:hover{color:#fff;text-decoration:none}.button.button-balanced.activated,.button.button-balanced.active{background-color:#28a54c}.button.button-balanced.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#33cd5f}.button.button-balanced.button-icon{border-color:transparent;background:0 0}.button.button-balanced.button-outline{border-color:#33cd5f;background:0 0;color:#33cd5f}.button.button-balanced.button-outline.activated,.button.button-balanced.button-outline.active{background-color:#33cd5f;box-shadow:none;color:#fff}.button.button-energized{border-color:transparent;background-color:#ffc900;color:#fff}.button.button-energized:hover{color:#fff;text-decoration:none}.button.button-energized.activated,.button.button-energized.active{background-color:#e6b500}.button.button-energized.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#ffc900}.button.button-energized.button-icon{border-color:transparent;background:0 0}.button.button-energized.button-outline{border-color:#ffc900;background:0 0;color:#ffc900}.button.button-energized.button-outline.activated,.button.button-energized.button-outline.active{background-color:#ffc900;box-shadow:none;color:#fff}.button.button-royal{border-color:transparent;background-color:#886aea;color:#fff}.button.button-royal:hover{color:#fff;text-decoration:none}.button.button-royal.activated,.button.button-royal.active{background-color:#6b46e5}.button.button-royal.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#886aea}.button.button-royal.button-icon{border-color:transparent;background:0 0}.button.button-royal.button-outline{border-color:#886aea;background:0 0;color:#886aea}.button.button-royal.button-outline.activated,.button.button-royal.button-outline.active{background-color:#886aea;box-shadow:none;color:#fff}.button.button-dark{border-color:transparent;background-color:#444;color:#fff}.button.button-dark:hover{color:#fff;text-decoration:none}.button.button-dark.activated,.button.button-dark.active{background-color:#262626}.button.button-dark.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#444}.button.button-dark.button-icon{border-color:transparent;background:0 0}.button.button-dark.button-outline{border-color:#444;background:0 0;color:#444}.button.button-dark.button-outline.activated,.button.button-dark.button-outline.active{background-color:#444;box-shadow:none;color:#fff}.button-small{padding:2px 4px 1px;min-width:28px;min-height:30px;font-size:12px;line-height:26px}.button-small .icon:before,.button-small.icon-left:before,.button-small.icon-right:before,.button-small.icon:before{font-size:16px;line-height:19px;margin-top:3px}.button-large{padding:0 16px;min-width:68px;min-height:59px;font-size:20px;line-height:53px}.button-large .icon:before,.button-large.icon-left:before,.button-large.icon-right:before,.button-large.icon:before{padding-bottom:2px;font-size:32px;line-height:51px}.button-icon{-webkit-transition:opacity .1s;transition:opacity .1s;padding:0 6px;min-width:initial;border-color:transparent;background:0 0}.button-icon.button.activated,.button-icon.button.active{border-color:transparent;background:0 0;box-shadow:none;opacity:.3}.button-icon .icon:before,.button-icon.icon:before{font-size:32px}.button-clear{-webkit-transition:opacity .1s;transition:opacity .1s;padding:0 6px;max-height:42px;border-color:transparent;background:0 0;box-shadow:none}.button-clear.button-clear{border-color:transparent;background:0 0;box-shadow:none;color:#b2b2b2}.button-clear.button-icon{border-color:transparent;background:0 0}.button-clear.activated,.button-clear.active{opacity:.3}.button-outline{-webkit-transition:opacity .1s;transition:opacity .1s;background:0 0;box-shadow:none}.button-outline.button-outline{border-color:#b2b2b2;background:0 0;color:#b2b2b2}.button-outline.button-outline.activated,.button-outline.button-outline.active{background-color:#b2b2b2;box-shadow:none;color:#fff}.padding>.button.button-block:first-child{margin-top:0}.button-block{display:block;clear:both}.button-block:after{clear:both}.button-full,.button-full>.button{display:block;margin-right:0;margin-left:0;border-right-width:0;border-left-width:0;border-radius:0}.button-full>button.button,button.button-block,button.button-full,input.button.button-block{width:100%}a.button{text-decoration:none}a.button .icon:before,a.button.icon-left:before,a.button.icon-right:before,a.button.icon:before{margin-top:2px}.button.disabled,.button[disabled]{opacity:.4;cursor:default!important;pointer-events:none}.button-bar{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;width:100%}.button-bar.button-bar-inline{display:block;width:auto}.button-bar.button-bar-inline:after,.button-bar.button-bar-inline:before{display:table;content:"";line-height:0}.button-bar.button-bar-inline:after{clear:both}.button-bar.button-bar-inline>.button{width:auto;display:inline-block;float:left}.button-bar>.button{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;overflow:hidden;padding:0 16px;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.button-bar>.button .icon:before,.button-bar>.button:before{line-height:44px}.button-bar>.button:first-child{border-radius:4px 0 0 4px}.button-bar>.button:last-child{border-right-width:1px;border-radius:0 4px 4px 0}.button-bar>.button:only-child{border-radius:4px}.button-bar>.button-small .icon:before,.button-bar>.button-small:before{line-height:28px}.row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;padding:5px;width:100%}.row-wrap{-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.row-no-padding,.row-no-padding>.col{padding:0}.row+.row{margin-top:-5px;padding-top:0}.col{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;display:block;padding:5px;width:100%}.row-top{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;-moz-align-items:flex-start;align-items:flex-start}.row-bottom{-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;-moz-align-items:flex-end;align-items:flex-end}.row-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}.row-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;-moz-align-items:stretch;align-items:stretch}.row-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;-webkit-align-items:baseline;-moz-align-items:baseline;align-items:baseline}.col-top{-webkit-align-self:flex-start;-moz-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.col-bottom{-webkit-align-self:flex-end;-moz-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.col-center{-webkit-align-self:center;-moz-align-self:center;-ms-flex-item-align:center;align-self:center}.col-offset-10{margin-left:10%}.col-offset-20{margin-left:20%}.col-offset-25{margin-left:25%}.col-offset-33,.col-offset-34{margin-left:33.3333%}.col-offset-50{margin-left:50%}.col-offset-66,.col-offset-67{margin-left:66.6666%}.col-offset-75{margin-left:75%}.col-offset-80{margin-left:80%}.col-offset-90{margin-left:90%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 10%;-moz-box-flex:0;-moz-flex:0 0 10%;-ms-flex:0 0 10%;flex:0 0 10%;max-width:10%}.col-20{-webkit-box-flex:0;-webkit-flex:0 0 20%;-moz-box-flex:0;-moz-flex:0 0 20%;-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.col-25{-webkit-box-flex:0;-webkit-flex:0 0 25%;-moz-box-flex:0;-moz-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-33,.col-34{-webkit-box-flex:0;-webkit-flex:0 0 33.3333%;-moz-box-flex:0;-moz-flex:0 0 33.3333%;-ms-flex:0 0 33.3333%;flex:0 0 33.3333%;max-width:33.3333%}.col-40{-webkit-box-flex:0;-webkit-flex:0 0 40%;-moz-box-flex:0;-moz-flex:0 0 40%;-ms-flex:0 0 40%;flex:0 0 40%;max-width:40%}.col-50{-webkit-box-flex:0;-webkit-flex:0 0 50%;-moz-box-flex:0;-moz-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-60{-webkit-box-flex:0;-webkit-flex:0 0 60%;-moz-box-flex:0;-moz-flex:0 0 60%;-ms-flex:0 0 60%;flex:0 0 60%;max-width:60%}.col-66,.col-67{-webkit-box-flex:0;-webkit-flex:0 0 66.6666%;-moz-box-flex:0;-moz-flex:0 0 66.6666%;-ms-flex:0 0 66.6666%;flex:0 0 66.6666%;max-width:66.6666%}.col-75{-webkit-box-flex:0;-webkit-flex:0 0 75%;-moz-box-flex:0;-moz-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-80{-webkit-box-flex:0;-webkit-flex:0 0 80%;-moz-box-flex:0;-moz-flex:0 0 80%;-ms-flex:0 0 80%;flex:0 0 80%;max-width:80%}.col-90{-webkit-box-flex:0;-webkit-flex:0 0 90%;-moz-box-flex:0;-moz-flex:0 0 90%;-ms-flex:0 0 90%;flex:0 0 90%;max-width:90%}@media (max-width:567px){.responsive-sm{-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.responsive-sm .col,.responsive-sm .col-10,.responsive-sm .col-20,.responsive-sm .col-25,.responsive-sm .col-33,.responsive-sm .col-34,.responsive-sm .col-50,.responsive-sm .col-66,.responsive-sm .col-67,.responsive-sm .col-75,.responsive-sm .col-80,.responsive-sm .col-90{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin-bottom:15px;margin-left:0;max-width:100%;width:100%}}@media (max-width:767px){.responsive-md{-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.responsive-md .col,.responsive-md .col-10,.responsive-md .col-20,.responsive-md .col-25,.responsive-md .col-33,.responsive-md .col-34,.responsive-md .col-50,.responsive-md .col-66,.responsive-md .col-67,.responsive-md .col-75,.responsive-md .col-80,.responsive-md .col-90{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin-bottom:15px;margin-left:0;max-width:100%;width:100%}}@media (max-width:1023px){.responsive-lg{-webkit-box-direction:normal;-moz-box-direction:normal;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.responsive-lg .col,.responsive-lg .col-10,.responsive-lg .col-20,.responsive-lg .col-25,.responsive-lg .col-33,.responsive-lg .col-34,.responsive-lg .col-50,.responsive-lg .col-66,.responsive-lg .col-67,.responsive-lg .col-75,.responsive-lg .col-80,.responsive-lg .col-90{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-moz-flex:1;-ms-flex:1;flex:1;margin-bottom:15px;margin-left:0;max-width:100%;width:100%}}.hide{display:none}.opacity-hide{opacity:0}.grade-b .opacity-hide,.grade-c .opacity-hide{opacity:1;display:none}.show{display:block}.opacity-show{opacity:1}.invisible{visibility:hidden}.keyboard-open .hide-on-keyboard-open{display:none}.keyboard-open .bar-footer.hide-on-keyboard-open+.pane .has-footer,.keyboard-open .tabs.hide-on-keyboard-open+.pane .has-tabs{bottom:0}.inline{display:inline-block}.disable-pointer-events{pointer-events:none}.enable-pointer-events{pointer-events:auto}.disable-user-behavior{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-drag:none;-ms-touch-action:none;-ms-content-zooming:none}.click-block{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;z-index:99999;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);overflow:hidden}.click-block-hide{-webkit-transform:translate3d(-9999px,0,0);transform:translate3d(-9999px,0,0)}.no-resize{resize:none}.block{display:block;clear:both}.block:after{display:block;visibility:hidden;clear:both;height:0;content:"."}.full-image{width:100%}.clearfix:after,.clearfix:before{display:table;content:"";line-height:0}.clearfix:after{clear:both}.padding{padding:10px}.padding-top,.padding-vertical{padding-top:10px}.padding-horizontal,.padding-right{padding-right:10px}.padding-bottom,.padding-vertical{padding-bottom:10px}.padding-horizontal,.padding-left{padding-left:10px}.iframe-wrapper{position:fixed;-webkit-overflow-scrolling:touch;overflow:scroll}.iframe-wrapper iframe{height:100%;width:100%}.rounded{border-radius:4px}.light,a.light{color:#fff}.light-bg{background-color:#fff}.light-border{border-color:#ddd}.stable,a.stable{color:#f8f8f8}.stable-bg{background-color:#f8f8f8}.stable-border{border-color:#b2b2b2}.positive,a.positive{color:#387ef5}.positive-bg{background-color:#387ef5}.positive-border{border-color:#0c60ee}.calm,a.calm{color:#11c1f3}.calm-bg{background-color:#11c1f3}.calm-border{border-color:#0a9dc7}.assertive,a.assertive{color:#ef473a}.assertive-bg{background-color:#ef473a}.assertive-border{border-color:#e42112}.balanced,a.balanced{color:#33cd5f}.balanced-bg{background-color:#33cd5f}.balanced-border{border-color:#28a54c}.energized,a.energized{color:#ffc900}.energized-bg{background-color:#ffc900}.energized-border{border-color:#e6b500}.royal,a.royal{color:#886aea}.royal-bg{background-color:#886aea}.royal-border{border-color:#6b46e5}.dark,a.dark{color:#444}.dark-bg{background-color:#444}.dark-border{border-color:#111}[collection-repeat]{left:0!important;top:0!important;position:absolute!important;z-index:1}.collection-repeat-container{position:relative;z-index:1}.collection-repeat-after-container{z-index:0;display:block}.collection-repeat-after-container.horizontal{display:inline-block}.ng-cloak,.ng-hide:not(.ng-hide-animate),.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}.platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader){height:64px}.platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper{margin-top:19px!important}.platform-ios.platform-cordova:not(.fullscreen) .bar-header:not(.bar-subheader)>*{margin-top:20px}.platform-ios.platform-cordova:not(.fullscreen) .bar-subheader,.platform-ios.platform-cordova:not(.fullscreen) .has-header,.platform-ios.platform-cordova:not(.fullscreen) .tabs-top>.tabs,.platform-ios.platform-cordova:not(.fullscreen) .tabs.tabs-top{top:64px}.platform-ios.platform-cordova:not(.fullscreen) .has-subheader{top:108px}.platform-ios.platform-cordova:not(.fullscreen) .has-header.has-tabs-top{top:113px}.platform-ios.platform-cordova:not(.fullscreen) .has-header.has-subheader.has-tabs-top{top:157px}.platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader){height:44px}.platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader).item-input-inset .item-input-wrapper{margin-top:-1px}.platform-ios.platform-cordova .popover .bar-header:not(.bar-subheader)>*{margin-top:0}.platform-ios.platform-cordova .popover .bar-subheader,.platform-ios.platform-cordova .popover .has-header{top:44px}.platform-ios.platform-cordova .popover .has-subheader{top:88px}.platform-ios.platform-cordova.status-bar-hide{margin-bottom:20px}@media (orientation:landscape){.platform-ios.platform-browser.platform-ipad{position:fixed}}.platform-c:not(.enable-transitions) *{-webkit-transition:none!important;transition:none!important}.slide-in-up{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.slide-in-up.ng-enter,.slide-in-up>.ng-enter{-webkit-transition:all cubic-bezier(.1,.7,.1,1) 400ms;transition:all cubic-bezier(.1,.7,.1,1) 400ms}.slide-in-up.ng-enter-active,.slide-in-up>.ng-enter-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slide-in-up.ng-leave,.slide-in-up>.ng-leave{-webkit-transition:all ease-in-out 250ms;transition:all ease-in-out 250ms}@-webkit-keyframes scaleOut{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@keyframes scaleOut{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes superScaleIn{from{-webkit-transform:scale(1.2);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@keyframes superScaleIn{from{transform:scale(1.2);opacity:0}to{transform:scale(1);opacity:1}}[nav-view-transition=ios] [nav-view=entering],[nav-view-transition=ios] [nav-view=leaving]{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(.36,.66,.04,1);transition-timing-function:cubic-bezier(.36,.66,.04,1);-webkit-transition-property:opacity,-webkit-transform,box-shadow;transition-property:opacity,transform,box-shadow}[nav-view-transition=ios][nav-view-direction=forward],[nav-view-transition=ios][nav-view-direction=back]{background-color:#000}[nav-view-transition=ios] [nav-view=active],[nav-view-transition=ios][nav-view-direction=forward] [nav-view=entering],[nav-view-transition=ios][nav-view-direction=back] [nav-view=leaving]{z-index:3}[nav-view-transition=ios][nav-view-direction=forward] [nav-view=leaving],[nav-view-transition=ios][nav-view-direction=back] [nav-view=entering]{z-index:2}[nav-bar-transition=ios] .back-text,[nav-bar-transition=ios] .buttons,[nav-bar-transition=ios] .title{-webkit-transition-duration:500ms;transition-duration:500ms;-webkit-transition-timing-function:cubic-bezier(.36,.66,.04,1);transition-timing-function:cubic-bezier(.36,.66,.04,1);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,transform}[nav-bar-transition=ios] [nav-bar=entering],[nav-bar-transition=ios] [nav-bar=active]{z-index:10}[nav-bar-transition=ios] [nav-bar=entering] .bar,[nav-bar-transition=ios] [nav-bar=active] .bar{background:0 0}[nav-bar-transition=ios] [nav-bar=cached]{display:block}[nav-bar-transition=ios] [nav-bar=cached] .header-item{display:none}[nav-view-transition=android] [nav-view=entering],[nav-view-transition=android] [nav-view=leaving]{-webkit-transition-duration:200ms;transition-duration:200ms;-webkit-transition-timing-function:cubic-bezier(.4,.6,.2,1);transition-timing-function:cubic-bezier(.4,.6,.2,1);-webkit-transition-property:-webkit-transform;transition-property:transform}[nav-view-transition=android] [nav-view=active],[nav-view-transition=android][nav-view-direction=forward] [nav-view=entering],[nav-view-transition=android][nav-view-direction=back] [nav-view=leaving]{z-index:3}[nav-view-transition=android][nav-view-direction=forward] [nav-view=leaving],[nav-view-transition=android][nav-view-direction=back] [nav-view=entering]{z-index:2}[nav-bar-transition=android] .buttons,[nav-bar-transition=android] .title{-webkit-transition-duration:200ms;transition-duration:200ms;-webkit-transition-timing-function:cubic-bezier(.4,.6,.2,1);transition-timing-function:cubic-bezier(.4,.6,.2,1);-webkit-transition-property:opacity;transition-property:opacity}[nav-bar-transition=android] [nav-bar=entering],[nav-bar-transition=android] [nav-bar=active]{z-index:10}[nav-bar-transition=android] [nav-bar=entering] .bar,[nav-bar-transition=android] [nav-bar=active] .bar{background:0 0}[nav-bar-transition=android] [nav-bar=cached]{display:block}[nav-bar-transition=android] [nav-bar=cached] .header-item{display:none}[nav-swipe=fast] .back-text,[nav-swipe=fast] .buttons,[nav-swipe=fast] .title,[nav-swipe=fast] [nav-view]{-webkit-transition-duration:50ms;transition-duration:50ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}[nav-swipe=slow] .back-text,[nav-swipe=slow] .buttons,[nav-swipe=slow] .title,[nav-swipe=slow] [nav-view]{-webkit-transition-duration:160ms;transition-duration:160ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}[nav-bar=cached],[nav-view=cached]{display:none}[nav-view=stage]{opacity:0;-webkit-transition-duration:0;transition-duration:0}[nav-bar=stage] .back-text,[nav-bar=stage] .buttons,[nav-bar=stage] .title{position:absolute;opacity:0;-webkit-transition-duration:0s;transition-duration:0s} \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic/fonts/ionicons.eot b/platforms/android/assets/www/lib/ionic/fonts/ionicons.eot new file mode 100644 index 0000000000000000000000000000000000000000..92a3f20a39267ae7f45144f412a995a663730360 GIT binary patch literal 120724 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

8E#xmG!w{$tO5=<$!EHPzZXo}IBc1_sqA&q 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 literal 0 HcmV?d00001 diff --git a/platforms/android/assets/www/lib/ionic/fonts/ionicons.woff b/platforms/android/assets/www/lib/ionic/fonts/ionicons.woff new file mode 100644 index 0000000000000000000000000000000000000000..5f3a14e0a5ca6d20cc4fac708979e807b0d51bc3 GIT binary patch literal 67904 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

  • F(S(gioucm()OHA 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 E0LEz`i~s-t literal 0 HcmV?d00001 diff --git a/platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.css b/platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.css new file mode 100644 index 0000000..2399049 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.css @@ -0,0 +1,6 @@ +/*! + * Angular Material Design + * https://github.com/angular/material + * @license MIT + * v1.0.0 + */body,html{height:100%;color:rgba(0,0,0,.87);background:#fff;position:relative}body{margin:0;padding:0}[tabindex='-1']:focus{outline:0}.inset{padding:10px}button.md-no-style{font-weight:400;background-color:inherit;text-align:left;border:none;padding:0;margin:0}button,input,select,textarea{vertical-align:baseline}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default}textarea{vertical-align:top;overflow:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.md-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;text-transform:none;width:1px}.md-shadow{position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;pointer-events:none}.md-shadow-bottom-z-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-shadow-bottom-z-2{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-shadow-animated.md-shadow{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.md-ripple-container{pointer-events:none;position:absolute;overflow:hidden;left:0;top:0;width:100%;height:100%;transition:all .55s cubic-bezier(.25,.8,.25,1)}.md-ripple{position:absolute;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;opacity:0;border-radius:50%}.md-ripple.md-ripple-placed{transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1)}.md-ripple.md-ripple-scaled{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.md-ripple.md-ripple-active,.md-ripple.md-ripple-full,.md-ripple.md-ripple-visible{opacity:.2}.md-padding{padding:8px}.md-margin{margin:8px}.md-scroll-mask{position:absolute;background-color:transparent;top:0;right:0;bottom:0;left:0}.md-scroll-mask>.md-scroll-mask-bar{display:block;position:absolute;background-color:#fafafa;right:0;top:0;bottom:0;z-index:65;box-shadow:inset 0 0 1px rgba(0,0,0,.3)}@media (min-width:960px){.md-padding{padding:16px}}body,html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;min-height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md-display-4{font-size:112px;font-weight:300;letter-spacing:-.010em;line-height:112px}.md-display-3{font-size:56px;font-weight:400;letter-spacing:-.005em;line-height:56px}.md-display-2{font-size:45px;font-weight:400;line-height:64px}.md-display-1{font-size:34px;font-weight:400;line-height:40px}.md-headline{font-size:24px;font-weight:400;line-height:32px}.md-title{font-size:20px;font-weight:500;letter-spacing:.005em}.md-subhead{font-size:16px;font-weight:400;letter-spacing:.010em;line-height:24px}.md-body-1{font-size:14px;font-weight:400;letter-spacing:.010em;line-height:20px}.md-body-2{font-size:14px;font-weight:500;letter-spacing:.010em;line-height:24px}.md-caption{font-size:12px;letter-spacing:.020em}.md-button{letter-spacing:.010em}button,html,input,select,textarea{font-family:Roboto,"Helvetica Neue",sans-serif}button,input,select,textarea{font-size:100%}@-moz-document url-prefix(){.layout-fill{margin:0;width:100%;min-height:100%;height:100%}}.flex-order{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-0,.offset-0{margin-left:0}.flex-offset-5,.offset-5{margin-left:5%}.flex-offset-10,.offset-10{margin-left:10%}.flex-offset-15,.offset-15{margin-left:15%}.flex-offset-20,.offset-20{margin-left:20%}.flex-offset-25,.offset-25{margin-left:25%}.flex-offset-30,.offset-30{margin-left:30%}.flex-offset-35,.offset-35{margin-left:35%}.flex-offset-40,.offset-40{margin-left:40%}.flex-offset-45,.offset-45{margin-left:45%}.flex-offset-50,.offset-50{margin-left:50%}.flex-offset-55,.offset-55{margin-left:55%}.flex-offset-60,.offset-60{margin-left:60%}.flex-offset-65,.offset-65{margin-left:65%}.flex-offset-70,.offset-70{margin-left:70%}.flex-offset-75,.offset-75{margin-left:75%}.flex-offset-80,.offset-80{margin-left:80%}.flex-offset-85,.offset-85{margin-left:85%}.flex-offset-90,.offset-90{margin-left:90%}.flex-offset-95,.offset-95{margin-left:95%}.flex-offset-33,.offset-33{margin-left:calc(100% / 3)}.flex-offset-66,.offset-66{margin-left:calc(200% / 3)}.layout-align{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-start,.layout-align-start-center,.layout-align-start-end,.layout-align-start-start,.layout-align-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-center,.layout-align-center-center,.layout-align-center-end,.layout-align-center-start,.layout-align-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-end,.layout-align-end-center,.layout-align-end-end,.layout-align-end-start,.layout-align-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-space-around,.layout-align-space-around-center,.layout-align-space-around-end,.layout-align-space-around-start,.layout-align-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-space-between,.layout-align-space-between-center,.layout-align-space-between-end,.layout-align-space-between-start,.layout-align-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-center-start,.layout-align-end-start,.layout-align-space-around-start,.layout-align-space-between-start,.layout-align-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-center-center,.layout-align-end-center,.layout-align-space-around-center,.layout-align-space-between-center,.layout-align-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-center-center>*,.layout-align-end-center>*,.layout-align-space-around-center>*,.layout-align-space-between-center>*,.layout-align-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-center-end,.layout-align-end-end,.layout-align-space-around-end,.layout-align-space-between-end,.layout-align-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-center-stretch,.layout-align-end-stretch,.layout-align-space-around-stretch,.layout-align-space-between-stretch,.layout-align-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}@media screen\0{.flex{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}.flex-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-0,.layout-row>.flex-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-5,.layout-row>.flex-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-10,.layout-row>.flex-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-15,.layout-row>.flex-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-20,.layout-row>.flex-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-25,.layout-row>.flex-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-30,.layout-row>.flex-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-35,.layout-row>.flex-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-40,.layout-row>.flex-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-45,.layout-row>.flex-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-50,.layout-row>.flex-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-55,.layout-row>.flex-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-60,.layout-row>.flex-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-65,.layout-row>.flex-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-70,.layout-row>.flex-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-75,.layout-row>.flex-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-80,.layout-row>.flex-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-85,.layout-row>.flex-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-90,.layout-row>.flex-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-95,.layout-row>.flex-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-100,.layout-column>.flex-100,.layout-row>.flex-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-row>.flex-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout,.layout-column,.layout-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.layout-padding-sm>*,.layout-padding>.flex-sm{padding:4px}.layout-padding,.layout-padding-gt-sm,.layout-padding-gt-sm>*,.layout-padding-md,.layout-padding-md>*,.layout-padding>*,.layout-padding>.flex,.layout-padding>.flex-gt-sm,.layout-padding>.flex-md{padding:8px}.layout-padding-gt-lg>*,.layout-padding-gt-md>*,.layout-padding-lg>*,.layout-padding>.flex-gt-lg,.layout-padding>.flex-gt-md,.layout-padding>.flex-lg{padding:16px}.layout-margin-sm>*,.layout-margin>.flex-sm{margin:4px}.layout-margin,.layout-margin-gt-sm,.layout-margin-gt-sm>*,.layout-margin-md,.layout-margin-md>*,.layout-margin>*,.layout-margin>.flex,.layout-margin>.flex-gt-sm,.layout-margin>.flex-md{margin:8px}.layout-margin-gt-lg>*,.layout-margin-gt-md>*,.layout-margin-lg>*,.layout-margin>.flex-gt-lg,.layout-margin>.flex-gt-md,.layout-margin>.flex-lg{margin:16px}.layout-wrap{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.layout-nowrap{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.layout-fill{margin:0;width:100%;min-height:100%;height:100%}@media (max-width:599px){.hide-xs:not(.show-xs):not(.show),.hide:not(.show-xs):not(.show){display:none}.flex-order-xs--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-xs--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-xs--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-xs--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-xs--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-xs--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-xs--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-xs--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-xs--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-xs--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-xs--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-xs--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-xs--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-xs--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-xs--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-xs--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-xs--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-xs--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-xs--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-xs--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-xs-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-xs-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-xs-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-xs-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-xs-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-xs-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-xs-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-xs-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-xs-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-xs-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-xs-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-xs-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-xs-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-xs-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-xs-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-xs-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-xs-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-xs-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-xs-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-xs-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-xs-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-xs-0,.offset-xs-0{margin-left:0}.flex-offset-xs-5,.offset-xs-5{margin-left:5%}.flex-offset-xs-10,.offset-xs-10{margin-left:10%}.flex-offset-xs-15,.offset-xs-15{margin-left:15%}.flex-offset-xs-20,.offset-xs-20{margin-left:20%}.flex-offset-xs-25,.offset-xs-25{margin-left:25%}.flex-offset-xs-30,.offset-xs-30{margin-left:30%}.flex-offset-xs-35,.offset-xs-35{margin-left:35%}.flex-offset-xs-40,.offset-xs-40{margin-left:40%}.flex-offset-xs-45,.offset-xs-45{margin-left:45%}.flex-offset-xs-50,.offset-xs-50{margin-left:50%}.flex-offset-xs-55,.offset-xs-55{margin-left:55%}.flex-offset-xs-60,.offset-xs-60{margin-left:60%}.flex-offset-xs-65,.offset-xs-65{margin-left:65%}.flex-offset-xs-70,.offset-xs-70{margin-left:70%}.flex-offset-xs-75,.offset-xs-75{margin-left:75%}.flex-offset-xs-80,.offset-xs-80{margin-left:80%}.flex-offset-xs-85,.offset-xs-85{margin-left:85%}.flex-offset-xs-90,.offset-xs-90{margin-left:90%}.flex-offset-xs-95,.offset-xs-95{margin-left:95%}.flex-offset-xs-33,.offset-xs-33{margin-left:calc(100% / 3)}.flex-offset-xs-66,.offset-xs-66{margin-left:calc(200% / 3)}.layout-align-xs{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-xs-start,.layout-align-xs-start-center,.layout-align-xs-start-end,.layout-align-xs-start-start,.layout-align-xs-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-xs-center,.layout-align-xs-center-center,.layout-align-xs-center-end,.layout-align-xs-center-start,.layout-align-xs-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-xs-end,.layout-align-xs-end-center,.layout-align-xs-end-end,.layout-align-xs-end-start,.layout-align-xs-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-xs-space-around,.layout-align-xs-space-around-center,.layout-align-xs-space-around-end,.layout-align-xs-space-around-start,.layout-align-xs-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-xs-space-between,.layout-align-xs-space-between-center,.layout-align-xs-space-between-end,.layout-align-xs-space-between-start,.layout-align-xs-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-xs-center-start,.layout-align-xs-end-start,.layout-align-xs-space-around-start,.layout-align-xs-space-between-start,.layout-align-xs-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-xs-center-center,.layout-align-xs-end-center,.layout-align-xs-space-around-center,.layout-align-xs-space-between-center,.layout-align-xs-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-xs-center-center>*,.layout-align-xs-end-center>*,.layout-align-xs-space-around-center>*,.layout-align-xs-space-between-center>*,.layout-align-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xs-center-end,.layout-align-xs-end-end,.layout-align-xs-space-around-end,.layout-align-xs-space-between-end,.layout-align-xs-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-xs-center-stretch,.layout-align-xs-end-stretch,.layout-align-xs-space-around-stretch,.layout-align-xs-space-between-stretch,.layout-align-xs-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-xs{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (max-width:599px){.flex-xs{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (max-width:599px){.flex-xs-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-xs-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xs-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-xs-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-xs-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-xs-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xs-0,.layout-row>.flex-xs-0,.layout-xs-row>.flex-xs-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-0,.layout-xs-column>.flex-xs-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-xs-5,.layout-row>.flex-xs-5,.layout-xs-row>.flex-xs-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-5,.layout-xs-column>.flex-xs-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-xs-10,.layout-row>.flex-xs-10,.layout-xs-row>.flex-xs-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-10,.layout-xs-column>.flex-xs-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-xs-15,.layout-row>.flex-xs-15,.layout-xs-row>.flex-xs-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-15,.layout-xs-column>.flex-xs-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-xs-20,.layout-row>.flex-xs-20,.layout-xs-row>.flex-xs-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-20,.layout-xs-column>.flex-xs-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-xs-25,.layout-row>.flex-xs-25,.layout-xs-row>.flex-xs-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-25,.layout-xs-column>.flex-xs-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-xs-30,.layout-row>.flex-xs-30,.layout-xs-row>.flex-xs-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-30,.layout-xs-column>.flex-xs-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-xs-35,.layout-row>.flex-xs-35,.layout-xs-row>.flex-xs-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-35,.layout-xs-column>.flex-xs-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-xs-40,.layout-row>.flex-xs-40,.layout-xs-row>.flex-xs-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-40,.layout-xs-column>.flex-xs-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-xs-45,.layout-row>.flex-xs-45,.layout-xs-row>.flex-xs-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-45,.layout-xs-column>.flex-xs-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-xs-50,.layout-row>.flex-xs-50,.layout-xs-row>.flex-xs-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-50,.layout-xs-column>.flex-xs-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-xs-55,.layout-row>.flex-xs-55,.layout-xs-row>.flex-xs-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-55,.layout-xs-column>.flex-xs-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-xs-60,.layout-row>.flex-xs-60,.layout-xs-row>.flex-xs-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-60,.layout-xs-column>.flex-xs-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-xs-65,.layout-row>.flex-xs-65,.layout-xs-row>.flex-xs-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-65,.layout-xs-column>.flex-xs-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-xs-70,.layout-row>.flex-xs-70,.layout-xs-row>.flex-xs-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-70,.layout-xs-column>.flex-xs-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-xs-75,.layout-row>.flex-xs-75,.layout-xs-row>.flex-xs-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-75,.layout-xs-column>.flex-xs-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-xs-80,.layout-row>.flex-xs-80,.layout-xs-row>.flex-xs-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-80,.layout-xs-column>.flex-xs-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-xs-85,.layout-row>.flex-xs-85,.layout-xs-row>.flex-xs-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-85,.layout-xs-column>.flex-xs-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-xs-90,.layout-row>.flex-xs-90,.layout-xs-row>.flex-xs-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-90,.layout-xs-column>.flex-xs-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-xs-95,.layout-row>.flex-xs-95,.layout-xs-row>.flex-xs-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-95,.layout-xs-column>.flex-xs-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-xs-100,.layout-column>.flex-xs-100,.layout-row>.flex-xs-100,.layout-xs-column>.flex-xs-100,.layout-xs-row>.flex-xs-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-33,.layout-xs-row>.flex-xs-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-66,.layout-xs-row>.flex-xs-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-xs-33,.layout-xs-column>.flex-xs-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-xs-66,.layout-xs-column>.flex-xs-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-xs,.layout-xs-column,.layout-xs-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-xs-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-xs-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}@media (min-width:600px){.flex-order-gt-xs--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-gt-xs--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-gt-xs--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-gt-xs--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-gt-xs--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-gt-xs--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-gt-xs--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-gt-xs--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-gt-xs--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-gt-xs--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-gt-xs--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-gt-xs--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-gt-xs--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-gt-xs--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-gt-xs--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-gt-xs--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-gt-xs--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-gt-xs--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-gt-xs--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-gt-xs--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-gt-xs-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-gt-xs-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-gt-xs-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-gt-xs-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-gt-xs-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-gt-xs-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-gt-xs-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-gt-xs-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-gt-xs-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-gt-xs-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-gt-xs-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-gt-xs-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-gt-xs-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-gt-xs-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-gt-xs-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-gt-xs-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-gt-xs-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-gt-xs-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-gt-xs-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-gt-xs-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-gt-xs-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-gt-xs-0,.offset-gt-xs-0{margin-left:0}.flex-offset-gt-xs-5,.offset-gt-xs-5{margin-left:5%}.flex-offset-gt-xs-10,.offset-gt-xs-10{margin-left:10%}.flex-offset-gt-xs-15,.offset-gt-xs-15{margin-left:15%}.flex-offset-gt-xs-20,.offset-gt-xs-20{margin-left:20%}.flex-offset-gt-xs-25,.offset-gt-xs-25{margin-left:25%}.flex-offset-gt-xs-30,.offset-gt-xs-30{margin-left:30%}.flex-offset-gt-xs-35,.offset-gt-xs-35{margin-left:35%}.flex-offset-gt-xs-40,.offset-gt-xs-40{margin-left:40%}.flex-offset-gt-xs-45,.offset-gt-xs-45{margin-left:45%}.flex-offset-gt-xs-50,.offset-gt-xs-50{margin-left:50%}.flex-offset-gt-xs-55,.offset-gt-xs-55{margin-left:55%}.flex-offset-gt-xs-60,.offset-gt-xs-60{margin-left:60%}.flex-offset-gt-xs-65,.offset-gt-xs-65{margin-left:65%}.flex-offset-gt-xs-70,.offset-gt-xs-70{margin-left:70%}.flex-offset-gt-xs-75,.offset-gt-xs-75{margin-left:75%}.flex-offset-gt-xs-80,.offset-gt-xs-80{margin-left:80%}.flex-offset-gt-xs-85,.offset-gt-xs-85{margin-left:85%}.flex-offset-gt-xs-90,.offset-gt-xs-90{margin-left:90%}.flex-offset-gt-xs-95,.offset-gt-xs-95{margin-left:95%}.flex-offset-gt-xs-33,.offset-gt-xs-33{margin-left:calc(100% / 3)}.flex-offset-gt-xs-66,.offset-gt-xs-66{margin-left:calc(200% / 3)}.layout-align-gt-xs{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-gt-xs-start,.layout-align-gt-xs-start-center,.layout-align-gt-xs-start-end,.layout-align-gt-xs-start-start,.layout-align-gt-xs-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-gt-xs-center,.layout-align-gt-xs-center-center,.layout-align-gt-xs-center-end,.layout-align-gt-xs-center-start,.layout-align-gt-xs-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-gt-xs-end,.layout-align-gt-xs-end-center,.layout-align-gt-xs-end-end,.layout-align-gt-xs-end-start,.layout-align-gt-xs-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-gt-xs-space-around,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-gt-xs-space-between,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-gt-xs-center-start,.layout-align-gt-xs-end-start,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-gt-xs-center-center,.layout-align-gt-xs-end-center,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-gt-xs-center-center>*,.layout-align-gt-xs-end-center>*,.layout-align-gt-xs-space-around-center>*,.layout-align-gt-xs-space-between-center>*,.layout-align-gt-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-xs-center-end,.layout-align-gt-xs-end-end,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-gt-xs-center-stretch,.layout-align-gt-xs-end-stretch,.layout-align-gt-xs-space-around-stretch,.layout-align-gt-xs-space-between-stretch,.layout-align-gt-xs-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-gt-xs{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:600px){.flex-gt-xs{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:600px){.flex-gt-xs-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-gt-xs-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-xs-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-xs-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-xs-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-0,.layout-gt-xs-row>.flex-gt-xs-0,.layout-row>.flex-gt-xs-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-0,.layout-gt-xs-column>.flex-gt-xs-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-gt-xs-5,.layout-gt-xs-row>.flex-gt-xs-5,.layout-row>.flex-gt-xs-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-5,.layout-gt-xs-column>.flex-gt-xs-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-xs-10,.layout-gt-xs-row>.flex-gt-xs-10,.layout-row>.flex-gt-xs-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-10,.layout-gt-xs-column>.flex-gt-xs-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-xs-15,.layout-gt-xs-row>.flex-gt-xs-15,.layout-row>.flex-gt-xs-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-15,.layout-gt-xs-column>.flex-gt-xs-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-xs-20,.layout-gt-xs-row>.flex-gt-xs-20,.layout-row>.flex-gt-xs-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-20,.layout-gt-xs-column>.flex-gt-xs-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-xs-25,.layout-gt-xs-row>.flex-gt-xs-25,.layout-row>.flex-gt-xs-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-25,.layout-gt-xs-column>.flex-gt-xs-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-xs-30,.layout-gt-xs-row>.flex-gt-xs-30,.layout-row>.flex-gt-xs-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-30,.layout-gt-xs-column>.flex-gt-xs-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-xs-35,.layout-gt-xs-row>.flex-gt-xs-35,.layout-row>.flex-gt-xs-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-35,.layout-gt-xs-column>.flex-gt-xs-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-xs-40,.layout-gt-xs-row>.flex-gt-xs-40,.layout-row>.flex-gt-xs-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-40,.layout-gt-xs-column>.flex-gt-xs-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-xs-45,.layout-gt-xs-row>.flex-gt-xs-45,.layout-row>.flex-gt-xs-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-45,.layout-gt-xs-column>.flex-gt-xs-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-xs-50,.layout-gt-xs-row>.flex-gt-xs-50,.layout-row>.flex-gt-xs-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-50,.layout-gt-xs-column>.flex-gt-xs-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-xs-55,.layout-gt-xs-row>.flex-gt-xs-55,.layout-row>.flex-gt-xs-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-55,.layout-gt-xs-column>.flex-gt-xs-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-xs-60,.layout-gt-xs-row>.flex-gt-xs-60,.layout-row>.flex-gt-xs-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-60,.layout-gt-xs-column>.flex-gt-xs-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-xs-65,.layout-gt-xs-row>.flex-gt-xs-65,.layout-row>.flex-gt-xs-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-65,.layout-gt-xs-column>.flex-gt-xs-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-xs-70,.layout-gt-xs-row>.flex-gt-xs-70,.layout-row>.flex-gt-xs-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-70,.layout-gt-xs-column>.flex-gt-xs-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-xs-75,.layout-gt-xs-row>.flex-gt-xs-75,.layout-row>.flex-gt-xs-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-75,.layout-gt-xs-column>.flex-gt-xs-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-xs-80,.layout-gt-xs-row>.flex-gt-xs-80,.layout-row>.flex-gt-xs-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-80,.layout-gt-xs-column>.flex-gt-xs-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-xs-85,.layout-gt-xs-row>.flex-gt-xs-85,.layout-row>.flex-gt-xs-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-85,.layout-gt-xs-column>.flex-gt-xs-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-xs-90,.layout-gt-xs-row>.flex-gt-xs-90,.layout-row>.flex-gt-xs-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-90,.layout-gt-xs-column>.flex-gt-xs-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-xs-95,.layout-gt-xs-row>.flex-gt-xs-95,.layout-row>.flex-gt-xs-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-95,.layout-gt-xs-column>.flex-gt-xs-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-xs-100,.layout-column>.flex-gt-xs-100,.layout-gt-xs-column>.flex-gt-xs-100,.layout-gt-xs-row>.flex-gt-xs-100,.layout-row>.flex-gt-xs-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-33,.layout-row>.flex-gt-xs-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-66,.layout-row>.flex-gt-xs-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-xs-33,.layout-gt-xs-column>.flex-gt-xs-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-gt-xs-66,.layout-gt-xs-column>.flex-gt-xs-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-gt-xs,.layout-gt-xs-column,.layout-gt-xs-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-gt-xs-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-gt-xs-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}@media (min-width:600px) and (max-width:959px){.hide-gt-xs:not(.show-gt-xs):not(.show-sm):not(.show),.hide-sm:not(.show-gt-xs):not(.show-sm):not(.show),.hide:not(.show-gt-xs):not(.show-sm):not(.show){display:none}.flex-order-sm--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-sm--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-sm--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-sm--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-sm--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-sm--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-sm--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-sm--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-sm--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-sm--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-sm--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-sm--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-sm--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-sm--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-sm--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-sm--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-sm--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-sm--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-sm--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-sm--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-sm-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-sm-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-sm-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-sm-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-sm-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-sm-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-sm-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-sm-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-sm-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-sm-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-sm-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-sm-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-sm-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-sm-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-sm-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-sm-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-sm-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-sm-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-sm-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-sm-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-sm-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-sm-0,.offset-sm-0{margin-left:0}.flex-offset-sm-5,.offset-sm-5{margin-left:5%}.flex-offset-sm-10,.offset-sm-10{margin-left:10%}.flex-offset-sm-15,.offset-sm-15{margin-left:15%}.flex-offset-sm-20,.offset-sm-20{margin-left:20%}.flex-offset-sm-25,.offset-sm-25{margin-left:25%}.flex-offset-sm-30,.offset-sm-30{margin-left:30%}.flex-offset-sm-35,.offset-sm-35{margin-left:35%}.flex-offset-sm-40,.offset-sm-40{margin-left:40%}.flex-offset-sm-45,.offset-sm-45{margin-left:45%}.flex-offset-sm-50,.offset-sm-50{margin-left:50%}.flex-offset-sm-55,.offset-sm-55{margin-left:55%}.flex-offset-sm-60,.offset-sm-60{margin-left:60%}.flex-offset-sm-65,.offset-sm-65{margin-left:65%}.flex-offset-sm-70,.offset-sm-70{margin-left:70%}.flex-offset-sm-75,.offset-sm-75{margin-left:75%}.flex-offset-sm-80,.offset-sm-80{margin-left:80%}.flex-offset-sm-85,.offset-sm-85{margin-left:85%}.flex-offset-sm-90,.offset-sm-90{margin-left:90%}.flex-offset-sm-95,.offset-sm-95{margin-left:95%}.flex-offset-sm-33,.offset-sm-33{margin-left:calc(100% / 3)}.flex-offset-sm-66,.offset-sm-66{margin-left:calc(200% / 3)}.layout-align-sm{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-sm-start,.layout-align-sm-start-center,.layout-align-sm-start-end,.layout-align-sm-start-start,.layout-align-sm-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-sm-center,.layout-align-sm-center-center,.layout-align-sm-center-end,.layout-align-sm-center-start,.layout-align-sm-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-sm-end,.layout-align-sm-end-center,.layout-align-sm-end-end,.layout-align-sm-end-start,.layout-align-sm-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-sm-space-around,.layout-align-sm-space-around-center,.layout-align-sm-space-around-end,.layout-align-sm-space-around-start,.layout-align-sm-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-sm-space-between,.layout-align-sm-space-between-center,.layout-align-sm-space-between-end,.layout-align-sm-space-between-start,.layout-align-sm-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-sm-center-start,.layout-align-sm-end-start,.layout-align-sm-space-around-start,.layout-align-sm-space-between-start,.layout-align-sm-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-sm-center-center,.layout-align-sm-end-center,.layout-align-sm-space-around-center,.layout-align-sm-space-between-center,.layout-align-sm-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-sm-center-center>*,.layout-align-sm-end-center>*,.layout-align-sm-space-around-center>*,.layout-align-sm-space-between-center>*,.layout-align-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-sm-center-end,.layout-align-sm-end-end,.layout-align-sm-space-around-end,.layout-align-sm-space-between-end,.layout-align-sm-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-sm-center-stretch,.layout-align-sm-end-stretch,.layout-align-sm-space-around-stretch,.layout-align-sm-space-between-stretch,.layout-align-sm-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-sm{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:600px) and (max-width:959px){.flex-sm{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:600px) and (max-width:959px){.flex-sm-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-sm-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-sm-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-sm-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-sm-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-sm-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-sm-0,.layout-row>.flex-sm-0,.layout-sm-row>.flex-sm-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-0,.layout-sm-column>.flex-sm-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-sm-5,.layout-row>.flex-sm-5,.layout-sm-row>.flex-sm-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-5,.layout-sm-column>.flex-sm-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-sm-10,.layout-row>.flex-sm-10,.layout-sm-row>.flex-sm-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-10,.layout-sm-column>.flex-sm-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-sm-15,.layout-row>.flex-sm-15,.layout-sm-row>.flex-sm-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-15,.layout-sm-column>.flex-sm-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-sm-20,.layout-row>.flex-sm-20,.layout-sm-row>.flex-sm-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-20,.layout-sm-column>.flex-sm-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-sm-25,.layout-row>.flex-sm-25,.layout-sm-row>.flex-sm-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-25,.layout-sm-column>.flex-sm-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-sm-30,.layout-row>.flex-sm-30,.layout-sm-row>.flex-sm-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-30,.layout-sm-column>.flex-sm-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-sm-35,.layout-row>.flex-sm-35,.layout-sm-row>.flex-sm-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-35,.layout-sm-column>.flex-sm-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-sm-40,.layout-row>.flex-sm-40,.layout-sm-row>.flex-sm-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-40,.layout-sm-column>.flex-sm-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-sm-45,.layout-row>.flex-sm-45,.layout-sm-row>.flex-sm-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-45,.layout-sm-column>.flex-sm-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-sm-50,.layout-row>.flex-sm-50,.layout-sm-row>.flex-sm-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-50,.layout-sm-column>.flex-sm-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-sm-55,.layout-row>.flex-sm-55,.layout-sm-row>.flex-sm-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-55,.layout-sm-column>.flex-sm-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-sm-60,.layout-row>.flex-sm-60,.layout-sm-row>.flex-sm-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-60,.layout-sm-column>.flex-sm-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-sm-65,.layout-row>.flex-sm-65,.layout-sm-row>.flex-sm-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-65,.layout-sm-column>.flex-sm-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-sm-70,.layout-row>.flex-sm-70,.layout-sm-row>.flex-sm-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-70,.layout-sm-column>.flex-sm-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-sm-75,.layout-row>.flex-sm-75,.layout-sm-row>.flex-sm-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-75,.layout-sm-column>.flex-sm-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-sm-80,.layout-row>.flex-sm-80,.layout-sm-row>.flex-sm-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-80,.layout-sm-column>.flex-sm-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-sm-85,.layout-row>.flex-sm-85,.layout-sm-row>.flex-sm-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-85,.layout-sm-column>.flex-sm-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-sm-90,.layout-row>.flex-sm-90,.layout-sm-row>.flex-sm-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-90,.layout-sm-column>.flex-sm-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-sm-95,.layout-row>.flex-sm-95,.layout-sm-row>.flex-sm-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-95,.layout-sm-column>.flex-sm-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-sm-100,.layout-column>.flex-sm-100,.layout-row>.flex-sm-100,.layout-sm-column>.flex-sm-100,.layout-sm-row>.flex-sm-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-33,.layout-sm-row>.flex-sm-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-66,.layout-sm-row>.flex-sm-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-sm-33,.layout-sm-column>.flex-sm-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-sm-66,.layout-sm-column>.flex-sm-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-sm,.layout-sm-column,.layout-sm-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-sm-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-sm-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}@media (min-width:960px){.flex-order-gt-sm--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-gt-sm--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-gt-sm--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-gt-sm--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-gt-sm--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-gt-sm--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-gt-sm--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-gt-sm--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-gt-sm--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-gt-sm--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-gt-sm--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-gt-sm--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-gt-sm--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-gt-sm--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-gt-sm--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-gt-sm--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-gt-sm--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-gt-sm--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-gt-sm--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-gt-sm--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-gt-sm-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-gt-sm-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-gt-sm-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-gt-sm-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-gt-sm-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-gt-sm-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-gt-sm-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-gt-sm-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-gt-sm-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-gt-sm-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-gt-sm-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-gt-sm-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-gt-sm-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-gt-sm-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-gt-sm-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-gt-sm-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-gt-sm-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-gt-sm-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-gt-sm-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-gt-sm-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-gt-sm-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-gt-sm-0,.offset-gt-sm-0{margin-left:0}.flex-offset-gt-sm-5,.offset-gt-sm-5{margin-left:5%}.flex-offset-gt-sm-10,.offset-gt-sm-10{margin-left:10%}.flex-offset-gt-sm-15,.offset-gt-sm-15{margin-left:15%}.flex-offset-gt-sm-20,.offset-gt-sm-20{margin-left:20%}.flex-offset-gt-sm-25,.offset-gt-sm-25{margin-left:25%}.flex-offset-gt-sm-30,.offset-gt-sm-30{margin-left:30%}.flex-offset-gt-sm-35,.offset-gt-sm-35{margin-left:35%}.flex-offset-gt-sm-40,.offset-gt-sm-40{margin-left:40%}.flex-offset-gt-sm-45,.offset-gt-sm-45{margin-left:45%}.flex-offset-gt-sm-50,.offset-gt-sm-50{margin-left:50%}.flex-offset-gt-sm-55,.offset-gt-sm-55{margin-left:55%}.flex-offset-gt-sm-60,.offset-gt-sm-60{margin-left:60%}.flex-offset-gt-sm-65,.offset-gt-sm-65{margin-left:65%}.flex-offset-gt-sm-70,.offset-gt-sm-70{margin-left:70%}.flex-offset-gt-sm-75,.offset-gt-sm-75{margin-left:75%}.flex-offset-gt-sm-80,.offset-gt-sm-80{margin-left:80%}.flex-offset-gt-sm-85,.offset-gt-sm-85{margin-left:85%}.flex-offset-gt-sm-90,.offset-gt-sm-90{margin-left:90%}.flex-offset-gt-sm-95,.offset-gt-sm-95{margin-left:95%}.flex-offset-gt-sm-33,.offset-gt-sm-33{margin-left:calc(100% / 3)}.flex-offset-gt-sm-66,.offset-gt-sm-66{margin-left:calc(200% / 3)}.layout-align-gt-sm{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-gt-sm-start,.layout-align-gt-sm-start-center,.layout-align-gt-sm-start-end,.layout-align-gt-sm-start-start,.layout-align-gt-sm-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-gt-sm-center,.layout-align-gt-sm-center-center,.layout-align-gt-sm-center-end,.layout-align-gt-sm-center-start,.layout-align-gt-sm-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-gt-sm-end,.layout-align-gt-sm-end-center,.layout-align-gt-sm-end-end,.layout-align-gt-sm-end-start,.layout-align-gt-sm-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-gt-sm-space-around,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-gt-sm-space-between,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-gt-sm-center-start,.layout-align-gt-sm-end-start,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-gt-sm-center-center,.layout-align-gt-sm-end-center,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-gt-sm-center-center>*,.layout-align-gt-sm-end-center>*,.layout-align-gt-sm-space-around-center>*,.layout-align-gt-sm-space-between-center>*,.layout-align-gt-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-sm-center-end,.layout-align-gt-sm-end-end,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-gt-sm-center-stretch,.layout-align-gt-sm-end-stretch,.layout-align-gt-sm-space-around-stretch,.layout-align-gt-sm-space-between-stretch,.layout-align-gt-sm-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-gt-sm{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:960px){.flex-gt-sm{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:960px){.flex-gt-sm-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-gt-sm-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-sm-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-sm-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-sm-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-0,.layout-gt-sm-row>.flex-gt-sm-0,.layout-row>.flex-gt-sm-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-0,.layout-gt-sm-column>.flex-gt-sm-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-gt-sm-5,.layout-gt-sm-row>.flex-gt-sm-5,.layout-row>.flex-gt-sm-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-5,.layout-gt-sm-column>.flex-gt-sm-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-sm-10,.layout-gt-sm-row>.flex-gt-sm-10,.layout-row>.flex-gt-sm-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-10,.layout-gt-sm-column>.flex-gt-sm-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-sm-15,.layout-gt-sm-row>.flex-gt-sm-15,.layout-row>.flex-gt-sm-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-15,.layout-gt-sm-column>.flex-gt-sm-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-sm-20,.layout-gt-sm-row>.flex-gt-sm-20,.layout-row>.flex-gt-sm-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-20,.layout-gt-sm-column>.flex-gt-sm-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-sm-25,.layout-gt-sm-row>.flex-gt-sm-25,.layout-row>.flex-gt-sm-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-25,.layout-gt-sm-column>.flex-gt-sm-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-sm-30,.layout-gt-sm-row>.flex-gt-sm-30,.layout-row>.flex-gt-sm-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-30,.layout-gt-sm-column>.flex-gt-sm-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-sm-35,.layout-gt-sm-row>.flex-gt-sm-35,.layout-row>.flex-gt-sm-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-35,.layout-gt-sm-column>.flex-gt-sm-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-sm-40,.layout-gt-sm-row>.flex-gt-sm-40,.layout-row>.flex-gt-sm-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-40,.layout-gt-sm-column>.flex-gt-sm-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-sm-45,.layout-gt-sm-row>.flex-gt-sm-45,.layout-row>.flex-gt-sm-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-45,.layout-gt-sm-column>.flex-gt-sm-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-sm-50,.layout-gt-sm-row>.flex-gt-sm-50,.layout-row>.flex-gt-sm-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-50,.layout-gt-sm-column>.flex-gt-sm-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-sm-55,.layout-gt-sm-row>.flex-gt-sm-55,.layout-row>.flex-gt-sm-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-55,.layout-gt-sm-column>.flex-gt-sm-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-sm-60,.layout-gt-sm-row>.flex-gt-sm-60,.layout-row>.flex-gt-sm-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-60,.layout-gt-sm-column>.flex-gt-sm-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-sm-65,.layout-gt-sm-row>.flex-gt-sm-65,.layout-row>.flex-gt-sm-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-65,.layout-gt-sm-column>.flex-gt-sm-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-sm-70,.layout-gt-sm-row>.flex-gt-sm-70,.layout-row>.flex-gt-sm-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-70,.layout-gt-sm-column>.flex-gt-sm-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-sm-75,.layout-gt-sm-row>.flex-gt-sm-75,.layout-row>.flex-gt-sm-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-75,.layout-gt-sm-column>.flex-gt-sm-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-sm-80,.layout-gt-sm-row>.flex-gt-sm-80,.layout-row>.flex-gt-sm-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-80,.layout-gt-sm-column>.flex-gt-sm-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-sm-85,.layout-gt-sm-row>.flex-gt-sm-85,.layout-row>.flex-gt-sm-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-85,.layout-gt-sm-column>.flex-gt-sm-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-sm-90,.layout-gt-sm-row>.flex-gt-sm-90,.layout-row>.flex-gt-sm-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-90,.layout-gt-sm-column>.flex-gt-sm-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-sm-95,.layout-gt-sm-row>.flex-gt-sm-95,.layout-row>.flex-gt-sm-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-95,.layout-gt-sm-column>.flex-gt-sm-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-sm-100,.layout-column>.flex-gt-sm-100,.layout-gt-sm-column>.flex-gt-sm-100,.layout-gt-sm-row>.flex-gt-sm-100,.layout-row>.flex-gt-sm-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-33,.layout-row>.flex-gt-sm-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-66,.layout-row>.flex-gt-sm-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-sm-33,.layout-gt-sm-column>.flex-gt-sm-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-gt-sm-66,.layout-gt-sm-column>.flex-gt-sm-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-gt-sm,.layout-gt-sm-column,.layout-gt-sm-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-gt-sm-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-gt-sm-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}@media (min-width:960px) and (max-width:1279px){.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-md:not(.show-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show){display:none}.flex-order-md--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-md--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-md--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-md--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-md--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-md--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-md--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-md--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-md--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-md--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-md--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-md--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-md--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-md--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-md--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-md--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-md--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-md--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-md--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-md--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-md-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-md-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-md-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-md-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-md-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-md-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-md-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-md-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-md-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-md-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-md-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-md-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-md-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-md-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-md-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-md-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-md-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-md-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-md-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-md-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-md-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-md-0,.offset-md-0{margin-left:0}.flex-offset-md-5,.offset-md-5{margin-left:5%}.flex-offset-md-10,.offset-md-10{margin-left:10%}.flex-offset-md-15,.offset-md-15{margin-left:15%}.flex-offset-md-20,.offset-md-20{margin-left:20%}.flex-offset-md-25,.offset-md-25{margin-left:25%}.flex-offset-md-30,.offset-md-30{margin-left:30%}.flex-offset-md-35,.offset-md-35{margin-left:35%}.flex-offset-md-40,.offset-md-40{margin-left:40%}.flex-offset-md-45,.offset-md-45{margin-left:45%}.flex-offset-md-50,.offset-md-50{margin-left:50%}.flex-offset-md-55,.offset-md-55{margin-left:55%}.flex-offset-md-60,.offset-md-60{margin-left:60%}.flex-offset-md-65,.offset-md-65{margin-left:65%}.flex-offset-md-70,.offset-md-70{margin-left:70%}.flex-offset-md-75,.offset-md-75{margin-left:75%}.flex-offset-md-80,.offset-md-80{margin-left:80%}.flex-offset-md-85,.offset-md-85{margin-left:85%}.flex-offset-md-90,.offset-md-90{margin-left:90%}.flex-offset-md-95,.offset-md-95{margin-left:95%}.flex-offset-md-33,.offset-md-33{margin-left:calc(100% / 3)}.flex-offset-md-66,.offset-md-66{margin-left:calc(200% / 3)}.layout-align-md{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-md-start,.layout-align-md-start-center,.layout-align-md-start-end,.layout-align-md-start-start,.layout-align-md-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-md-center,.layout-align-md-center-center,.layout-align-md-center-end,.layout-align-md-center-start,.layout-align-md-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-md-end,.layout-align-md-end-center,.layout-align-md-end-end,.layout-align-md-end-start,.layout-align-md-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-md-space-around,.layout-align-md-space-around-center,.layout-align-md-space-around-end,.layout-align-md-space-around-start,.layout-align-md-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-md-space-between,.layout-align-md-space-between-center,.layout-align-md-space-between-end,.layout-align-md-space-between-start,.layout-align-md-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-md-center-start,.layout-align-md-end-start,.layout-align-md-space-around-start,.layout-align-md-space-between-start,.layout-align-md-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-md-center-center,.layout-align-md-end-center,.layout-align-md-space-around-center,.layout-align-md-space-between-center,.layout-align-md-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-md-center-center>*,.layout-align-md-end-center>*,.layout-align-md-space-around-center>*,.layout-align-md-space-between-center>*,.layout-align-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-md-center-end,.layout-align-md-end-end,.layout-align-md-space-around-end,.layout-align-md-space-between-end,.layout-align-md-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-md-center-stretch,.layout-align-md-end-stretch,.layout-align-md-space-around-stretch,.layout-align-md-space-between-stretch,.layout-align-md-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-md{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:960px) and (max-width:1279px){.flex-md{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:960px) and (max-width:1279px){.flex-md-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-md-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-md-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-md-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-md-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-md-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-md-0,.layout-md-row>.flex-md-0,.layout-row>.flex-md-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-0,.layout-md-column>.flex-md-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-md-5,.layout-md-row>.flex-md-5,.layout-row>.flex-md-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-5,.layout-md-column>.flex-md-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-md-10,.layout-md-row>.flex-md-10,.layout-row>.flex-md-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-10,.layout-md-column>.flex-md-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-md-15,.layout-md-row>.flex-md-15,.layout-row>.flex-md-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-15,.layout-md-column>.flex-md-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-md-20,.layout-md-row>.flex-md-20,.layout-row>.flex-md-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-20,.layout-md-column>.flex-md-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-md-25,.layout-md-row>.flex-md-25,.layout-row>.flex-md-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-25,.layout-md-column>.flex-md-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-md-30,.layout-md-row>.flex-md-30,.layout-row>.flex-md-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-30,.layout-md-column>.flex-md-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-md-35,.layout-md-row>.flex-md-35,.layout-row>.flex-md-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-35,.layout-md-column>.flex-md-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-md-40,.layout-md-row>.flex-md-40,.layout-row>.flex-md-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-40,.layout-md-column>.flex-md-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-md-45,.layout-md-row>.flex-md-45,.layout-row>.flex-md-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-45,.layout-md-column>.flex-md-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-md-50,.layout-md-row>.flex-md-50,.layout-row>.flex-md-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-50,.layout-md-column>.flex-md-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-md-55,.layout-md-row>.flex-md-55,.layout-row>.flex-md-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-55,.layout-md-column>.flex-md-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-md-60,.layout-md-row>.flex-md-60,.layout-row>.flex-md-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-60,.layout-md-column>.flex-md-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-md-65,.layout-md-row>.flex-md-65,.layout-row>.flex-md-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-65,.layout-md-column>.flex-md-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-md-70,.layout-md-row>.flex-md-70,.layout-row>.flex-md-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-70,.layout-md-column>.flex-md-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-md-75,.layout-md-row>.flex-md-75,.layout-row>.flex-md-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-75,.layout-md-column>.flex-md-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-md-80,.layout-md-row>.flex-md-80,.layout-row>.flex-md-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-80,.layout-md-column>.flex-md-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-md-85,.layout-md-row>.flex-md-85,.layout-row>.flex-md-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-85,.layout-md-column>.flex-md-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-md-90,.layout-md-row>.flex-md-90,.layout-row>.flex-md-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-90,.layout-md-column>.flex-md-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-md-95,.layout-md-row>.flex-md-95,.layout-row>.flex-md-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-md-95,.layout-md-column>.flex-md-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-md-100,.layout-column>.flex-md-100,.layout-md-column>.flex-md-100,.layout-md-row>.flex-md-100,.layout-row>.flex-md-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-md-33,.layout-row>.flex-md-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-md-row>.flex-md-66,.layout-row>.flex-md-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-md-33,.layout-md-column>.flex-md-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-md-66,.layout-md-column>.flex-md-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-md,.layout-md-column,.layout-md-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-md-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-md-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}@media (min-width:1280px){.flex-order-gt-md--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-gt-md--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-gt-md--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-gt-md--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-gt-md--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-gt-md--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-gt-md--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-gt-md--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-gt-md--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-gt-md--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-gt-md--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-gt-md--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-gt-md--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-gt-md--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-gt-md--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-gt-md--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-gt-md--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-gt-md--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-gt-md--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-gt-md--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-gt-md-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-gt-md-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-gt-md-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-gt-md-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-gt-md-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-gt-md-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-gt-md-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-gt-md-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-gt-md-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-gt-md-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-gt-md-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-gt-md-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-gt-md-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-gt-md-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-gt-md-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-gt-md-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-gt-md-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-gt-md-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-gt-md-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-gt-md-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-gt-md-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-gt-md-0,.offset-gt-md-0{margin-left:0}.flex-offset-gt-md-5,.offset-gt-md-5{margin-left:5%}.flex-offset-gt-md-10,.offset-gt-md-10{margin-left:10%}.flex-offset-gt-md-15,.offset-gt-md-15{margin-left:15%}.flex-offset-gt-md-20,.offset-gt-md-20{margin-left:20%}.flex-offset-gt-md-25,.offset-gt-md-25{margin-left:25%}.flex-offset-gt-md-30,.offset-gt-md-30{margin-left:30%}.flex-offset-gt-md-35,.offset-gt-md-35{margin-left:35%}.flex-offset-gt-md-40,.offset-gt-md-40{margin-left:40%}.flex-offset-gt-md-45,.offset-gt-md-45{margin-left:45%}.flex-offset-gt-md-50,.offset-gt-md-50{margin-left:50%}.flex-offset-gt-md-55,.offset-gt-md-55{margin-left:55%}.flex-offset-gt-md-60,.offset-gt-md-60{margin-left:60%}.flex-offset-gt-md-65,.offset-gt-md-65{margin-left:65%}.flex-offset-gt-md-70,.offset-gt-md-70{margin-left:70%}.flex-offset-gt-md-75,.offset-gt-md-75{margin-left:75%}.flex-offset-gt-md-80,.offset-gt-md-80{margin-left:80%}.flex-offset-gt-md-85,.offset-gt-md-85{margin-left:85%}.flex-offset-gt-md-90,.offset-gt-md-90{margin-left:90%}.flex-offset-gt-md-95,.offset-gt-md-95{margin-left:95%}.flex-offset-gt-md-33,.offset-gt-md-33{margin-left:calc(100% / 3)}.flex-offset-gt-md-66,.offset-gt-md-66{margin-left:calc(200% / 3)}.layout-align-gt-md{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-gt-md-start,.layout-align-gt-md-start-center,.layout-align-gt-md-start-end,.layout-align-gt-md-start-start,.layout-align-gt-md-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-gt-md-center,.layout-align-gt-md-center-center,.layout-align-gt-md-center-end,.layout-align-gt-md-center-start,.layout-align-gt-md-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-gt-md-end,.layout-align-gt-md-end-center,.layout-align-gt-md-end-end,.layout-align-gt-md-end-start,.layout-align-gt-md-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-gt-md-space-around,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-gt-md-space-between,.layout-align-gt-md-space-between-center,.layout-align-gt-md-space-between-end,.layout-align-gt-md-space-between-start,.layout-align-gt-md-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-gt-md-center-start,.layout-align-gt-md-end-start,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-between-start,.layout-align-gt-md-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-gt-md-center-center,.layout-align-gt-md-end-center,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-between-center,.layout-align-gt-md-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-gt-md-center-center>*,.layout-align-gt-md-end-center>*,.layout-align-gt-md-space-around-center>*,.layout-align-gt-md-space-between-center>*,.layout-align-gt-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-md-center-end,.layout-align-gt-md-end-end,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-between-end,.layout-align-gt-md-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-gt-md-center-stretch,.layout-align-gt-md-end-stretch,.layout-align-gt-md-space-around-stretch,.layout-align-gt-md-space-between-stretch,.layout-align-gt-md-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-gt-md{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:1280px){.flex-gt-md{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:1280px){.flex-gt-md-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-gt-md-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-md-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-md-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-md-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-md-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-md-0,.layout-gt-md-row>.flex-gt-md-0,.layout-row>.flex-gt-md-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-0,.layout-gt-md-column>.flex-gt-md-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-gt-md-5,.layout-gt-md-row>.flex-gt-md-5,.layout-row>.flex-gt-md-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-5,.layout-gt-md-column>.flex-gt-md-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-md-10,.layout-gt-md-row>.flex-gt-md-10,.layout-row>.flex-gt-md-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-10,.layout-gt-md-column>.flex-gt-md-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-md-15,.layout-gt-md-row>.flex-gt-md-15,.layout-row>.flex-gt-md-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-15,.layout-gt-md-column>.flex-gt-md-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-md-20,.layout-gt-md-row>.flex-gt-md-20,.layout-row>.flex-gt-md-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-20,.layout-gt-md-column>.flex-gt-md-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-md-25,.layout-gt-md-row>.flex-gt-md-25,.layout-row>.flex-gt-md-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-25,.layout-gt-md-column>.flex-gt-md-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-md-30,.layout-gt-md-row>.flex-gt-md-30,.layout-row>.flex-gt-md-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-30,.layout-gt-md-column>.flex-gt-md-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-md-35,.layout-gt-md-row>.flex-gt-md-35,.layout-row>.flex-gt-md-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-35,.layout-gt-md-column>.flex-gt-md-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-md-40,.layout-gt-md-row>.flex-gt-md-40,.layout-row>.flex-gt-md-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-40,.layout-gt-md-column>.flex-gt-md-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-md-45,.layout-gt-md-row>.flex-gt-md-45,.layout-row>.flex-gt-md-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-45,.layout-gt-md-column>.flex-gt-md-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-md-50,.layout-gt-md-row>.flex-gt-md-50,.layout-row>.flex-gt-md-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-50,.layout-gt-md-column>.flex-gt-md-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-md-55,.layout-gt-md-row>.flex-gt-md-55,.layout-row>.flex-gt-md-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-55,.layout-gt-md-column>.flex-gt-md-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-md-60,.layout-gt-md-row>.flex-gt-md-60,.layout-row>.flex-gt-md-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-60,.layout-gt-md-column>.flex-gt-md-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-md-65,.layout-gt-md-row>.flex-gt-md-65,.layout-row>.flex-gt-md-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-65,.layout-gt-md-column>.flex-gt-md-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-md-70,.layout-gt-md-row>.flex-gt-md-70,.layout-row>.flex-gt-md-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-70,.layout-gt-md-column>.flex-gt-md-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-md-75,.layout-gt-md-row>.flex-gt-md-75,.layout-row>.flex-gt-md-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-75,.layout-gt-md-column>.flex-gt-md-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-md-80,.layout-gt-md-row>.flex-gt-md-80,.layout-row>.flex-gt-md-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-80,.layout-gt-md-column>.flex-gt-md-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-md-85,.layout-gt-md-row>.flex-gt-md-85,.layout-row>.flex-gt-md-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-85,.layout-gt-md-column>.flex-gt-md-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-md-90,.layout-gt-md-row>.flex-gt-md-90,.layout-row>.flex-gt-md-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-90,.layout-gt-md-column>.flex-gt-md-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-md-95,.layout-gt-md-row>.flex-gt-md-95,.layout-row>.flex-gt-md-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-95,.layout-gt-md-column>.flex-gt-md-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-md-100,.layout-column>.flex-gt-md-100,.layout-gt-md-column>.flex-gt-md-100,.layout-gt-md-row>.flex-gt-md-100,.layout-row>.flex-gt-md-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-33,.layout-row>.flex-gt-md-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-66,.layout-row>.flex-gt-md-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-md-33,.layout-gt-md-column>.flex-gt-md-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-gt-md-66,.layout-gt-md-column>.flex-gt-md-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-gt-md,.layout-gt-md-column,.layout-gt-md-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-gt-md-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-gt-md-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}@media (min-width:1280px) and (max-width:1919px){.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-lg:not(.show-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show){display:none}.flex-order-lg--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-lg--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-lg--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-lg--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-lg--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-lg--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-lg--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-lg--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-lg--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-lg--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-lg--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-lg--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-lg--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-lg--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-lg--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-lg--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-lg--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-lg--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-lg--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-lg--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-lg-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-lg-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-lg-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-lg-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-lg-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-lg-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-lg-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-lg-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-lg-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-lg-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-lg-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-lg-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-lg-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-lg-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-lg-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-lg-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-lg-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-lg-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-lg-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-lg-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-lg-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-lg-0,.offset-lg-0{margin-left:0}.flex-offset-lg-5,.offset-lg-5{margin-left:5%}.flex-offset-lg-10,.offset-lg-10{margin-left:10%}.flex-offset-lg-15,.offset-lg-15{margin-left:15%}.flex-offset-lg-20,.offset-lg-20{margin-left:20%}.flex-offset-lg-25,.offset-lg-25{margin-left:25%}.flex-offset-lg-30,.offset-lg-30{margin-left:30%}.flex-offset-lg-35,.offset-lg-35{margin-left:35%}.flex-offset-lg-40,.offset-lg-40{margin-left:40%}.flex-offset-lg-45,.offset-lg-45{margin-left:45%}.flex-offset-lg-50,.offset-lg-50{margin-left:50%}.flex-offset-lg-55,.offset-lg-55{margin-left:55%}.flex-offset-lg-60,.offset-lg-60{margin-left:60%}.flex-offset-lg-65,.offset-lg-65{margin-left:65%}.flex-offset-lg-70,.offset-lg-70{margin-left:70%}.flex-offset-lg-75,.offset-lg-75{margin-left:75%}.flex-offset-lg-80,.offset-lg-80{margin-left:80%}.flex-offset-lg-85,.offset-lg-85{margin-left:85%}.flex-offset-lg-90,.offset-lg-90{margin-left:90%}.flex-offset-lg-95,.offset-lg-95{margin-left:95%}.flex-offset-lg-33,.offset-lg-33{margin-left:calc(100% / 3)}.flex-offset-lg-66,.offset-lg-66{margin-left:calc(200% / 3)}.layout-align-lg{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-lg-start,.layout-align-lg-start-center,.layout-align-lg-start-end,.layout-align-lg-start-start,.layout-align-lg-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-lg-center,.layout-align-lg-center-center,.layout-align-lg-center-end,.layout-align-lg-center-start,.layout-align-lg-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-lg-end,.layout-align-lg-end-center,.layout-align-lg-end-end,.layout-align-lg-end-start,.layout-align-lg-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-lg-space-around,.layout-align-lg-space-around-center,.layout-align-lg-space-around-end,.layout-align-lg-space-around-start,.layout-align-lg-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-lg-space-between,.layout-align-lg-space-between-center,.layout-align-lg-space-between-end,.layout-align-lg-space-between-start,.layout-align-lg-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-lg-center-start,.layout-align-lg-end-start,.layout-align-lg-space-around-start,.layout-align-lg-space-between-start,.layout-align-lg-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-lg-center-center,.layout-align-lg-end-center,.layout-align-lg-space-around-center,.layout-align-lg-space-between-center,.layout-align-lg-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-lg-center-center>*,.layout-align-lg-end-center>*,.layout-align-lg-space-around-center>*,.layout-align-lg-space-between-center>*,.layout-align-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-lg-center-end,.layout-align-lg-end-end,.layout-align-lg-space-around-end,.layout-align-lg-space-between-end,.layout-align-lg-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-lg-center-stretch,.layout-align-lg-end-stretch,.layout-align-lg-space-around-stretch,.layout-align-lg-space-between-stretch,.layout-align-lg-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-lg{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:1280px) and (max-width:1919px){.flex-lg{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:1280px) and (max-width:1919px){.flex-lg-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-lg-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-lg-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-lg-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-lg-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-lg-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-lg-0,.layout-lg-row>.flex-lg-0,.layout-row>.flex-lg-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-0,.layout-lg-column>.flex-lg-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-lg-5,.layout-lg-row>.flex-lg-5,.layout-row>.flex-lg-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-5,.layout-lg-column>.flex-lg-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-lg-10,.layout-lg-row>.flex-lg-10,.layout-row>.flex-lg-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-10,.layout-lg-column>.flex-lg-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-lg-15,.layout-lg-row>.flex-lg-15,.layout-row>.flex-lg-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-15,.layout-lg-column>.flex-lg-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-lg-20,.layout-lg-row>.flex-lg-20,.layout-row>.flex-lg-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-20,.layout-lg-column>.flex-lg-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-lg-25,.layout-lg-row>.flex-lg-25,.layout-row>.flex-lg-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-25,.layout-lg-column>.flex-lg-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-lg-30,.layout-lg-row>.flex-lg-30,.layout-row>.flex-lg-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-30,.layout-lg-column>.flex-lg-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-lg-35,.layout-lg-row>.flex-lg-35,.layout-row>.flex-lg-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-35,.layout-lg-column>.flex-lg-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-lg-40,.layout-lg-row>.flex-lg-40,.layout-row>.flex-lg-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-40,.layout-lg-column>.flex-lg-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-lg-45,.layout-lg-row>.flex-lg-45,.layout-row>.flex-lg-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-45,.layout-lg-column>.flex-lg-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-lg-50,.layout-lg-row>.flex-lg-50,.layout-row>.flex-lg-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-50,.layout-lg-column>.flex-lg-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-lg-55,.layout-lg-row>.flex-lg-55,.layout-row>.flex-lg-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-55,.layout-lg-column>.flex-lg-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-lg-60,.layout-lg-row>.flex-lg-60,.layout-row>.flex-lg-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-60,.layout-lg-column>.flex-lg-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-lg-65,.layout-lg-row>.flex-lg-65,.layout-row>.flex-lg-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-65,.layout-lg-column>.flex-lg-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-lg-70,.layout-lg-row>.flex-lg-70,.layout-row>.flex-lg-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-70,.layout-lg-column>.flex-lg-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-lg-75,.layout-lg-row>.flex-lg-75,.layout-row>.flex-lg-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-75,.layout-lg-column>.flex-lg-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-lg-80,.layout-lg-row>.flex-lg-80,.layout-row>.flex-lg-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-80,.layout-lg-column>.flex-lg-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-lg-85,.layout-lg-row>.flex-lg-85,.layout-row>.flex-lg-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-85,.layout-lg-column>.flex-lg-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-lg-90,.layout-lg-row>.flex-lg-90,.layout-row>.flex-lg-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-90,.layout-lg-column>.flex-lg-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-lg-95,.layout-lg-row>.flex-lg-95,.layout-row>.flex-lg-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-95,.layout-lg-column>.flex-lg-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-lg-100,.layout-column>.flex-lg-100,.layout-lg-column>.flex-lg-100,.layout-lg-row>.flex-lg-100,.layout-row>.flex-lg-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-lg-33,.layout-row>.flex-lg-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-lg-66,.layout-row>.flex-lg-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-lg-33,.layout-lg-column>.flex-lg-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-lg-66,.layout-lg-column>.flex-lg-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-lg,.layout-lg-column,.layout-lg-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-lg-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-lg-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}@media (min-width:1920px){.flex-order-gt-lg--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-gt-lg--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-gt-lg--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-gt-lg--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-gt-lg--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-gt-lg--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-gt-lg--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-gt-lg--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-gt-lg--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-gt-lg--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-gt-lg--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-gt-lg--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-gt-lg--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-gt-lg--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-gt-lg--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-gt-lg--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-gt-lg--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-gt-lg--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-gt-lg--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-gt-lg--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-gt-lg-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-gt-lg-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-gt-lg-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-gt-lg-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-gt-lg-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-gt-lg-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-gt-lg-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-gt-lg-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-gt-lg-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-gt-lg-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-gt-lg-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-gt-lg-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-gt-lg-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-gt-lg-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-gt-lg-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-gt-lg-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-gt-lg-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-gt-lg-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-gt-lg-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-gt-lg-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-gt-lg-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-gt-lg-0,.offset-gt-lg-0{margin-left:0}.flex-offset-gt-lg-5,.offset-gt-lg-5{margin-left:5%}.flex-offset-gt-lg-10,.offset-gt-lg-10{margin-left:10%}.flex-offset-gt-lg-15,.offset-gt-lg-15{margin-left:15%}.flex-offset-gt-lg-20,.offset-gt-lg-20{margin-left:20%}.flex-offset-gt-lg-25,.offset-gt-lg-25{margin-left:25%}.flex-offset-gt-lg-30,.offset-gt-lg-30{margin-left:30%}.flex-offset-gt-lg-35,.offset-gt-lg-35{margin-left:35%}.flex-offset-gt-lg-40,.offset-gt-lg-40{margin-left:40%}.flex-offset-gt-lg-45,.offset-gt-lg-45{margin-left:45%}.flex-offset-gt-lg-50,.offset-gt-lg-50{margin-left:50%}.flex-offset-gt-lg-55,.offset-gt-lg-55{margin-left:55%}.flex-offset-gt-lg-60,.offset-gt-lg-60{margin-left:60%}.flex-offset-gt-lg-65,.offset-gt-lg-65{margin-left:65%}.flex-offset-gt-lg-70,.offset-gt-lg-70{margin-left:70%}.flex-offset-gt-lg-75,.offset-gt-lg-75{margin-left:75%}.flex-offset-gt-lg-80,.offset-gt-lg-80{margin-left:80%}.flex-offset-gt-lg-85,.offset-gt-lg-85{margin-left:85%}.flex-offset-gt-lg-90,.offset-gt-lg-90{margin-left:90%}.flex-offset-gt-lg-95,.offset-gt-lg-95{margin-left:95%}.flex-offset-gt-lg-33,.offset-gt-lg-33{margin-left:calc(100% / 3)}.flex-offset-gt-lg-66,.offset-gt-lg-66{margin-left:calc(200% / 3)}.layout-align-gt-lg{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-gt-lg-start,.layout-align-gt-lg-start-center,.layout-align-gt-lg-start-end,.layout-align-gt-lg-start-start,.layout-align-gt-lg-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-gt-lg-center,.layout-align-gt-lg-center-center,.layout-align-gt-lg-center-end,.layout-align-gt-lg-center-start,.layout-align-gt-lg-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-gt-lg-end,.layout-align-gt-lg-end-center,.layout-align-gt-lg-end-end,.layout-align-gt-lg-end-start,.layout-align-gt-lg-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-gt-lg-space-around,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-gt-lg-space-between,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-gt-lg-center-start,.layout-align-gt-lg-end-start,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-gt-lg-center-center,.layout-align-gt-lg-end-center,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-gt-lg-center-center>*,.layout-align-gt-lg-end-center>*,.layout-align-gt-lg-space-around-center>*,.layout-align-gt-lg-space-between-center>*,.layout-align-gt-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-lg-center-end,.layout-align-gt-lg-end-end,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-gt-lg-center-stretch,.layout-align-gt-lg-end-stretch,.layout-align-gt-lg-space-around-stretch,.layout-align-gt-lg-space-between-stretch,.layout-align-gt-lg-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-gt-lg{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:1920px){.flex-gt-lg{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:1920px){.flex-gt-lg-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-gt-lg-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-lg-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-lg-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-lg-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-0,.layout-gt-lg-row>.flex-gt-lg-0,.layout-row>.flex-gt-lg-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-0,.layout-gt-lg-column>.flex-gt-lg-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-gt-lg-5,.layout-gt-lg-row>.flex-gt-lg-5,.layout-row>.flex-gt-lg-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-5,.layout-gt-lg-column>.flex-gt-lg-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-gt-lg-10,.layout-gt-lg-row>.flex-gt-lg-10,.layout-row>.flex-gt-lg-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-10,.layout-gt-lg-column>.flex-gt-lg-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-gt-lg-15,.layout-gt-lg-row>.flex-gt-lg-15,.layout-row>.flex-gt-lg-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-15,.layout-gt-lg-column>.flex-gt-lg-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-gt-lg-20,.layout-gt-lg-row>.flex-gt-lg-20,.layout-row>.flex-gt-lg-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-20,.layout-gt-lg-column>.flex-gt-lg-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-gt-lg-25,.layout-gt-lg-row>.flex-gt-lg-25,.layout-row>.flex-gt-lg-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-25,.layout-gt-lg-column>.flex-gt-lg-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-gt-lg-30,.layout-gt-lg-row>.flex-gt-lg-30,.layout-row>.flex-gt-lg-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-30,.layout-gt-lg-column>.flex-gt-lg-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-gt-lg-35,.layout-gt-lg-row>.flex-gt-lg-35,.layout-row>.flex-gt-lg-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-35,.layout-gt-lg-column>.flex-gt-lg-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-gt-lg-40,.layout-gt-lg-row>.flex-gt-lg-40,.layout-row>.flex-gt-lg-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-40,.layout-gt-lg-column>.flex-gt-lg-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-gt-lg-45,.layout-gt-lg-row>.flex-gt-lg-45,.layout-row>.flex-gt-lg-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-45,.layout-gt-lg-column>.flex-gt-lg-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-gt-lg-50,.layout-gt-lg-row>.flex-gt-lg-50,.layout-row>.flex-gt-lg-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-50,.layout-gt-lg-column>.flex-gt-lg-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-gt-lg-55,.layout-gt-lg-row>.flex-gt-lg-55,.layout-row>.flex-gt-lg-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-55,.layout-gt-lg-column>.flex-gt-lg-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-gt-lg-60,.layout-gt-lg-row>.flex-gt-lg-60,.layout-row>.flex-gt-lg-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-60,.layout-gt-lg-column>.flex-gt-lg-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-gt-lg-65,.layout-gt-lg-row>.flex-gt-lg-65,.layout-row>.flex-gt-lg-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-65,.layout-gt-lg-column>.flex-gt-lg-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-gt-lg-70,.layout-gt-lg-row>.flex-gt-lg-70,.layout-row>.flex-gt-lg-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-70,.layout-gt-lg-column>.flex-gt-lg-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-gt-lg-75,.layout-gt-lg-row>.flex-gt-lg-75,.layout-row>.flex-gt-lg-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-75,.layout-gt-lg-column>.flex-gt-lg-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-gt-lg-80,.layout-gt-lg-row>.flex-gt-lg-80,.layout-row>.flex-gt-lg-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-80,.layout-gt-lg-column>.flex-gt-lg-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-gt-lg-85,.layout-gt-lg-row>.flex-gt-lg-85,.layout-row>.flex-gt-lg-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-85,.layout-gt-lg-column>.flex-gt-lg-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-gt-lg-90,.layout-gt-lg-row>.flex-gt-lg-90,.layout-row>.flex-gt-lg-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-90,.layout-gt-lg-column>.flex-gt-lg-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-gt-lg-95,.layout-gt-lg-row>.flex-gt-lg-95,.layout-row>.flex-gt-lg-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-95,.layout-gt-lg-column>.flex-gt-lg-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-gt-lg-100,.layout-column>.flex-gt-lg-100,.layout-gt-lg-column>.flex-gt-lg-100,.layout-gt-lg-row>.flex-gt-lg-100,.layout-row>.flex-gt-lg-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-33,.layout-row>.flex-gt-lg-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-66,.layout-row>.flex-gt-lg-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-gt-lg-33,.layout-gt-lg-column>.flex-gt-lg-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-gt-lg-66,.layout-gt-lg-column>.flex-gt-lg-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-gt-lg,.layout-gt-lg-column,.layout-gt-lg-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-gt-lg-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-gt-lg-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-order-xl--20{-webkit-order:-20;-ms-flex-order:-20;order:-20}.flex-order-xl--19{-webkit-order:-19;-ms-flex-order:-19;order:-19}.flex-order-xl--18{-webkit-order:-18;-ms-flex-order:-18;order:-18}.flex-order-xl--17{-webkit-order:-17;-ms-flex-order:-17;order:-17}.flex-order-xl--16{-webkit-order:-16;-ms-flex-order:-16;order:-16}.flex-order-xl--15{-webkit-order:-15;-ms-flex-order:-15;order:-15}.flex-order-xl--14{-webkit-order:-14;-ms-flex-order:-14;order:-14}.flex-order-xl--13{-webkit-order:-13;-ms-flex-order:-13;order:-13}.flex-order-xl--12{-webkit-order:-12;-ms-flex-order:-12;order:-12}.flex-order-xl--11{-webkit-order:-11;-ms-flex-order:-11;order:-11}.flex-order-xl--10{-webkit-order:-10;-ms-flex-order:-10;order:-10}.flex-order-xl--9{-webkit-order:-9;-ms-flex-order:-9;order:-9}.flex-order-xl--8{-webkit-order:-8;-ms-flex-order:-8;order:-8}.flex-order-xl--7{-webkit-order:-7;-ms-flex-order:-7;order:-7}.flex-order-xl--6{-webkit-order:-6;-ms-flex-order:-6;order:-6}.flex-order-xl--5{-webkit-order:-5;-ms-flex-order:-5;order:-5}.flex-order-xl--4{-webkit-order:-4;-ms-flex-order:-4;order:-4}.flex-order-xl--3{-webkit-order:-3;-ms-flex-order:-3;order:-3}.flex-order-xl--2{-webkit-order:-2;-ms-flex-order:-2;order:-2}.flex-order-xl--1{-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-order-xl-0{-webkit-order:0;-ms-flex-order:0;order:0}.flex-order-xl-1{-webkit-order:1;-ms-flex-order:1;order:1}.flex-order-xl-2{-webkit-order:2;-ms-flex-order:2;order:2}.flex-order-xl-3{-webkit-order:3;-ms-flex-order:3;order:3}.flex-order-xl-4{-webkit-order:4;-ms-flex-order:4;order:4}.flex-order-xl-5{-webkit-order:5;-ms-flex-order:5;order:5}.flex-order-xl-6{-webkit-order:6;-ms-flex-order:6;order:6}.flex-order-xl-7{-webkit-order:7;-ms-flex-order:7;order:7}.flex-order-xl-8{-webkit-order:8;-ms-flex-order:8;order:8}.flex-order-xl-9{-webkit-order:9;-ms-flex-order:9;order:9}.flex-order-xl-10{-webkit-order:10;-ms-flex-order:10;order:10}.flex-order-xl-11{-webkit-order:11;-ms-flex-order:11;order:11}.flex-order-xl-12{-webkit-order:12;-ms-flex-order:12;order:12}.flex-order-xl-13{-webkit-order:13;-ms-flex-order:13;order:13}.flex-order-xl-14{-webkit-order:14;-ms-flex-order:14;order:14}.flex-order-xl-15{-webkit-order:15;-ms-flex-order:15;order:15}.flex-order-xl-16{-webkit-order:16;-ms-flex-order:16;order:16}.flex-order-xl-17{-webkit-order:17;-ms-flex-order:17;order:17}.flex-order-xl-18{-webkit-order:18;-ms-flex-order:18;order:18}.flex-order-xl-19{-webkit-order:19;-ms-flex-order:19;order:19}.flex-order-xl-20{-webkit-order:20;-ms-flex-order:20;order:20}.flex-offset-xl-0,.offset-xl-0{margin-left:0}.flex-offset-xl-5,.offset-xl-5{margin-left:5%}.flex-offset-xl-10,.offset-xl-10{margin-left:10%}.flex-offset-xl-15,.offset-xl-15{margin-left:15%}.flex-offset-xl-20,.offset-xl-20{margin-left:20%}.flex-offset-xl-25,.offset-xl-25{margin-left:25%}.flex-offset-xl-30,.offset-xl-30{margin-left:30%}.flex-offset-xl-35,.offset-xl-35{margin-left:35%}.flex-offset-xl-40,.offset-xl-40{margin-left:40%}.flex-offset-xl-45,.offset-xl-45{margin-left:45%}.flex-offset-xl-50,.offset-xl-50{margin-left:50%}.flex-offset-xl-55,.offset-xl-55{margin-left:55%}.flex-offset-xl-60,.offset-xl-60{margin-left:60%}.flex-offset-xl-65,.offset-xl-65{margin-left:65%}.flex-offset-xl-70,.offset-xl-70{margin-left:70%}.flex-offset-xl-75,.offset-xl-75{margin-left:75%}.flex-offset-xl-80,.offset-xl-80{margin-left:80%}.flex-offset-xl-85,.offset-xl-85{margin-left:85%}.flex-offset-xl-90,.offset-xl-90{margin-left:90%}.flex-offset-xl-95,.offset-xl-95{margin-left:95%}.flex-offset-xl-33,.offset-xl-33{margin-left:calc(100% / 3)}.flex-offset-xl-66,.offset-xl-66{margin-left:calc(200% / 3)}.layout-align-xl{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch}.layout-align-xl-start,.layout-align-xl-start-center,.layout-align-xl-start-end,.layout-align-xl-start-start,.layout-align-xl-start-stretch{-webkit-justify-content:start;-ms-flex-pack:start;justify-content:start}.layout-align-xl-center,.layout-align-xl-center-center,.layout-align-xl-center-end,.layout-align-xl-center-start,.layout-align-xl-center-stretch{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.layout-align-xl-end,.layout-align-xl-end-center,.layout-align-xl-end-end,.layout-align-xl-end-start,.layout-align-xl-end-stretch{-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.layout-align-xl-space-around,.layout-align-xl-space-around-center,.layout-align-xl-space-around-end,.layout-align-xl-space-around-start,.layout-align-xl-space-around-stretch{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.layout-align-xl-space-between,.layout-align-xl-space-between-center,.layout-align-xl-space-between-end,.layout-align-xl-space-between-start,.layout-align-xl-space-between-stretch{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.layout-align-xl-center-start,.layout-align-xl-end-start,.layout-align-xl-space-around-start,.layout-align-xl-space-between-start,.layout-align-xl-start-start{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.layout-align-xl-center-center,.layout-align-xl-end-center,.layout-align-xl-space-around-center,.layout-align-xl-space-between-center,.layout-align-xl-start-center{-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;max-width:100%}.layout-align-xl-center-center>*,.layout-align-xl-end-center>*,.layout-align-xl-space-around-center>*,.layout-align-xl-space-between-center>*,.layout-align-xl-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xl-center-end,.layout-align-xl-end-end,.layout-align-xl-space-around-end,.layout-align-xl-space-between-end,.layout-align-xl-start-end{-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.layout-align-xl-center-stretch,.layout-align-xl-end-stretch,.layout-align-xl-space-around-stretch,.layout-align-xl-space-between-stretch,.layout-align-xl-start-stretch{-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}.flex-xl{-webkit-flex:1;-ms-flex:1;flex:1;box-sizing:border-box}}@media screen\0 and (min-width:1920px){.flex-xl{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0}}@media (min-width:1920px){.flex-xl-grow{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.flex-xl-initial{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-auto{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-xl-none{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-xl-noshrink{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-xl-nogrow{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-0,.layout-row>.flex-xl-0,.layout-xl-row>.flex-xl-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:0;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-0,.layout-xl-column>.flex-xl-0{-webkit-flex:1 1 0;-ms-flex:1 1 0;flex:1 1 0;max-width:100%;max-height:0;box-sizing:border-box}.flex-xl-5,.layout-row>.flex-xl-5,.layout-xl-row>.flex-xl-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:5%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-5,.layout-xl-column>.flex-xl-5{-webkit-flex:1 1 5%;-ms-flex:1 1 5%;flex:1 1 5%;max-width:100%;max-height:5%;box-sizing:border-box}.flex-xl-10,.layout-row>.flex-xl-10,.layout-xl-row>.flex-xl-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:10%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-10,.layout-xl-column>.flex-xl-10{-webkit-flex:1 1 10%;-ms-flex:1 1 10%;flex:1 1 10%;max-width:100%;max-height:10%;box-sizing:border-box}.flex-xl-15,.layout-row>.flex-xl-15,.layout-xl-row>.flex-xl-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:15%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-15,.layout-xl-column>.flex-xl-15{-webkit-flex:1 1 15%;-ms-flex:1 1 15%;flex:1 1 15%;max-width:100%;max-height:15%;box-sizing:border-box}.flex-xl-20,.layout-row>.flex-xl-20,.layout-xl-row>.flex-xl-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:20%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-20,.layout-xl-column>.flex-xl-20{-webkit-flex:1 1 20%;-ms-flex:1 1 20%;flex:1 1 20%;max-width:100%;max-height:20%;box-sizing:border-box}.flex-xl-25,.layout-row>.flex-xl-25,.layout-xl-row>.flex-xl-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-25,.layout-xl-column>.flex-xl-25{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:100%;max-height:25%;box-sizing:border-box}.flex-xl-30,.layout-row>.flex-xl-30,.layout-xl-row>.flex-xl-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:30%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-30,.layout-xl-column>.flex-xl-30{-webkit-flex:1 1 30%;-ms-flex:1 1 30%;flex:1 1 30%;max-width:100%;max-height:30%;box-sizing:border-box}.flex-xl-35,.layout-row>.flex-xl-35,.layout-xl-row>.flex-xl-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:35%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-35,.layout-xl-column>.flex-xl-35{-webkit-flex:1 1 35%;-ms-flex:1 1 35%;flex:1 1 35%;max-width:100%;max-height:35%;box-sizing:border-box}.flex-xl-40,.layout-row>.flex-xl-40,.layout-xl-row>.flex-xl-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:40%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-40,.layout-xl-column>.flex-xl-40{-webkit-flex:1 1 40%;-ms-flex:1 1 40%;flex:1 1 40%;max-width:100%;max-height:40%;box-sizing:border-box}.flex-xl-45,.layout-row>.flex-xl-45,.layout-xl-row>.flex-xl-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:45%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-45,.layout-xl-column>.flex-xl-45{-webkit-flex:1 1 45%;-ms-flex:1 1 45%;flex:1 1 45%;max-width:100%;max-height:45%;box-sizing:border-box}.flex-xl-50,.layout-row>.flex-xl-50,.layout-xl-row>.flex-xl-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:50%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-50,.layout-xl-column>.flex-xl-50{-webkit-flex:1 1 50%;-ms-flex:1 1 50%;flex:1 1 50%;max-width:100%;max-height:50%;box-sizing:border-box}.flex-xl-55,.layout-row>.flex-xl-55,.layout-xl-row>.flex-xl-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:55%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-55,.layout-xl-column>.flex-xl-55{-webkit-flex:1 1 55%;-ms-flex:1 1 55%;flex:1 1 55%;max-width:100%;max-height:55%;box-sizing:border-box}.flex-xl-60,.layout-row>.flex-xl-60,.layout-xl-row>.flex-xl-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:60%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-60,.layout-xl-column>.flex-xl-60{-webkit-flex:1 1 60%;-ms-flex:1 1 60%;flex:1 1 60%;max-width:100%;max-height:60%;box-sizing:border-box}.flex-xl-65,.layout-row>.flex-xl-65,.layout-xl-row>.flex-xl-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:65%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-65,.layout-xl-column>.flex-xl-65{-webkit-flex:1 1 65%;-ms-flex:1 1 65%;flex:1 1 65%;max-width:100%;max-height:65%;box-sizing:border-box}.flex-xl-70,.layout-row>.flex-xl-70,.layout-xl-row>.flex-xl-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:70%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-70,.layout-xl-column>.flex-xl-70{-webkit-flex:1 1 70%;-ms-flex:1 1 70%;flex:1 1 70%;max-width:100%;max-height:70%;box-sizing:border-box}.flex-xl-75,.layout-row>.flex-xl-75,.layout-xl-row>.flex-xl-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:75%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-75,.layout-xl-column>.flex-xl-75{-webkit-flex:1 1 75%;-ms-flex:1 1 75%;flex:1 1 75%;max-width:100%;max-height:75%;box-sizing:border-box}.flex-xl-80,.layout-row>.flex-xl-80,.layout-xl-row>.flex-xl-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:80%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-80,.layout-xl-column>.flex-xl-80{-webkit-flex:1 1 80%;-ms-flex:1 1 80%;flex:1 1 80%;max-width:100%;max-height:80%;box-sizing:border-box}.flex-xl-85,.layout-row>.flex-xl-85,.layout-xl-row>.flex-xl-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:85%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-85,.layout-xl-column>.flex-xl-85{-webkit-flex:1 1 85%;-ms-flex:1 1 85%;flex:1 1 85%;max-width:100%;max-height:85%;box-sizing:border-box}.flex-xl-90,.layout-row>.flex-xl-90,.layout-xl-row>.flex-xl-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:90%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-90,.layout-xl-column>.flex-xl-90{-webkit-flex:1 1 90%;-ms-flex:1 1 90%;flex:1 1 90%;max-width:100%;max-height:90%;box-sizing:border-box}.flex-xl-95,.layout-row>.flex-xl-95,.layout-xl-row>.flex-xl-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-95,.layout-xl-column>.flex-xl-95{-webkit-flex:1 1 95%;-ms-flex:1 1 95%;flex:1 1 95%;max-width:100%;max-height:95%;box-sizing:border-box}.flex-xl-100,.layout-column>.flex-xl-100,.layout-row>.flex-xl-100,.layout-xl-column>.flex-xl-100,.layout-xl-row>.flex-xl-100{-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-33,.layout-xl-row>.flex-xl-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:calc(100% / 3);max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-66,.layout-xl-row>.flex-xl-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:calc(200% / 3);max-height:100%;box-sizing:border-box}.layout-column>.flex-xl-33,.layout-xl-column>.flex-xl-33{-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%;max-width:100%;max-height:calc(100% / 3);box-sizing:border-box}.layout-column>.flex-xl-66,.layout-xl-column>.flex-xl-66{-webkit-flex:1 1 66%;-ms-flex:1 1 66%;flex:1 1 66%;max-width:100%;max-height:calc(200% / 3);box-sizing:border-box}.layout-xl,.layout-xl-column,.layout-xl-row{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.layout-xl-column{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.layout-xl-row{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.hide-gt-lg:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-xl:not(.show-xl):not(.show-gt-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show){display:none}}@-webkit-keyframes md-autocomplete-list-out{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear}50%{opacity:0;height:40px;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{height:0;opacity:0}}@keyframes md-autocomplete-list-out{0%{-webkit-animation-timing-function:linear;animation-timing-function:linear}50%{opacity:0;height:40px;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{height:0;opacity:0}}@-webkit-keyframes md-autocomplete-list-in{0%{opacity:0;height:0;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{opacity:0;height:40px}100%{opacity:1;height:40px}}@keyframes md-autocomplete-list-in{0%{opacity:0;height:0;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{opacity:0;height:40px}100%{opacity:1;height:40px}}md-autocomplete{border-radius:2px;display:block;height:40px;position:relative;overflow:visible;min-width:190px}md-autocomplete[disabled] input{cursor:default}md-autocomplete[md-floating-label]{border-radius:0;background:0 0;height:auto}md-autocomplete[md-floating-label] md-input-container{padding-bottom:26px}md-autocomplete[md-floating-label] md-input-container.md-input-has-messages{padding-bottom:2px}md-autocomplete[md-floating-label] md-autocomplete-wrap{height:auto}md-autocomplete[md-floating-label] button{position:absolute;top:auto;bottom:0;right:0;width:30px;height:30px}md-autocomplete md-autocomplete-wrap{display:block;position:relative;overflow:visible;height:40px}md-autocomplete md-autocomplete-wrap.md-menu-showing{z-index:51}md-autocomplete md-autocomplete-wrap md-progress-linear{position:absolute;bottom:-2px;left:0}md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline{bottom:40px;right:2px;left:2px;width:auto}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate{position:absolute;top:0;left:0;width:100%;height:3px;transition:none}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate .md-container{transition:none;height:3px}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter{transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter.ng-enter-active{opacity:1}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave{transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave.ng-leave-active{opacity:0}md-autocomplete input:not(.md-input){font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:0;background:0 0;width:100%;padding:0 15px;line-height:40px;height:40px}md-autocomplete input:not(.md-input)::-ms-clear{display:none}md-autocomplete button{position:relative;line-height:20px;text-align:center;width:30px;height:30px;cursor:pointer;border:none;border-radius:50%;padding:0;font-size:12px;background:0 0;margin:auto 5px}md-autocomplete button:after{content:'';position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;-webkit-transform:scale(0);transform:scale(0);opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-autocomplete button:focus{outline:0}md-autocomplete button:focus:after{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-autocomplete button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)}md-autocomplete button md-icon path{stroke-width:0}md-autocomplete button.ng-enter{-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out}md-autocomplete button.ng-enter.ng-enter-active{-webkit-transform:scale(1);transform:scale(1)}md-autocomplete button.ng-leave{transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out}md-autocomplete button.ng-leave.ng-leave-active{-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){md-autocomplete input{border:1px solid #fff}md-autocomplete li:focus{color:#fff}}.md-virtual-repeat-container.md-autocomplete-suggestions-container{position:absolute;box-shadow:0 2px 5px rgba(0,0,0,.25);height:225.5px;max-height:225.5px;z-index:100}.md-virtual-repeat-container.md-not-found{height:48px}.md-autocomplete-suggestions{margin:0;list-style:none;padding:0}.md-autocomplete-suggestions li{font-size:14px;overflow:hidden;padding:0 15px;line-height:48px;height:48px;transition:background .15s linear;margin:0;white-space:nowrap;text-overflow:ellipsis}.md-autocomplete-suggestions li:focus{outline:0}.md-autocomplete-suggestions li:not(.md-not-found-wrapper){cursor:pointer}@media screen and (-ms-high-contrast:active){.md-autocomplete-suggestions,md-autocomplete{border:1px solid #fff}}md-bottom-sheet{position:absolute;left:0;right:0;bottom:0;padding:8px 16px 88px;z-index:70;border-top-width:1px;border-top-style:solid;-webkit-transform:translate3d(0,80px,0);transform:translate3d(0,80px,0);transition:all .4s cubic-bezier(.25,.8,.25,1);transition-property:-webkit-transform;transition-property:transform}md-bottom-sheet.md-has-header{padding-top:0}md-bottom-sheet.ng-enter{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-bottom-sheet.ng-enter-active{opacity:1;display:block;-webkit-transform:translate3d(0,80px,0)!important;transform:translate3d(0,80px,0)!important}md-bottom-sheet.ng-leave-active{-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important;transition:all .3s cubic-bezier(.55,0,.55,.2)}md-bottom-sheet .md-subheader{background-color:transparent;font-family:Roboto,"Helvetica Neue",sans-serif;line-height:56px;padding:0;white-space:nowrap}md-bottom-sheet md-inline-icon{display:inline-block;height:24px;width:24px;fill:#444}md-bottom-sheet md-list-item{display:-webkit-flex;display:-ms-flexbox;display:flex;outline:0}md-bottom-sheet md-list-item:hover{cursor:pointer}md-bottom-sheet.md-list md-list-item{padding:0;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:48px}md-bottom-sheet.md-list md-list-item div.md-icon-container{display:inline-block;height:24px;margin-right:32px}md-bottom-sheet.md-grid{padding-left:24px;padding-right:24px;padding-top:0}md-bottom-sheet.md-grid md-list{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;transition:all .5s;-webkit-align-items:center;-ms-flex-align:center;align-items:center}md-bottom-sheet.md-grid md-list-item{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center;transition:all .5s;height:96px;margin-top:8px;margin-bottom:8px}@media screen and (max-width:960px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 33.33333%;-ms-flex:1 1 33.33333%;flex:1 1 33.33333%;max-width:33.33333%}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1){-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n){-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}}@media screen and (min-width:960px) and (max-width:1279px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 25%;-ms-flex:1 1 25%;flex:1 1 25%;max-width:25%}}@media screen and (min-width:1280px) and (max-width:1919px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 16.66667%;-ms-flex:1 1 16.66667%;flex:1 1 16.66667%;max-width:16.66667%}}@media screen and (min-width:1920px){md-bottom-sheet.md-grid md-list-item{-webkit-flex:1 1 14.28571%;-ms-flex:1 1 14.28571%;flex:1 1 14.28571%;max-width:14.28571%}}md-bottom-sheet.md-grid md-list-item .md-list-item-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:48px;padding-bottom:16px}md-bottom-sheet.md-grid md-list-item .md-grid-item-content{border:1px solid transparent;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:80px}md-bottom-sheet.md-grid md-list-item .md-icon-container{display:inline-block;box-sizing:border-box;height:48px;width:48px;margin:0}md-bottom-sheet.md-grid md-list-item .md-grid-text{font-weight:400;line-height:16px;font-size:13px;margin:0;white-space:nowrap;width:64px;text-align:center;text-transform:none;padding-top:8px}@media screen and (-ms-high-contrast:active){md-bottom-sheet{border:1px solid #fff}}md-backdrop{transition:opacity 450ms;position:absolute;top:0;bottom:0;left:0;right:0;z-index:50}md-backdrop.md-menu-backdrop{position:fixed!important;z-index:99}md-backdrop.md-select-backdrop{z-index:81;transition-duration:0}md-backdrop.md-dialog-backdrop{z-index:79}md-backdrop.md-bottom-sheet-backdrop{z-index:69}md-backdrop.md-sidenav-backdrop{z-index:59}md-backdrop.md-click-catcher{position:absolute}md-backdrop.md-opaque{opacity:.48}md-backdrop.md-opaque.ng-enter{opacity:0}md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active{opacity:.48}md-backdrop.md-opaque.ng-leave{opacity:.48;transition:opacity 400ms}md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active{opacity:0}button.md-button::-moz-focus-inner{border:0}.md-button{border-radius:3px;box-sizing:border-box;color:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;outline:0;border:0;display:inline-block;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;background:0 0;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-weight:500;font-size:14px;font-style:inherit;font-variant:inherit;font-family:inherit;text-decoration:none;cursor:pointer;overflow:hidden;transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.md-button:focus{outline:0}.md-button:focus,.md-button:hover{text-decoration:none}.md-button.ng-hide,.md-button.ng-leave{transition:none}.md-button.md-cornered{border-radius:0}.md-button.md-icon{padding:0;background:0 0}.md-button.md-raised:not([disabled]){box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-button.md-icon-button{margin:0 6px;height:40px;min-width:0;line-height:24px;padding:8px;width:40px;border-radius:50%}.md-button.md-icon-button .md-ripple-container{border-radius:50%;background-clip:padding-box;overflow:hidden;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.md-button.md-fab{z-index:20;line-height:56px;min-width:0;width:56px;height:56px;vertical-align:middle;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:50%;background-clip:padding-box;overflow:hidden;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-property:background-color,box-shadow,-webkit-transform;transition-property:background-color,box-shadow,transform}.md-button.md-fab.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}.md-button.md-fab.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}.md-button.md-fab.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}.md-button.md-fab.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}.md-button.md-fab .md-ripple-container{border-radius:50%;background-clip:padding-box;overflow:hidden;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.md-button.md-fab.md-mini{line-height:40px;width:40px;height:40px}.md-button.md-fab.ng-hide,.md-button.md-fab.ng-leave{transition:none}.md-button:not([disabled]).md-fab.md-focused,.md-button:not([disabled]).md-raised.md-focused{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-button:not([disabled]).md-fab:active,.md-button:not([disabled]).md-raised:active{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-button .md-ripple-container{border-radius:3px;background-clip:padding-box;overflow:hidden;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.md-toast-open-top .md-button.md-fab-top-left,.md-toast-open-top .md-button.md-fab-top-right{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,42px,0);transform:translate3d(0,42px,0)}.md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover{-webkit-transform:translate3d(0,41px,0);transform:translate3d(0,41px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left,.md-toast-open-bottom .md-button.md-fab-bottom-right{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,-42px,0);transform:translate3d(0,-42px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover{-webkit-transform:translate3d(0,-43px,0);transform:translate3d(0,-43px,0)}.md-button-group{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;width:100%}.md-button-group>.md-button{-webkit-flex:1;-ms-flex:1;flex:1;display:block;overflow:hidden;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.md-button-group>.md-button:first-child{border-radius:2px 0 0 2px}.md-button-group>.md-button:last-child{border-right-width:1px;border-radius:0 2px 2px 0}@media screen and (-ms-high-contrast:active){.md-button.md-fab,.md-button.md-raised{border:1px solid #fff}}md-card{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-card md-card-header{padding:16px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-card md-card-header:first-child md-card-avatar{margin-right:12px}md-card md-card-header:last-child md-card-avatar{margin-left:12px}md-card md-card-header md-card-avatar{width:40px;height:40px}md-card md-card-header md-card-avatar .md-user-avatar,md-card md-card-header md-card-avatar md-icon{border-radius:50%}md-card md-card-header md-card-avatar md-icon{padding:8px}md-card md-card-header md-card-avatar+md-card-header-text{max-height:40px}md-card md-card-header md-card-avatar+md-card-header-text .md-title{font-size:14px}md-card md-card-header md-card-header-text{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}md-card md-card-header md-card-header-text .md-subhead{font-size:14px}md-card md-card img,md-card>:not(md-card-content) img{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:100%;height:auto}md-card md-card-title{padding:24px 16px 16px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-card md-card-title+md-card-content{padding-top:0}md-card md-card-title md-card-title-text{-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;display:-webkit-flex;display:-ms-flexbox;display:flex}md-card md-card-title md-card-title-text .md-subhead{padding-top:0;font-size:14px}md-card md-card-title md-card-title-text:only-child .md-subhead{padding-top:12px}md-card md-card-title md-card-title-media{margin-top:-8px}md-card md-card-title md-card-title-media .md-media-sm{height:80px;width:80px}md-card md-card-title md-card-title-media .md-media-md{height:112px;width:112px}md-card md-card-title md-card-title-media .md-media-lg{height:152px;width:152px}md-card md-card-content{display:block;padding:16px}md-card md-card-content>p:first-child{margin-top:0}md-card md-card-content>p:last-child{margin-bottom:0}md-card md-card-content .md-media-xl{height:240px;width:240px}md-card .md-actions,md-card md-card-actions{margin:8px}md-card .md-actions.layout-column .md-button:not(.md-icon-button),md-card md-card-actions.layout-column .md-button:not(.md-icon-button){margin:2px 0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type{margin-top:0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type{margin-bottom:0}md-card .md-actions.layout-column .md-button.md-icon-button,md-card md-card-actions.layout-column .md-button.md-icon-button{margin-top:6px;margin-bottom:6px}md-card .md-actions md-card-icon-actions,md-card md-card-actions md-card-icon-actions{-webkit-flex:1;-ms-flex:1;flex:1;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button),md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button){margin:0 4px}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:0}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:0}md-card .md-actions:not(.layout-column) .md-button.md-icon-button,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button{margin-left:6px;margin-right:6px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:12px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:12px}md-card .md-actions:not(.layout-column) .md-button+md-card-icon-actions,md-card md-card-actions:not(.layout-column) .md-button+md-card-icon-actions{-webkit-flex:1;-ms-flex:1;flex:1;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-card md-card-footer{margin-top:auto;padding:16px}@media screen and (-ms-high-contrast:active){md-card{border:1px solid #fff}}.md-inline-form md-checkbox{margin:19px 0 18px}md-checkbox{box-sizing:border-box;display:inline-block;margin-bottom:16px;white-space:nowrap;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;min-width:20px;min-height:20px;margin-left:inherit;margin-right:16px}body[dir=rtl] md-checkbox,html[dir=rtl] md-checkbox{margin-left:16px;margin-right:inherit;unicode-bidi:embed}md-checkbox bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-checkbox bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-checkbox:last-of-type{margin-left:inherit;margin-right:0}body[dir=rtl] md-checkbox:last-of-type,html[dir=rtl] md-checkbox:last-of-type{margin-left:0;margin-right:inherit;unicode-bidi:embed}md-checkbox:last-of-type bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-checkbox:last-of-type bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-checkbox.md-focused:not([disabled]) .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before{background-color:rgba(0,0,0,.12)}md-checkbox .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;left:0;right:auto}body[dir=rtl] md-checkbox .md-container,html[dir=rtl] md-checkbox .md-container{left:auto;right:0;unicode-bidi:embed}md-checkbox .md-container bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-checkbox .md-container bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-checkbox .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;transition:all .5s;width:auto}md-checkbox .md-container:after{box-sizing:border-box;content:'';position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-checkbox .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-checkbox.md-align-top-left>div.md-container{top:12px}md-checkbox .md-icon{box-sizing:border-box;transition:240ms;position:absolute;top:0;left:0;width:20px;height:20px;border-width:2px;border-style:solid;border-radius:2px}md-checkbox.md-checked .md-icon{border:none}md-checkbox[disabled]{cursor:default}md-checkbox.md-checked .md-icon:after{box-sizing:border-box;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:6.67px;top:2.22px;display:table;width:6.67px;height:13.33px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:''}md-checkbox .md-label{box-sizing:border-box;position:relative;display:inline-block;vertical-align:middle;white-space:normal;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;margin-left:30px;margin-right:0}body[dir=rtl] md-checkbox .md-label,html[dir=rtl] md-checkbox .md-label{margin-left:0;margin-right:30px;unicode-bidi:embed}md-checkbox .md-label bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-checkbox .md-label bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}md-content[md-scroll-y]{overflow-y:auto;overflow-x:hidden}md-content[md-scroll-x]{overflow-x:auto;overflow-y:hidden}md-content.autoScroll{-webkit-overflow-scrolling:auto}.md-contact-chips .md-chips .md-chip{padding:0 25px 0 0}.md-contact-chips .md-chips .md-chip .md-contact-avatar{float:left}.md-contact-chips .md-chips .md-chip .md-contact-avatar img{height:32px;border-radius:16px}.md-contact-chips .md-chips .md-chip .md-contact-name{display:inline-block;height:32px;margin-left:8px}.md-contact-suggestion{height:56px}.md-contact-suggestion img{height:40px;border-radius:20px;margin-top:8px}.md-contact-suggestion .md-contact-name{margin-left:8px;width:120px}.md-contact-suggestion .md-contact-email,.md-contact-suggestion .md-contact-name{display:inline-block;overflow:hidden;text-overflow:ellipsis}.md-contact-chips-suggestions li{height:100%}.md-chips{display:block;font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;padding:0 0 8px 3px;vertical-align:middle}.md-chips:after{content:'';display:table;clear:both}.md-chips:not(.md-readonly){cursor:text}.md-chips:not(.md-readonly) .md-chip:not(.md-readonly){padding-right:22px}.md-chips:not(.md-readonly) .md-chip:not(.md-readonly) .md-chip-content{padding-right:4px}.md-chips .md-chip{cursor:default;border-radius:16px;display:block;height:32px;line-height:32px;margin:8px 8px 0 0;padding:0 12px;float:left;box-sizing:border-box;max-width:100%;position:relative}.md-chips .md-chip .md-chip-content{display:block;float:left;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.md-chips .md-chip .md-chip-content:focus{outline:0}.md-chips .md-chip .md-chip-remove-container{position:absolute;right:0;line-height:22px}.md-chips .md-chip .md-chip-remove{text-align:center;width:32px;height:32px;min-width:0;padding:0;background:0 0;border:none;box-shadow:none;margin:0;position:relative}.md-chips .md-chip .md-chip-remove md-icon{height:18px;width:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.md-chips .md-chip-input-container{display:block;line-height:32px;margin:8px 8px 0 0;padding:0;float:left}.md-chips .md-chip-input-container input:not([type]),.md-chips .md-chip-input-container input[type=url],.md-chips .md-chip-input-container input[type=text],.md-chips .md-chip-input-container input[type=email],.md-chips .md-chip-input-container input[type=number],.md-chips .md-chip-input-container input[type=tel]{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:not([type]):focus,.md-chips .md-chip-input-container input[type=url]:focus,.md-chips .md-chip-input-container input[type=text]:focus,.md-chips .md-chip-input-container input[type=email]:focus,.md-chips .md-chip-input-container input[type=number]:focus,.md-chips .md-chip-input-container input[type=tel]:focus{outline:0}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{background:0 0}.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap{box-shadow:none}.md-chips .md-chip-input-container input{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:focus{outline:0}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{height:32px}.md-chips .md-chip-input-container md-autocomplete{box-shadow:none}.md-chips .md-chip-input-container md-autocomplete input{position:relative}.md-chips .md-chip-input-container:not(:first-child){margin:8px 8px 0 0}.md-chips .md-chip-input-container input{background:0 0;border-width:0}.md-chips md-autocomplete button{display:none}@media screen and (-ms-high-contrast:active){.md-chip-input-container,md-chip{border:1px solid #fff}.md-chip-input-container md-autocomplete{border:none}}.md-dialog-is-showing{max-height:100%}.md-dialog-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80;overflow:hidden}md-dialog{opacity:0;min-width:240px;max-width:80%;max-height:80%;position:relative;overflow:auto;box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}md-dialog.md-transition-in{opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-dialog.md-transition-out{opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,100%,0) scale(.2);transform:translate3d(0,100%,0) scale(.2)}md-dialog>form{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto}md-dialog .md-dialog-content{padding:24px}md-dialog md-dialog-content{-webkit-order:1;-ms-flex-order:1;order:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}md-dialog md-dialog-content:not([layout=row])>:first-child:not(.md-subheader){margin-top:0}md-dialog md-dialog-content:focus{outline:0}md-dialog md-dialog-content .md-subheader{margin:0}md-dialog md-dialog-content .md-subheader.sticky-clone{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}md-dialog md-dialog-content.sticky-container{padding:0}md-dialog md-dialog-content.sticky-container>div{padding:0 24px 24px}md-dialog md-dialog-content .md-dialog-content-body{width:100%}md-dialog .md-actions,md-dialog md-dialog-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-order:2;-ms-flex-order:2;order:2;box-sizing:border-box;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:0;padding-right:8px;padding-left:16px;min-height:52px;overflow:hidden}md-dialog .md-actions .md-button,md-dialog md-dialog-actions .md-button{margin:8px 0 8px 8px}md-dialog.md-content-overflow .md-actions,md-dialog.md-content-overflow md-dialog-actions{border-top-width:1px;border-top-style:solid}@media screen and (-ms-high-contrast:active){md-dialog{border:1px solid #fff}}@media (max-width:959px){md-dialog.md-dialog-fullscreen{min-height:100%;min-width:100%;border-radius:0}}md-calendar{font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-calendar-scroll-mask{display:inline-block;overflow:hidden;height:308px}.md-calendar-scroll-mask .md-virtual-repeat-scroller{overflow-y:scroll;-webkit-overflow-scrolling:touch}.md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar{display:none}.md-calendar-scroll-mask .md-virtual-repeat-offsetter{width:100%}.md-calendar-scroll-container{box-shadow:inset -3px 3px 6px rgba(0,0,0,.2);display:inline-block;height:308px;width:346px}.md-calendar-date{height:44px;width:44px;text-align:center;padding:0;border:none}.md-calendar-date:first-child{padding-left:16px}.md-calendar-date:last-child{padding-right:16px}.md-calendar-date.md-calendar-date-disabled{cursor:default}.md-calendar-date-selection-indicator{transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);border-radius:50%;display:inline-block;width:40px;height:40px;line-height:40px}.md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator{cursor:pointer}.md-calendar-month-label{height:44px;font-size:14px;font-weight:500;padding:0 0 0 24px}.md-calendar-day-header{table-layout:fixed;border-spacing:0;border-collapse:collapse}.md-calendar-day-header th{width:44px;text-align:center;padding:0;border:none;font-weight:400;height:40px}.md-calendar-day-header th:first-child{padding-left:16px}.md-calendar-day-header th:last-child{padding-right:16px}.md-calendar{table-layout:fixed;border-spacing:0;border-collapse:collapse}.md-calendar tr:last-child td{border-bottom-width:1px;border-bottom-style:solid}.md-calendar:first-child{border-top:1px solid transparent}md-datepicker{white-space:nowrap;overflow:hidden;padding-right:18px;margin-right:-18px;vertical-align:middle}.md-inline-form md-datepicker{margin-top:12px}.md-datepicker-button{display:inline-block;box-sizing:border-box;background:0 0}.md-datepicker-input{font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:0;background:0 0;min-width:120px;max-width:328px}.md-datepicker-input::-ms-clear{display:none}.md-datepicker-input-container{position:relative;padding-bottom:5px;border-bottom-width:1px;border-bottom-style:solid;display:inline-block;width:auto;margin-left:12px}.md-datepicker-input-container.md-datepicker-focused{border-bottom-width:2px}.md-datepicker-calendar-pane{position:absolute;top:0;left:0;z-index:100;border-width:1px;border-style:solid;background:0 0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;transition:-webkit-transform .2s cubic-bezier(.25,.8,.25,1);transition:transform .2s cubic-bezier(.25,.8,.25,1)}.md-datepicker-calendar-pane.md-pane-open{-webkit-transform:scale(1);transform:scale(1)}.md-datepicker-input-mask{height:40px;width:340px;position:relative;background:0 0;pointer-events:none;cursor:text}.md-datepicker-input-mask-opaque{position:absolute;right:0;left:120px;height:100%}.md-datepicker-calendar{opacity:0;transition:opacity .2s cubic-bezier(.5,0,.25,1)}.md-pane-open .md-datepicker-calendar{opacity:1}.md-datepicker-calendar md-calendar:focus{outline:0}.md-datepicker-expand-triangle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid}.md-datepicker-triangle-button{position:absolute;right:0;top:0;-webkit-transform:translateY(-25%) translateX(45%);transform:translateY(-25%) translateX(45%)}.md-datepicker-triangle-button.md-button.md-icon-button{height:100%;width:36px;position:absolute}md-datepicker[disabled] .md-datepicker-input-container{border-bottom-color:transparent}md-datepicker[disabled] .md-datepicker-triangle-button{display:none}.md-datepicker-open .md-datepicker-input-container{margin-left:-12px;border:none}.md-datepicker-open .md-datepicker-input{margin-left:24px;height:40px}.md-datepicker-open .md-datepicker-triangle-button,.md-datepicker-pos-adjusted .md-datepicker-input-mask{display:none}.md-datepicker-calendar-pane .md-calendar{-webkit-transform:translateY(-85px);transform:translateY(-85px);transition:-webkit-transform .65s cubic-bezier(.25,.8,.25,1);transition:transform .65s cubic-bezier(.25,.8,.25,1);transition-delay:.125s}.md-datepicker-calendar-pane.md-pane-open .md-calendar{-webkit-transform:translateY(0);transform:translateY(0)}md-divider{display:block;border-top-width:1px;border-top-style:solid;margin:0}md-divider[md-inset]{margin-left:80px}.layout-row>md-divider{border-top-width:0;border-right-width:1px;border-right-style:solid}md-fab-speed-dial{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;z-index:20}md-fab-speed-dial.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-speed-dial.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-speed-dial.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-speed-dial.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-speed-dial:not(.md-hover-full){pointer-events:none}md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item,md-fab-speed-dial:not(.md-hover-full) md-fab-trigger,md-fab-speed-dial:not(.md-hover-full).md-is-open{pointer-events:auto}md-fab-speed-dial .md-css-variables{z-index:20}md-fab-speed-dial.md-is-open .md-fab-action-item{-webkit-align-items:center;-ms-flex-align:center;align-items:center}md-fab-speed-dial md-fab-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;height:auto}md-fab-speed-dial md-fab-actions .md-fab-action-item{transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-down{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}md-fab-speed-dial.md-down md-fab-trigger{-webkit-order:1;-ms-flex-order:1;order:1}md-fab-speed-dial.md-down md-fab-actions{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-order:2;-ms-flex-order:2;order:2}md-fab-speed-dial.md-up{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}md-fab-speed-dial.md-up md-fab-trigger{-webkit-order:2;-ms-flex-order:2;order:2}md-fab-speed-dial.md-up md-fab-actions{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-order:1;-ms-flex-order:1;order:1}md-fab-speed-dial.md-left{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-fab-speed-dial.md-left md-fab-trigger{-webkit-order:2;-ms-flex-order:2;order:2}md-fab-speed-dial.md-left md-fab-actions{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-order:1;-ms-flex-order:1;order:1}md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item{transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-right{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-fab-speed-dial.md-right md-fab-trigger{-webkit-order:1;-ms-flex-order:1;order:1}md-fab-speed-dial.md-right md-fab-actions{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-order:2;-ms-flex-order:2;order:2}md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item{transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-fling-remove .md-fab-action-item>*,md-fab-speed-dial.md-scale-remove .md-fab-action-item>*{visibility:hidden}md-fab-speed-dial.md-fling .md-fab-action-item{opacity:1}md-fab-speed-dial.md-fling.md-animations-waiting .md-fab-action-item{opacity:0;transition-duration:0s}md-fab-speed-dial.md-scale .md-fab-action-item{-webkit-transform:scale(.1);transform:scale(.1);transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.14286s}md-fab-toolbar{display:block}md-fab-toolbar.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-toolbar.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-toolbar.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-toolbar.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-toolbar .md-fab-toolbar-wrapper{display:block;position:relative;overflow:hidden;height:68px}md-fab-toolbar md-fab-trigger{position:absolute;z-index:20}md-fab-toolbar md-fab-trigger button{overflow:visible!important}md-fab-toolbar md-fab-trigger .md-fab-toolbar-background{display:block;position:absolute;z-index:21;opacity:1;transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-toolbar md-fab-trigger md-icon{position:relative;z-index:22;opacity:1;transition:all 200ms ease-in}md-fab-toolbar.md-left md-fab-trigger{right:0}md-fab-toolbar.md-left .md-toolbar-tools{-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-right:.6rem;margin-left:-.8rem}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:8px}md-fab-toolbar.md-right md-fab-trigger{left:0}md-fab-toolbar.md-right .md-toolbar-tools{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-fab-toolbar md-toolbar{background-color:transparent!important;pointer-events:none;z-index:23}md-fab-toolbar md-toolbar .md-toolbar-tools{padding:0 20px;margin-top:3px}md-fab-toolbar md-toolbar .md-fab-action-item{opacity:0;-webkit-transform:scale(0);transform:scale(0);transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.15s}md-fab-toolbar.md-is-open md-fab-trigger>button{box-shadow:none}md-fab-toolbar.md-is-open md-fab-trigger>button md-icon{opacity:0}md-fab-toolbar.md-is-open .md-fab-action-item{opacity:1;-webkit-transform:scale(1);transform:scale(1)}md-grid-list{box-sizing:border-box;display:block;position:relative}md-grid-list md-grid-tile,md-grid-list md-grid-tile-footer,md-grid-list md-grid-tile-header,md-grid-list md-grid-tile>figure{box-sizing:border-box}md-grid-list md-grid-tile{display:block;position:absolute}md-grid-list md-grid-tile figure{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;padding:0;margin:0}md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:48px;color:#fff;background:rgba(0,0,0,.18);overflow:hidden;position:absolute;left:0;right:0}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h3,md-grid-list md-grid-tile md-grid-tile-header h4{font-weight:400;margin:0 0 0 16px}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-header h3{font-size:14px}md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h4{font-size:12px}md-grid-list md-grid-tile md-grid-tile-header{top:0}md-grid-list md-grid-tile md-grid-tile-footer{bottom:0}@media screen and (-ms-high-contrast:active){md-grid-tile{border:1px solid #fff}md-grid-tile-footer{border-top:1px solid #fff}}md-icon{margin:auto;background-repeat:no-repeat no-repeat;display:inline-block;vertical-align:middle;fill:currentColor;height:24px;width:24px}md-icon svg{pointer-events:none}md-icon[md-font-icon]{line-height:1;width:auto}md-list{display:block;padding:8px 0}md-list .md-subheader{font-size:14px;font-weight:500;letter-spacing:.010em;line-height:1.2em}md-list-item{position:relative}md-list-item.md-proxy-focus.md-focused .md-no-style{transition:background-color .15s linear}md-list-item .md-no-style,md-list-item.md-no-proxy{position:relative;padding:0 16px;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}md-list-item .md-no-style.md-button,md-list-item.md-no-proxy.md-button{font-size:inherit;height:inherit;text-align:left;text-transform:none;width:100%;white-space:normal;-webkit-flex-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit;-webkit-align-items:inherit;-ms-flex-align:inherit;align-items:inherit;border-radius:0}md-list-item .md-no-style.md-button>.md-ripple-container,md-list-item.md-no-proxy.md-button>.md-ripple-container{border-radius:0}md-list-item .md-no-style:focus,md-list-item.md-no-proxy:focus{outline:0}md-list-item.md-with-secondary{position:relative}md-list-item.md-clickable:hover{cursor:pointer}md-list-item md-divider{position:absolute;bottom:0;left:0;width:100%}md-list-item md-divider[md-inset]{left:96px;width:calc(100% - 96px);margin:0}md-list-item,md-list-item .md-list-item-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-height:48px;height:auto}md-list-item .md-list-item-inner>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon.md-secondary:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item>md-icon.md-secondary:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){width:24px;margin-top:16px;margin-bottom:12px;box-sizing:content-box}md-list-item .md-list-item-inner md-checkbox.md-secondary,md-list-item .md-list-item-inner>div.md-primary>md-checkbox,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox,md-list-item .md-list-item-inner>md-checkbox,md-list-item md-checkbox.md-secondary,md-list-item>div.md-primary>md-checkbox,md-list-item>div.md-secondary>md-checkbox,md-list-item>md-checkbox{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}md-list-item .md-list-item-inner md-checkbox.md-secondary .md-label,md-list-item .md-list-item-inner>div.md-primary>md-checkbox .md-label,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox .md-label,md-list-item .md-list-item-inner>md-checkbox .md-label,md-list-item md-checkbox.md-secondary .md-label,md-list-item>div.md-primary>md-checkbox .md-label,md-list-item>div.md-secondary>md-checkbox .md-label,md-list-item>md-checkbox .md-label{display:none}md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:32px}md-list-item .md-list-item-inner>md-checkbox,md-list-item>md-checkbox{width:24px;margin-left:3px;margin-right:29px;margin-top:16px}md-list-item .md-avatar,md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar,md-list-item .md-list-item-inner .md-avatar-icon{margin-top:8px;margin-bottom:8px;margin-right:16px;border-radius:50%;box-sizing:content-box}md-list-item .md-avatar,md-list-item .md-list-item-inner .md-avatar{width:40px;height:40px}md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar-icon{padding:8px}md-list-item .md-list-item-inner md-checkbox.md-secondary,md-list-item .md-list-item-inner md-switch.md-secondary,md-list-item md-checkbox.md-secondary,md-list-item md-switch.md-secondary{margin-top:0;margin-bottom:0}md-list-item .md-list-item-inner md-checkbox.md-secondary,md-list-item md-checkbox.md-secondary{margin-right:0}md-list-item .md-list-item-inner md-switch.md-secondary,md-list-item md-switch.md-secondary{margin-right:-6px}md-list-item .md-list-item-inner button.md-button.md-secondary-container,md-list-item button.md-button.md-secondary-container{background-color:transparent;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;border-radius:50%;margin:0;min-width:0}md-list-item .md-list-item-inner button.md-button.md-secondary-container .md-ripple,md-list-item .md-list-item-inner button.md-button.md-secondary-container .md-ripple-container,md-list-item button.md-button.md-secondary-container .md-ripple,md-list-item button.md-button.md-secondary-container .md-ripple-container{border-radius:50%}md-list-item .md-list-item-inner button.md-button.md-secondary-container.md-icon-button,md-list-item button.md-button.md-secondary-container.md-icon-button{margin-right:-12px}md-list-item .md-list-item-inner .md-secondary,md-list-item .md-list-item-inner .md-secondary-container,md-list-item .md-secondary,md-list-item .md-secondary-container{position:absolute;top:50%;right:16px;margin:0 0 0 16px;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-list-item .md-list-item-inner>.md-button.md-secondary-container>.md-secondary,md-list-item>.md-button.md-secondary-container>.md-secondary{margin-left:0;position:static}md-list-item .md-list-item-inner>.md-list-item-inner>p,md-list-item .md-list-item-inner>p,md-list-item>.md-list-item-inner>p,md-list-item>p{-webkit-flex:1;-ms-flex:1;flex:1;margin:0}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style,md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text,md-list-item.md-3-line .md-list-item-text,md-list-item.md-3-line>.md-no-style .md-list-item-text{-webkit-flex:1;-ms-flex:1;flex:1;margin:auto;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text.md-offset,md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list-item.md-3-line .md-list-item-text.md-offset,md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}md-list-item.md-2-line .md-list-item-text h3,md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list-item.md-3-line .md-list-item-text h3,md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:16px;font-weight:400;letter-spacing:.010em;margin:0;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text h4,md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list-item.md-3-line .md-list-item-text h4,md-list-item.md-3-line>.md-no-style .md-list-item-text h4{font-size:14px;letter-spacing:.010em;margin:3px 0 1px;font-weight:400;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text p,md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list-item.md-3-line .md-list-item-text p,md-list-item.md-3-line>.md-no-style .md-list-item-text p{font-size:14px;font-weight:500;letter-spacing:.010em;margin:0;line-height:1.6em}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style{height:auto;min-height:72px}md-list-item.md-2-line.md-long-text,md-list-item.md-2-line>.md-no-style.md-long-text{margin:1.6em}md-list-item.md-2-line .md-avatar-icon,md-list-item.md-2-line>.md-avatar,md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list-item.md-2-line>.md-no-style>md-icon:first-child,md-list-item.md-2-line>md-icon:first-child{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text{-webkit-flex:1;-ms-flex:1;flex:1}md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{height:auto;min-height:88px}md-list-item.md-3-line.md-long-text,md-list-item.md-3-line>.md-no-style.md-long-text{margin:1.6em}md-list-item.md-3-line>.md-avatar,md-list-item.md-3-line>.md-no-style>.md-avatar,md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list-item.md-3-line>md-icon:first-child{margin-top:16px}.md-open-menu-container{position:fixed;left:0;top:0;z-index:100;opacity:0;border-radius:2px}.md-open-menu-container md-menu-divider{margin-top:4px;margin-bottom:4px;height:1px;min-height:1px;max-height:1px;width:100%}.md-open-menu-container md-menu-content>*{opacity:0}.md-open-menu-container:not(.md-clickable){pointer-events:none}.md-open-menu-container.md-active{opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:200ms}.md-open-menu-container.md-active>md-menu-content>*{opacity:1;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:200ms;transition-delay:100ms}.md-open-menu-container.md-leave{opacity:0;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:250ms}md-menu-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:8px 0;max-height:304px;overflow-y:auto}md-menu-content.md-dense{max-height:208px}md-menu-content.md-dense md-menu-item{height:32px;min-height:0}md-menu-item{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;min-height:48px;height:48px;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}md-menu-item>*{width:100%;margin:auto 0;padding-left:16px;padding-right:16px}md-menu-item>a.md-button{display:-webkit-flex;display:-ms-flexbox;display:flex}md-menu-item>.md-button{border-radius:0;margin:auto 0;font-size:15px;text-transform:none;font-weight:400;text-align:left;text-align:start;height:100%;padding-left:16px;padding-right:16px;display:inline-block;-webkit-align-items:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;width:100%}md-menu-item>.md-button md-icon{margin:auto 16px auto 0}md-menu-item>.md-button p{display:inline-block;margin:auto}md-menu-item>.md-button span{margin-top:auto;margin-bottom:auto}md-menu-item>.md-button .md-ripple-container{border-radius:inherit}.md-menu{padding:8px 0}md-toolbar .md-menu{height:auto;margin:auto;padding:0}@media (max-width:959px){md-menu-content{min-width:112px}md-menu-content[width="3"]{min-width:168px}md-menu-content[width="4"]{min-width:224px}md-menu-content[width="5"]{min-width:280px}md-menu-content[width="6"]{min-width:336px}md-menu-content[width="7"]{min-width:392px}}@media (min-width:960px){md-menu-content{min-width:96px}md-menu-content[width="3"]{min-width:192px}md-menu-content[width="4"]{min-width:256px}md-menu-content[width="5"]{min-width:320px}md-menu-content[width="6"]{min-width:384px}md-menu-content[width="7"]{min-width:448px}}md-input-container{display:inline-block;position:relative;padding:2px;margin:18px 0;vertical-align:middle}md-input-container:after{content:'';display:table;clear:both}md-input-container.md-block{display:block}md-input-container .md-errors-spacer{float:right;min-height:24px;min-width:1px}body[dir=rtl] md-input-container .md-errors-spacer,html[dir=rtl] md-input-container .md-errors-spacer{float:left;unicode-bidi:embed}md-input-container .md-errors-spacer bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container .md-errors-spacer bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container>md-icon{position:absolute;top:5px;left:2px;right:auto}body[dir=rtl] md-input-container>md-icon,html[dir=rtl] md-input-container>md-icon{left:auto;right:2px;unicode-bidi:embed}md-input-container>md-icon bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container>md-icon bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container input[type=url],md-input-container input[type=text],md-input-container input[type=password],md-input-container input[type=datetime],md-input-container input[type=datetime-local],md-input-container input[type=date],md-input-container input[type=month],md-input-container input[type=time],md-input-container input[type=week],md-input-container input[type=color],md-input-container input[type=search],md-input-container input[type=email],md-input-container input[type=number],md-input-container input[type=tel],md-input-container textarea{-moz-appearance:none;-webkit-appearance:none}md-input-container input[type=datetime-local],md-input-container input[type=date],md-input-container input[type=month],md-input-container input[type=time],md-input-container input[type=week]{min-height:26px}md-input-container textarea{resize:none;overflow:hidden}md-input-container textarea.md-input{min-height:26px;-ms-flex-preferred-size:auto}md-input-container label:not(.md-container-ignore){position:absolute;bottom:100%;left:0;right:auto}body[dir=rtl] md-input-container label:not(.md-container-ignore),html[dir=rtl] md-input-container label:not(.md-container-ignore){left:auto;right:0;unicode-bidi:embed}md-input-container label:not(.md-container-ignore) bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container label:not(.md-container-ignore) bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container.md-has-icon{padding-left:36px;padding-right:0}body[dir=rtl] md-input-container.md-has-icon,html[dir=rtl] md-input-container.md-has-icon{padding-left:0;padding-right:36px;unicode-bidi:embed}md-input-container.md-has-icon bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container.md-has-icon bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container.md-has-icon>label{left:36px;right:auto}body[dir=rtl] md-input-container.md-has-icon>label,html[dir=rtl] md-input-container.md-has-icon>label{left:auto;right:36px;unicode-bidi:embed}md-input-container.md-has-icon>label bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container.md-has-icon>label bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container .md-placeholder,md-input-container label:not(.md-no-float):not(.md-container-ignore){-webkit-order:1;-ms-flex-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:3px;padding-right:0;z-index:1;-webkit-transform:translate3d(0,28px,0) scale(1);transform:translate3d(0,28px,0) scale(1);transition:-webkit-transform cubic-bezier(.25,.8,.25,1) .25s;transition:transform cubic-bezier(.25,.8,.25,1) .25s;-webkit-transform-origin:left top;transform-origin:left top}body[dir=rtl] md-input-container .md-placeholder,body[dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore),html[dir=rtl] md-input-container .md-placeholder,html[dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore){padding-left:0;padding-right:3px;-webkit-transform-origin:right top;transform-origin:right top;unicode-bidi:embed}md-input-container .md-placeholder bdo[dir=rtl],md-input-container label:not(.md-no-float):not(.md-container-ignore) bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container .md-placeholder bdo[dir=ltr],md-input-container label:not(.md-no-float):not(.md-container-ignore) bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container .md-placeholder{position:absolute;top:0;opacity:0;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;-webkit-transform:translate3d(0,30px,0);transform:translate3d(0,30px,0)}md-input-container.md-input-focused .md-placeholder{opacity:1;-webkit-transform:translate3d(0,24px,0);transform:translate3d(0,24px,0)}md-input-container.md-input-has-value .md-placeholder{transition:none;opacity:0}md-input-container:not(.md-input-has-value) input:not(:focus),md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field{color:transparent}md-input-container .md-input{-webkit-order:2;-ms-flex-order:2;order:2;display:block;margin-top:0;background:0 0;padding:2px 2px 1px;border-width:0 0 1px;line-height:26px;height:30px;-ms-flex-preferred-size:26px;border-radius:0;border-style:solid;width:100%;box-sizing:border-box;float:left}body[dir=rtl] md-input-container .md-input,html[dir=rtl] md-input-container .md-input{float:right;unicode-bidi:embed}md-input-container .md-input bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container .md-input bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container .md-input:focus{outline:0}md-input-container .md-input:invalid{outline:0;box-shadow:none}md-input-container .md-input.md-no-flex{-webkit-flex:none!important;-ms-flex:none!important;flex:none!important}md-input-container .md-char-counter{text-align:right;padding-right:2px;padding-left:0}body[dir=rtl] md-input-container .md-char-counter,html[dir=rtl] md-input-container .md-char-counter{text-align:left;padding-right:0;padding-left:2px;unicode-bidi:embed}md-input-container .md-char-counter bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container .md-char-counter bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container [data-ng-messages],md-input-container [ng-messages],md-input-container [x-ng-messages],md-input-container data-ng-messages,md-input-container ng-messages,md-input-container x-ng-messages{position:relative;-webkit-order:4;-ms-flex-order:4;order:4;overflow:hidden;clear:left}body[dir=rtl] md-input-container [data-ng-messages],body[dir=rtl] md-input-container [ng-messages],body[dir=rtl] md-input-container [x-ng-messages],body[dir=rtl] md-input-container data-ng-messages,body[dir=rtl] md-input-container ng-messages,body[dir=rtl] md-input-container x-ng-messages,html[dir=rtl] md-input-container [data-ng-messages],html[dir=rtl] md-input-container [ng-messages],html[dir=rtl] md-input-container [x-ng-messages],html[dir=rtl] md-input-container data-ng-messages,html[dir=rtl] md-input-container ng-messages,html[dir=rtl] md-input-container x-ng-messages{clear:right;unicode-bidi:embed}md-input-container [data-ng-messages] bdo[dir=rtl],md-input-container [ng-messages] bdo[dir=rtl],md-input-container [x-ng-messages] bdo[dir=rtl],md-input-container data-ng-messages bdo[dir=rtl],md-input-container ng-messages bdo[dir=rtl],md-input-container x-ng-messages bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container [data-ng-messages] bdo[dir=ltr],md-input-container [ng-messages] bdo[dir=ltr],md-input-container [x-ng-messages] bdo[dir=ltr],md-input-container data-ng-messages bdo[dir=ltr],md-input-container ng-messages bdo[dir=ltr],md-input-container x-ng-messages bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container [data-ng-messages].ng-enter [data-ng-message-exp],md-input-container [data-ng-messages].ng-enter [data-ng-message],md-input-container [data-ng-messages].ng-enter [ng-message-exp],md-input-container [data-ng-messages].ng-enter [ng-message],md-input-container [data-ng-messages].ng-enter [x-ng-message-exp],md-input-container [data-ng-messages].ng-enter [x-ng-message],md-input-container [data-ng-messages].ng-enter data-ng-message,md-input-container [data-ng-messages].ng-enter ng-message,md-input-container [data-ng-messages].ng-enter x-ng-message,md-input-container [ng-messages].ng-enter [data-ng-message-exp],md-input-container [ng-messages].ng-enter [data-ng-message],md-input-container [ng-messages].ng-enter [ng-message-exp],md-input-container [ng-messages].ng-enter [ng-message],md-input-container [ng-messages].ng-enter [x-ng-message-exp],md-input-container [ng-messages].ng-enter [x-ng-message],md-input-container [ng-messages].ng-enter data-ng-message,md-input-container [ng-messages].ng-enter ng-message,md-input-container [ng-messages].ng-enter x-ng-message,md-input-container [x-ng-messages].ng-enter [data-ng-message-exp],md-input-container [x-ng-messages].ng-enter [data-ng-message],md-input-container [x-ng-messages].ng-enter [ng-message-exp],md-input-container [x-ng-messages].ng-enter [ng-message],md-input-container [x-ng-messages].ng-enter [x-ng-message-exp],md-input-container [x-ng-messages].ng-enter [x-ng-message],md-input-container [x-ng-messages].ng-enter data-ng-message,md-input-container [x-ng-messages].ng-enter ng-message,md-input-container [x-ng-messages].ng-enter x-ng-message,md-input-container data-ng-messages.ng-enter [data-ng-message-exp],md-input-container data-ng-messages.ng-enter [data-ng-message],md-input-container data-ng-messages.ng-enter [ng-message-exp],md-input-container data-ng-messages.ng-enter [ng-message],md-input-container data-ng-messages.ng-enter [x-ng-message-exp],md-input-container data-ng-messages.ng-enter [x-ng-message],md-input-container data-ng-messages.ng-enter data-ng-message,md-input-container data-ng-messages.ng-enter ng-message,md-input-container data-ng-messages.ng-enter x-ng-message,md-input-container ng-messages.ng-enter [data-ng-message-exp],md-input-container ng-messages.ng-enter [data-ng-message],md-input-container ng-messages.ng-enter [ng-message-exp],md-input-container ng-messages.ng-enter [ng-message],md-input-container ng-messages.ng-enter [x-ng-message-exp],md-input-container ng-messages.ng-enter [x-ng-message],md-input-container ng-messages.ng-enter data-ng-message,md-input-container ng-messages.ng-enter ng-message,md-input-container ng-messages.ng-enter x-ng-message,md-input-container x-ng-messages.ng-enter [data-ng-message-exp],md-input-container x-ng-messages.ng-enter [data-ng-message],md-input-container x-ng-messages.ng-enter [ng-message-exp],md-input-container x-ng-messages.ng-enter [ng-message],md-input-container x-ng-messages.ng-enter [x-ng-message-exp],md-input-container x-ng-messages.ng-enter [x-ng-message],md-input-container x-ng-messages.ng-enter data-ng-message,md-input-container x-ng-messages.ng-enter ng-message,md-input-container x-ng-messages.ng-enter x-ng-message{opacity:0;margin-top:-100px}md-input-container .md-char-counter,md-input-container [data-ng-message-exp],md-input-container [data-ng-message],md-input-container [ng-message-exp],md-input-container [ng-message],md-input-container [x-ng-message-exp],md-input-container [x-ng-message],md-input-container data-ng-message,md-input-container ng-message,md-input-container x-ng-message{font-size:12px;line-height:14px;overflow:hidden;transition:all .3s cubic-bezier(.55,0,.55,.2);opacity:1;margin-top:0;padding-top:5px}md-input-container .md-char-counter:not(.md-char-counter),md-input-container [data-ng-message-exp]:not(.md-char-counter),md-input-container [data-ng-message]:not(.md-char-counter),md-input-container [ng-message-exp]:not(.md-char-counter),md-input-container [ng-message]:not(.md-char-counter),md-input-container [x-ng-message-exp]:not(.md-char-counter),md-input-container [x-ng-message]:not(.md-char-counter),md-input-container data-ng-message:not(.md-char-counter),md-input-container ng-message:not(.md-char-counter),md-input-container x-ng-message:not(.md-char-counter){padding-right:5px;padding-left:0}body[dir=rtl] md-input-container .md-char-counter:not(.md-char-counter),body[dir=rtl] md-input-container [data-ng-message-exp]:not(.md-char-counter),body[dir=rtl] md-input-container [data-ng-message]:not(.md-char-counter),body[dir=rtl] md-input-container [ng-message-exp]:not(.md-char-counter),body[dir=rtl] md-input-container [ng-message]:not(.md-char-counter),body[dir=rtl] md-input-container [x-ng-message-exp]:not(.md-char-counter),body[dir=rtl] md-input-container [x-ng-message]:not(.md-char-counter),body[dir=rtl] md-input-container data-ng-message:not(.md-char-counter),body[dir=rtl] md-input-container ng-message:not(.md-char-counter),body[dir=rtl] md-input-container x-ng-message:not(.md-char-counter),html[dir=rtl] md-input-container .md-char-counter:not(.md-char-counter),html[dir=rtl] md-input-container [data-ng-message-exp]:not(.md-char-counter),html[dir=rtl] md-input-container [data-ng-message]:not(.md-char-counter),html[dir=rtl] md-input-container [ng-message-exp]:not(.md-char-counter),html[dir=rtl] md-input-container [ng-message]:not(.md-char-counter),html[dir=rtl] md-input-container [x-ng-message-exp]:not(.md-char-counter),html[dir=rtl] md-input-container [x-ng-message]:not(.md-char-counter),html[dir=rtl] md-input-container data-ng-message:not(.md-char-counter),html[dir=rtl] md-input-container ng-message:not(.md-char-counter),html[dir=rtl] md-input-container x-ng-message:not(.md-char-counter){padding-right:0;padding-left:5px;unicode-bidi:embed}md-input-container .md-char-counter:not(.md-char-counter) bdo[dir=rtl],md-input-container [data-ng-message-exp]:not(.md-char-counter) bdo[dir=rtl],md-input-container [data-ng-message]:not(.md-char-counter) bdo[dir=rtl],md-input-container [ng-message-exp]:not(.md-char-counter) bdo[dir=rtl],md-input-container [ng-message]:not(.md-char-counter) bdo[dir=rtl],md-input-container [x-ng-message-exp]:not(.md-char-counter) bdo[dir=rtl],md-input-container [x-ng-message]:not(.md-char-counter) bdo[dir=rtl],md-input-container data-ng-message:not(.md-char-counter) bdo[dir=rtl],md-input-container ng-message:not(.md-char-counter) bdo[dir=rtl],md-input-container x-ng-message:not(.md-char-counter) bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container .md-char-counter:not(.md-char-counter) bdo[dir=ltr],md-input-container [data-ng-message-exp]:not(.md-char-counter) bdo[dir=ltr],md-input-container [data-ng-message]:not(.md-char-counter) bdo[dir=ltr],md-input-container [ng-message-exp]:not(.md-char-counter) bdo[dir=ltr],md-input-container [ng-message]:not(.md-char-counter) bdo[dir=ltr],md-input-container [x-ng-message-exp]:not(.md-char-counter) bdo[dir=ltr],md-input-container [x-ng-message]:not(.md-char-counter) bdo[dir=ltr],md-input-container data-ng-message:not(.md-char-counter) bdo[dir=ltr],md-input-container ng-message:not(.md-char-counter) bdo[dir=ltr],md-input-container x-ng-message:not(.md-char-counter) bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container .md-auto-hide .md-input-message-animation:not(.ng-animate),md-input-container .md-input-message-animation.ng-enter,md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation{opacity:0;margin-top:-100px}md-input-container.md-input-focused label:not(.md-no-float),md-input-container.md-input-has-placeholder label:not(.md-no-float),md-input-container.md-input-has-value label:not(.md-no-float){-webkit-transform:translate3d(0,6px,0) scale(.75);transform:translate3d(0,6px,0) scale(.75)}md-input-container.md-input-has-value label{transition:none}md-input-container .md-input.ng-invalid.ng-dirty,md-input-container.md-input-focused .md-input{padding-bottom:0;border-width:0 0 2px}[disabled] md-input-container .md-input,md-input-container .md-input[disabled]{background-position:0 bottom;background-size:4px 1px;background-repeat:repeat-x;margin-bottom:-1px}md-input-container.md-icon-float{transition:margin-top .5s cubic-bezier(.25,.8,.25,1)}md-input-container.md-icon-float>label{pointer-events:none;position:absolute}md-input-container.md-icon-float>md-icon{top:2px;left:2px;right:auto}body[dir=rtl] md-input-container.md-icon-float>md-icon,html[dir=rtl] md-input-container.md-icon-float>md-icon{left:auto;right:2px;unicode-bidi:embed}md-input-container.md-icon-float>md-icon bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container.md-icon-float>md-icon bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container.md-icon-float.md-input-focused label,md-input-container.md-icon-float.md-input-has-value label{-webkit-transform:translate3d(0,6px,0) scale(.75);transform:translate3d(0,6px,0) scale(.75);transition:-webkit-transform cubic-bezier(.25,.8,.25,1) .5s;transition:transform cubic-bezier(.25,.8,.25,1) .5s}md-input-container.md-icon-right{padding-right:36px;padding-left:36px}body[dir=rtl] md-input-container.md-icon-right,html[dir=rtl] md-input-container.md-icon-right{padding-right:36px;padding-left:36px;unicode-bidi:embed}md-input-container.md-icon-right bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container.md-icon-right bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-input-container.md-icon-right .md-errors-spacer+md-icon{margin:0;right:2px;left:auto}body[dir=rtl] md-input-container.md-icon-right .md-errors-spacer+md-icon,html[dir=rtl] md-input-container.md-icon-right .md-errors-spacer+md-icon{right:auto;left:2px;unicode-bidi:embed}md-input-container.md-icon-right .md-errors-spacer+md-icon bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-input-container.md-icon-right .md-errors-spacer+md-icon bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}@media screen and (-ms-high-contrast:active){md-input-container.md-default-theme>md-icon{fill:#fff}}md-toolbar.md-menu-toolbar h2.md-toolbar-tools{line-height:1rem;height:auto;padding:28px 28px 12px}md-menu-bar{padding:0 20px;display:block;position:relative;z-index:2}md-menu-bar .md-menu{display:inline-block;padding:0;position:relative}md-menu-bar button{font-size:14px;padding:0 10px;margin:0;border:0;background-color:transparent;height:40px}md-menu-bar md-backdrop.md-menu-backdrop{z-index:-2}md-menu-content.md-menu-bar-menu.md-dense{max-height:none;padding:16px 0}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent{position:relative}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{position:absolute;padding:0;width:24px;top:6px;left:24px}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 32px 0 64px}md-menu-content.md-menu-bar-menu.md-dense .md-button{min-height:0;height:32px;display:-webkit-flex;display:-ms-flexbox;display:flex}md-menu-content.md-menu-bar-menu.md-dense .md-button span{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;margin:0 8px}md-menu-content.md-menu-bar-menu.md-dense md-menu-divider{margin:8px 0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:left;text-align:start}md-menu-content.md-menu-bar-menu.md-dense .md-menu{padding:0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{position:relative;margin:0;width:100%;text-transform:none;font-weight:400;border-radius:0;padding-left:16px}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{display:block;content:'\25BC';position:absolute;top:0;speak:none;-webkit-transform:rotate(270deg) scaleY(.45) scaleX(.9);transform:rotate(270deg) scaleY(.45) scaleX(.9);right:28px}md-progress-circular{display:block;position:relative;width:100px;height:100px;padding-top:0!important;margin-bottom:0!important;z-index:2}md-progress-circular .md-spinner-wrapper{display:block;position:absolute;overflow:hidden;top:50%;left:50%}md-progress-circular .md-spinner-wrapper .md-inner{width:100px;height:100px;position:relative}md-progress-circular .md-spinner-wrapper .md-inner .md-gap{position:absolute;left:49px;right:49px;top:0;bottom:0;border-top-width:10px;border-top-style:solid;box-sizing:border-box}md-progress-circular .md-spinner-wrapper .md-inner .md-left,md-progress-circular .md-spinner-wrapper .md-inner .md-right{position:absolute;top:0;height:100px;width:50px;overflow:hidden}md-progress-circular .md-spinner-wrapper .md-inner .md-left .md-half-circle,md-progress-circular .md-spinner-wrapper .md-inner .md-right .md-half-circle{position:absolute;top:0;width:100px;height:100px;box-sizing:border-box;border-width:10px;border-style:solid;border-bottom-color:transparent;border-radius:50%}md-progress-circular .md-spinner-wrapper .md-inner .md-left{left:0}md-progress-circular .md-spinner-wrapper .md-inner .md-left .md-half-circle{left:0;border-right-color:transparent}md-progress-circular .md-spinner-wrapper .md-inner .md-right{right:0}md-progress-circular .md-spinner-wrapper .md-inner .md-right .md-half-circle{right:0;border-left-color:transparent}md-progress-circular .md-mode-indeterminate .md-spinner-wrapper{-webkit-animation:outer-rotate 2.91667s linear infinite;animation:outer-rotate 2.91667s linear infinite}md-progress-circular .md-mode-indeterminate .md-spinner-wrapper .md-inner{-webkit-animation:sporadic-rotate 5.25s cubic-bezier(.35,0,.25,1) infinite;animation:sporadic-rotate 5.25s cubic-bezier(.35,0,.25,1) infinite}md-progress-circular .md-mode-indeterminate .md-spinner-wrapper .md-inner .md-left .md-half-circle,md-progress-circular .md-mode-indeterminate .md-spinner-wrapper .md-inner .md-right .md-half-circle{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-duration:1.3125s;animation-duration:1.3125s;-webkit-animation-timing-function:cubic-bezier(.35,0,.25,1);animation-timing-function:cubic-bezier(.35,0,.25,1)}md-progress-circular .md-mode-indeterminate .md-spinner-wrapper .md-inner .md-left .md-half-circle{-webkit-animation-name:left-wobble;animation-name:left-wobble}md-progress-circular .md-mode-indeterminate .md-spinner-wrapper .md-inner .md-right .md-half-circle{-webkit-animation-name:right-wobble;animation-name:right-wobble}md-progress-circular md-progress-circular.ng-hide .md-spinner-wrapper,md-progress-circular md-progress-circular.ng-hide .md-spinner-wrapper .md-inner{-webkit-animation:none;animation:none}md-progress-circular md-progress-circular.ng-hide .md-spinner-wrapper .md-inner .md-left .md-half-circle,md-progress-circular md-progress-circular.ng-hide .md-spinner-wrapper .md-inner .md-right .md-half-circle{-webkit-animation-name:none;animation-name:none}md-progress-circular .md-spinner-wrapper.ng-hide,md-progress-circular .md-spinner-wrapper.ng-hide .md-inner{-webkit-animation:none;animation:none}md-progress-circular .md-spinner-wrapper.ng-hide .md-inner .md-left .md-half-circle,md-progress-circular .md-spinner-wrapper.ng-hide .md-inner .md-right .md-half-circle{-webkit-animation-name:none;animation-name:none}@-webkit-keyframes outer-rotate{0%{-webkit-transform:rotate(0deg) scale(.5);transform:rotate(0deg) scale(.5)}100%{-webkit-transform:rotate(360deg) scale(.5);transform:rotate(360deg) scale(.5)}}@keyframes outer-rotate{0%{-webkit-transform:rotate(0deg) scale(.5);transform:rotate(0deg) scale(.5)}100%{-webkit-transform:rotate(360deg) scale(.5);transform:rotate(360deg) scale(.5)}}@-webkit-keyframes left-wobble{0%,100%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}}@keyframes left-wobble{0%,100%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}}@-webkit-keyframes right-wobble{0%,100%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}}@keyframes right-wobble{0%,100%{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}}@-webkit-keyframes sporadic-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes sporadic-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}md-progress-linear{display:block;position:relative;width:100%;height:5px;padding-top:0!important;margin-bottom:0!important}md-progress-linear .md-container{display:block;position:relative;overflow:hidden;width:100%;height:5px;-webkit-transform:translate(0,0) scale(1,1);transform:translate(0,0) scale(1,1)}md-progress-linear .md-container .md-bar{position:absolute;left:0;top:0;bottom:0;width:100%;height:5px}md-progress-linear .md-container .md-dashed:before{content:"";display:none;position:absolute;margin-top:0;height:5px;width:100%;background-color:transparent;background-size:10px 10px!important;background-position:0 -23px}md-progress-linear .md-container .md-bar1,md-progress-linear .md-container .md-bar2{transition:-webkit-transform .2s linear;transition:transform .2s linear}md-progress-linear .md-container.md-mode-query .md-bar1{display:none}md-progress-linear .md-container.md-mode-query .md-bar2{transition:all .2s linear;-webkit-animation:query .8s infinite cubic-bezier(.39,.575,.565,1);animation:query .8s infinite cubic-bezier(.39,.575,.565,1)}md-progress-linear .md-container.md-mode-determinate .md-bar1{display:none}md-progress-linear .md-container.md-mode-indeterminate .md-bar1{-webkit-animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite;animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite}md-progress-linear .md-container.md-mode-indeterminate .md-bar2{-webkit-animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite;animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite}md-progress-linear .md-container.ng-hide{-webkit-animation:none;animation:none}md-progress-linear .md-container.ng-hide .md-bar1,md-progress-linear .md-container.ng-hide .md-bar2{-webkit-animation-name:none;animation-name:none}md-progress-linear .md-container.md-mode-buffer{background-color:transparent!important;transition:all .2s linear}md-progress-linear .md-container.md-mode-buffer .md-dashed:before{display:block;-webkit-animation:buffer 3s infinite linear;animation:buffer 3s infinite linear}@-webkit-keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}100%{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}100%{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@-webkit-keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}100%{opacity:1;background-position:-200px -23px}}@keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}100%{opacity:1;background-position:-200px -23px}}@-webkit-keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}100%{left:95.44444%}}@keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}100%{left:95.44444%}}@-webkit-keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}100%{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}100%{left:117.38889%}}@keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}100%{left:117.38889%}}md-radio-button{box-sizing:border-box;display:block;margin-bottom:16px;white-space:nowrap;cursor:pointer;position:relative}md-radio-button[disabled],md-radio-button[disabled] .md-container{cursor:default}md-radio-button .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;cursor:pointer;left:0;right:auto}body[dir=rtl] md-radio-button .md-container,html[dir=rtl] md-radio-button .md-container{left:auto;right:0;unicode-bidi:embed}md-radio-button .md-container bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-radio-button .md-container bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-radio-button .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-radio-button .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;transition:all .5s;width:auto}md-radio-button.md-align-top-left>div.md-container{top:12px}md-radio-button .md-off{box-sizing:border-box;position:absolute;top:0;left:0;width:20px;height:20px;border-style:solid;border-width:2px;border-radius:50%;transition:border-color ease .28s}md-radio-button .md-on{box-sizing:border-box;position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;transition:-webkit-transform ease .28s;transition:transform ease .28s;-webkit-transform:scale(0);transform:scale(0)}md-radio-button.md-checked .md-on{-webkit-transform:scale(.5);transform:scale(.5)}md-radio-button .md-label{box-sizing:border-box;position:relative;display:inline-block;margin-left:30px;margin-right:0;vertical-align:middle;white-space:normal;pointer-events:none;width:auto}body[dir=rtl] md-radio-button .md-label,html[dir=rtl] md-radio-button .md-label{margin-left:0;margin-right:30px;unicode-bidi:embed}md-radio-button .md-label bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-radio-button .md-label bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-radio-button .circle{border-radius:50%}md-radio-group md-radio-button:not(:first-child){margin-top:16px}md-radio-group.layout-row md-radio-button{margin:0 16px;margin-left:inherit}body[dir=rtl] md-radio-group.layout-row md-radio-button,html[dir=rtl] md-radio-group.layout-row md-radio-button{margin-left:16px;margin-right:inherit;unicode-bidi:embed}md-radio-group.layout-row md-radio-button bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-radio-group.layout-row md-radio-button bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-radio-group.layout-row md-radio-button:last-of-type{margin-left:inherit;margin-right:0}body[dir=rtl] md-radio-group.layout-row md-radio-button:last-of-type,html[dir=rtl] md-radio-group.layout-row md-radio-button:last-of-type{margin-left:0;margin-right:inherit;unicode-bidi:embed}md-radio-group.layout-row md-radio-button:last-of-type bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-radio-group.layout-row md-radio-button:last-of-type bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-radio-group:focus{outline:0}md-radio-group.md-focused .md-checked .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}.md-inline-form md-radio-group{margin:18px 0 19px}.md-inline-form md-radio-group md-radio-button{display:inline-block;height:30px;padding:2px;box-sizing:border-box;margin-top:0;margin-bottom:0}@media screen and (-ms-high-contrast:active){md-radio-button.md-default-theme .md-on{background-color:#fff}}.md-select-menu-container{position:fixed;left:0;top:0;z-index:90;opacity:0;display:none}.md-select-menu-container:not(.md-clickable){pointer-events:none}.md-select-menu-container md-progress-circular{display:table;margin:24px auto!important}.md-select-menu-container.md-active{display:block;opacity:1}.md-select-menu-container.md-active md-select-menu{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:150ms}.md-select-menu-container.md-active md-select-menu>*{opacity:1;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:150ms;transition-delay:100ms}.md-select-menu-container.md-leave{opacity:0;transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:250ms}md-input-container>md-select{margin:0;-webkit-order:2;-ms-flex-order:2;order:2}md-select{display:-webkit-flex;display:-ms-flexbox;display:flex;margin:20px 0 26px}md-select[disabled] .md-select-value{background-position:0 bottom;background-size:4px 1px;background-repeat:repeat-x;margin-bottom:-1px}md-select:focus{outline:0}md-select[disabled]:hover{cursor:default}md-select:not([disabled]):hover{cursor:pointer}md-select:not([disabled]).ng-invalid.ng-dirty .md-select-value{border-bottom:2px solid;padding-bottom:0}md-select:not([disabled]):focus .md-select-value{border-bottom-width:2px;border-bottom-style:solid;padding-bottom:0}.md-select-value{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:2px 2px 1px;border-bottom-width:1px;border-bottom-style:solid;background-color:transparent;position:relative;box-sizing:content-box;min-width:64px;min-height:26px;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.md-select-value .md-text{display:inline}.md-select-value :first-child{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-transform:translate3d(0,2px,0);transform:translate3d(0,2px,0)}.md-select-value .md-select-icon{display:block;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;text-align:end;width:24px;margin:0 4px;-webkit-transform:translate3d(0,1px,0);transform:translate3d(0,1px,0)}.md-select-value .md-select-icon:after{display:block;content:'\25BC';position:relative;top:2px;speak:none;-webkit-transform:scaleY(.6) scaleX(1);transform:scaleY(.6) scaleX(1)}.md-select-value.md-select-placeholder{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-order:1;-ms-flex-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:2px;z-index:1}md-select-menu{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);max-height:256px;min-height:48px;overflow-y:hidden;-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(1);transform:scale(1)}md-select-menu.md-reverse{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}md-select-menu:not(.md-overflow) md-content{padding-top:8px;padding-bottom:8px}body[dir=rtl] md-select-menu,html[dir=rtl] md-select-menu{-webkit-transform-origin:right top;transform-origin:right top;unicode-bidi:embed}md-select-menu bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-select-menu bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-select-menu md-content{min-width:136px;min-height:48px;max-height:256px;overflow-y:auto}md-select-menu>*{opacity:0}md-option{cursor:pointer;position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:auto;padding:0 16px;height:48px}md-option[disabled]{cursor:default}md-option:focus{outline:0}md-option .md-text{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}md-optgroup{display:block}md-optgroup label{display:block;font-size:14px;text-transform:uppercase;padding:16px;font-weight:500}md-optgroup md-option{padding-left:32px;padding-right:32px}@media screen and (-ms-high-contrast:active){.md-select-backdrop{background-color:transparent}md-select-menu{border:1px solid #fff}}md-sidenav{box-sizing:border-box;position:absolute;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;z-index:60;width:320px;max-width:320px;bottom:0;overflow:auto}md-sidenav ul{list-style:none}md-sidenav.md-closed{display:none}md-sidenav.md-closed-add,md-sidenav.md-closed-remove{display:-webkit-flex;display:-ms-flexbox;display:flex;transition:.2s ease-in all}md-sidenav.md-closed-add.md-closed-add-active,md-sidenav.md-closed-remove.md-closed-remove-active{transition:all .4s cubic-bezier(.25,.8,.25,1)}md-sidenav.md-locked-open,md-sidenav.md-locked-open-add,md-sidenav.md-locked-open-remove,md-sidenav.md-locked-open-remove.md-closed,md-sidenav.md-locked-open.md-closed,md-sidenav.md-locked-open.md-closed.md-sidenav-left,md-sidenav.md-locked-open.md-closed.md-sidenav-right{position:static;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-locked-open-remove-active{transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:0;min-width:0}md-sidenav.md-closed.md-locked-open-add{width:0;min-width:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-closed.md-locked-open-add-active{transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);width:320px;min-width:320px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-backdrop.md-locked-open{display:none}.md-sidenav-left,md-sidenav{left:0;top:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-left.md-closed,md-sidenav.md-closed{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right{left:100%;top:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right.md-closed{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media screen and (min-width:600px){md-sidenav{max-width:400px}}@media screen and (max-width:456px){md-sidenav{width:calc(100% - 56px);min-width:calc(100% - 56px);max-width:calc(100% - 56px)}}@media screen and (-ms-high-contrast:active){.md-sidenav-left,md-sidenav{border-right:1px solid #fff}.md-sidenav-right{border-left:1px solid #fff}}@-webkit-keyframes sliderFocusThumb{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{opacity:0}}@keyframes sliderFocusThumb{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{opacity:0}}md-slider{height:48px;position:relative;display:block;margin-left:4px;margin-right:4px;padding:0}md-slider *,md-slider :after{box-sizing:border-box}md-slider .md-slider-wrapper{position:relative}md-slider .md-track-container{width:100%;position:absolute;top:23px;height:2px}md-slider .md-track{position:absolute;left:0;right:0;height:100%}md-slider .md-track-fill{transition:width .05s linear}md-slider .md-track-ticks{position:absolute;left:0;right:0;height:100%}md-slider .md-track-ticks canvas{width:100%}md-slider .md-thumb-container{position:absolute;left:0;top:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);transition:left .1s linear}md-slider .md-thumb{z-index:1;position:absolute;left:-19px;top:5px;width:38px;height:38px;border-radius:38px;-webkit-transform:scale(.5);transform:scale(.5);transition:all .1s linear}md-slider .md-thumb:after{content:'';position:absolute;left:3px;top:3px;width:32px;height:32px;border-radius:32px;border-width:3px;border-style:solid}md-slider .md-sign{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:absolute;left:-14px;top:-20px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.4) translate3d(0,70px,0);transform:scale(.4) translate3d(0,70px,0);transition:all .2s ease-in-out}md-slider .md-sign:after{position:absolute;content:'';left:0;border-radius:16px;top:19px;border-left:14px solid transparent;border-right:14px solid transparent;border-top-width:16px;border-top-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);transition:all .2s ease-in-out}md-slider .md-sign .md-thumb-text{z-index:1;font-size:12px;font-weight:700}md-slider .md-focus-thumb{position:absolute;left:-24px;top:0;width:48px;height:48px;border-radius:48px;display:none;opacity:0;background-color:silver;-webkit-animation:sliderFocusThumb .4s linear;animation:sliderFocusThumb .4s linear}md-slider .md-focus-ring{position:absolute;left:-24px;top:0;width:48px;height:48px;border-radius:48px;-webkit-transform:scale(0);transform:scale(0);transition:all .2s linear;opacity:.26}md-slider .md-disabled-thumb{position:absolute;left:-22px;top:2px;width:44px;height:44px;border-radius:44px;-webkit-transform:scale(.35);transform:scale(.35);border-width:6px;border-style:solid;display:none}md-slider.md-min .md-thumb:after{background-color:#fff}md-slider.md-min .md-sign{opacity:0}md-slider:focus{outline:0}md-slider.md-dragging .md-thumb-container,md-slider.md-dragging .md-track-fill{transition:none}md-slider:not([md-discrete]) .md-sign,md-slider:not([md-discrete]) .md-track-ticks{display:none}md-slider:not([md-discrete]):not([disabled]):hover .md-thumb{-webkit-transform:scale(.6);transform:scale(.6)}md-slider:not([md-discrete]):not([disabled]).md-active .md-focus-thumb,md-slider:not([md-discrete]):not([disabled]):focus .md-focus-thumb{display:block}md-slider:not([md-discrete]):not([disabled]).md-active .md-focus-ring,md-slider:not([md-discrete]):not([disabled]):focus .md-focus-ring{-webkit-transform:scale(1);transform:scale(1)}md-slider:not([md-discrete]):not([disabled]).md-active .md-thumb,md-slider:not([md-discrete]):not([disabled]):focus .md-thumb{-webkit-transform:scale(.85);transform:scale(.85)}md-slider[md-discrete] .md-focus-ring,md-slider[md-discrete] .md-focus-thumb{display:none}md-slider[md-discrete]:not([disabled]).md-active .md-sign,md-slider[md-discrete]:not([disabled]).md-active .md-sign:after,md-slider[md-discrete]:not([disabled]):focus .md-sign,md-slider[md-discrete]:not([disabled]):focus .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[disabled] .md-sign,md-slider[disabled] .md-track-fill{display:none}md-slider[disabled] .md-thumb{-webkit-transform:scale(.35);transform:scale(.35)}md-slider[disabled] .md-disabled-thumb{display:block}@media screen and (-ms-high-contrast:active){md-slider.md-default-theme .md-track{border-bottom:1px solid #fff}}.md-sticky-clone{z-index:2;top:0;left:0;right:0;position:absolute!important;-webkit-transform:translate3d(-9999px,-9999px,0);transform:translate3d(-9999px,-9999px,0)}.md-sticky-clone[sticky-state=active]{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sticky-clone[sticky-state=active]:not(.md-sticky-no-effect) .md-subheader-inner{-webkit-animation:subheaderStickyHoverIn .3s ease-out both;animation:subheaderStickyHoverIn .3s ease-out both}@-webkit-keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}100%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}100%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@-webkit-keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}100%{box-shadow:0 0 0 0 transparent}}@keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}100%{box-shadow:0 0 0 0 transparent}}.md-subheader-wrapper:not(.md-sticky-no-effect){transition:.2s ease-out margin}.md-subheader-wrapper:not(.md-sticky-no-effect) .md-subheader{margin:0}.md-subheader-wrapper:not(.md-sticky-no-effect).md-sticky-clone{z-index:2}.md-subheader-wrapper:not(.md-sticky-no-effect)[sticky-state=active]{margin-top:-2px}.md-subheader-wrapper:not(.md-sticky-no-effect):not(.md-sticky-clone)[sticky-prev-state=active] .md-subheader-inner:after{-webkit-animation:subheaderStickyHoverOut .3s ease-out both;animation:subheaderStickyHoverOut .3s ease-out both}.md-subheader{display:block;font-size:14px;font-weight:500;line-height:1em;margin:0;position:relative}.md-subheader .md-subheader-inner{display:block;padding:16px}.md-subheader .md-subheader-content{display:block;z-index:1;position:relative}.md-inline-form md-switch{margin-top:18px;margin-bottom:19px}md-switch{margin:16px;margin-left:inherit;white-space:nowrap;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:30px;line-height:28px;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex}body[dir=rtl] md-switch,html[dir=rtl] md-switch{margin-left:16px;margin-right:inherit;unicode-bidi:embed}md-switch bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-switch bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-switch:last-of-type{margin-left:inherit;margin-right:0}body[dir=rtl] md-switch:last-of-type,html[dir=rtl] md-switch:last-of-type{margin-left:0;margin-right:inherit;unicode-bidi:embed}md-switch:last-of-type bdo[dir=rtl]{direction:rtl;unicode-bidi:bidi-override}md-switch:last-of-type bdo[dir=ltr]{direction:ltr;unicode-bidi:bidi-override}md-switch[disabled],md-switch[disabled] .md-container{cursor:default}md-switch .md-container{cursor:-webkit-grab;cursor:grab;width:36px;height:24px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:8px;float:left}md-switch:not([disabled]) .md-dragging,md-switch:not([disabled]).md-dragging .md-container{cursor:-webkit-grabbing;cursor:grabbing}md-switch.md-focused:not([disabled]) .md-thumb:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-switch.md-focused:not([disabled]):not(.md-checked) .md-thumb:before{background-color:rgba(0,0,0,.12)}md-switch .md-label{border-color:transparent;border-width:0;float:left}md-switch .md-bar{left:1px;width:34px;top:5px;height:14px;border-radius:8px;position:absolute}md-switch .md-thumb-container{top:2px;left:0;width:16px;position:absolute;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:1}md-switch.md-checked .md-thumb-container{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}md-switch .md-thumb{position:absolute;margin:0;left:0;top:0;outline:0;height:20px;width:20px;border-radius:50%;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-switch .md-thumb:before{background-color:transparent;border-radius:50%;content:'';position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;transition:all .5s;width:auto}md-switch .md-thumb .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-20px;top:-20px;right:-20px;bottom:-20px}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb,md-switch:not(.md-dragging) .md-thumb-container{transition:all .08s linear;transition-property:-webkit-transform,background-color;transition-property:transform,background-color}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb{transition-delay:.05s}@media screen and (-ms-high-contrast:active){md-switch.md-default-theme .md-bar{background-color:#666}md-switch.md-default-theme.md-checked .md-bar{background-color:#9E9E9E}md-switch.md-default-theme .md-thumb{background-color:#fff}}@-webkit-keyframes md-tab-content-hide{0%,50%{opacity:1}100%{opacity:0}}@keyframes md-tab-content-hide{0%,50%{opacity:1}100%{opacity:0}}md-tab-data{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:0}md-tabs{display:block;margin:0;border-radius:2px;overflow:hidden;position:relative;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}md-tabs:not(.md-no-tab-content):not(.md-dynamic-height){min-height:248px}md-tabs[md-align-tabs=bottom]{padding-bottom:48px}md-tabs[md-align-tabs=bottom] md-tabs-wrapper{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:2}md-tabs[md-align-tabs=bottom] md-tabs-content-wrapper{top:0;bottom:48px}md-tabs.md-dynamic-height md-tabs-content-wrapper{min-height:0;position:relative;top:auto;left:auto;right:auto;bottom:auto;overflow:visible}md-tabs.md-dynamic-height md-tab-content.md-active{position:relative}md-tabs[md-border-bottom] md-tabs-wrapper{border-width:0 0 1px;border-style:solid}md-tabs[md-border-bottom]:not(.md-dynamic-height) md-tabs-content-wrapper{top:49px}md-tabs-wrapper{display:block;position:relative}md-tabs-wrapper md-next-button,md-tabs-wrapper md-prev-button{height:100%;width:32px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);line-height:1em;z-index:2;cursor:pointer;font-size:16px;background:center center no-repeat;transition:all .5s cubic-bezier(.35,0,.25,1)}md-tabs-wrapper md-next-button:focus,md-tabs-wrapper md-prev-button:focus{outline:0}md-tabs-wrapper md-next-button.md-disabled,md-tabs-wrapper md-prev-button.md-disabled{opacity:.25;cursor:default}md-tabs-wrapper md-next-button.ng-leave,md-tabs-wrapper md-prev-button.ng-leave{transition:none}md-tabs-wrapper md-next-button md-icon,md-tabs-wrapper md-prev-button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}md-tabs-wrapper md-prev-button{left:0;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMjA4IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyIAkJIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4gPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+IDwvZz4gPC9nPiA8ZyBpZD0iR3JpZCIgZGlzcGxheT0ibm9uZSI+IDxnIGRpc3BsYXk9ImlubGluZSI+IDwvZz4gPC9nPiA8L3N2Zz4NCg==)}md-tabs-wrapper md-next-button{right:0;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMzM2IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTAsNiA4LjYsNy40IDEzLjIsMTIgOC42LDE2LjYgMTAsMTggMTYsMTIgCQkiIHN0eWxlPSJmaWxsOndoaXRlOyIvPiA8cmVjdCBmaWxsPSJub25lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiLz4gPC9nPiA8L2c+IDxnIGlkPSJHcmlkIiBkaXNwbGF5PSJub25lIj4gPGcgZGlzcGxheT0iaW5saW5lIj4gPC9nPiA8L2c+IDwvc3ZnPg0K)}md-tabs-wrapper md-next-button md-icon{-webkit-transform:translate3d(-50%,-50%,0) rotate(180deg);transform:translate3d(-50%,-50%,0) rotate(180deg)}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper{width:100%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper md-tab-item{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}md-tabs-canvas{position:relative;overflow:hidden;display:block;height:48px}md-tabs-canvas:after{content:'';display:table;clear:both}md-tabs-canvas .md-dummy-wrapper{position:absolute;top:0;left:0}md-tabs-canvas.md-paginated{margin:0 32px}md-tabs-canvas.md-center-tabs{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-align:center}md-tabs-canvas.md-center-tabs .md-tab{float:none;display:inline-block}md-pagination-wrapper{height:48px;display:block;transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);position:absolute;width:999999px;left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-pagination-wrapper:after{content:'';display:table;clear:both}md-pagination-wrapper.md-center-tabs{position:relative;width:initial;margin:0 auto}md-tabs-content-wrapper{display:block;position:absolute;top:48px;left:0;right:0;bottom:0;overflow:hidden}md-tab-content{display:block;position:absolute;top:0;left:0;right:0;bottom:0;transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);overflow:auto}md-tab-content.md-no-scroll{bottom:auto;overflow:hidden}md-tab-content.md-no-transition,md-tab-content.ng-leave{transition:none}md-tab-content.md-left{-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;opacity:0}md-tab-content.md-left *{transition:visibility 0s linear;transition-delay:.5s;visibility:hidden}md-tab-content.md-right{-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;opacity:0}md-tab-content.md-right *{transition:visibility 0s linear;transition-delay:.5s;visibility:hidden}md-tab-content>div.ng-leave{-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide}md-ink-bar{position:absolute;left:auto;right:auto;bottom:0;height:2px}md-ink-bar.md-left{transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-ink-bar.md-right{transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1)}md-tab{position:absolute;z-index:-1;left:-9999px}.md-tab{font-size:14px;text-align:center;line-height:24px;padding:12px 24px;transition:background-color .35s cubic-bezier(.35,0,.25,1);cursor:pointer;white-space:nowrap;position:relative;text-transform:uppercase;float:left;font-weight:500;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.md-tab.md-focused{box-shadow:none;outline:0}.md-tab.md-active{cursor:default}.md-tab.md-disabled{pointer-events:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;opacity:.5;cursor:default}.md-tab.ng-leave{transition:none}md-toolbar+md-tabs{border-top-left-radius:0;border-top-right-radius:0}md-toast{position:absolute;z-index:105;box-sizing:border-box;cursor:default;overflow:hidden;padding:8px;opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast .md-toast-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:0;max-height:168px;max-width:100%;min-height:48px;padding-left:24px;padding-right:24px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;font-size:14px;overflow:hidden;-webkit-transform:translate3d(0,0,0) rotateZ(0deg);transform:translate3d(0,0,0) rotateZ(0deg);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast.md-capsule,md-toast.md-capsule .md-toast-content{border-radius:24px}md-toast.ng-leave-active .md-toast-content{transition:all .3s cubic-bezier(.55,0,.55,.2)}md-toast.md-swipedown .md-toast-content,md-toast.md-swipeleft .md-toast-content,md-toast.md-swiperight .md-toast-content,md-toast.md-swipeup .md-toast-content{transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast.ng-enter{opacity:0}md-toast.ng-enter .md-toast-content{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-enter.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast.ng-enter.ng-enter-active{opacity:1}md-toast.ng-enter.ng-enter-active .md-toast-content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-toast.ng-leave.ng-leave-active .md-toast-content{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}md-toast.ng-leave.ng-leave-active.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast .md-action{line-height:19px;margin-left:24px;margin-right:0;cursor:pointer;text-transform:uppercase;float:right}md-toast .md-action.md-button{min-width:0}@media (max-width:959px){md-toast{left:0;right:0;width:100%;max-width:100%;min-width:0;border-radius:0;bottom:0}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}}@media (min-width:960px){md-toast{min-width:304px}md-toast.md-bottom{bottom:0}md-toast.md-left{left:0}md-toast.md-right{right:0}md-toast.md-top{top:0}md-toast.ng-leave.ng-leave-active.md-swipeleft .md-toast-content{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}md-toast.ng-leave.ng-leave-active.md-swiperight .md-toast-content{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}}@media (min-width:1920px){md-toast .md-toast-content{max-width:568px}}@media screen and (-ms-high-contrast:active){md-toast{border:1px solid #fff}}.md-toast-animating{overflow:hidden!important}md-toolbar{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;z-index:2;font-size:20px;min-height:64px;width:100%}md-toolbar.md-whiteframe-z1-add,md-toolbar.md-whiteframe-z1-remove{transition:box-shadow .5s linear}md-toolbar md-toolbar-filler{width:72px}md-toolbar *,md-toolbar :after,md-toolbar :before{box-sizing:border-box}md-toolbar.md-tall{height:128px;min-height:128px;max-height:128px}md-toolbar.md-medium-tall{height:88px;min-height:88px;max-height:88px}md-toolbar.md-medium-tall .md-toolbar-tools{height:48px;min-height:48px;max-height:48px}md-toolbar>.md-indent{margin-left:64px}md-toolbar~md-content>md-list{padding:0}md-toolbar~md-content>md-list md-list-item:last-child md-divider{display:none}.md-toolbar-tools{font-size:20px;letter-spacing:.005em;box-sizing:border-box;font-weight:400;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:100%;height:64px;max-height:64px;padding:0 16px;margin:0}.md-toolbar-tools h1,.md-toolbar-tools h2,.md-toolbar-tools h3{font-size:inherit;font-weight:inherit;margin:inherit}.md-toolbar-tools a{color:inherit;text-decoration:none}.md-toolbar-tools .fill-height{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.md-toolbar-tools .md-button{margin-top:0;margin-bottom:0}.md-toolbar-tools>.md-button:first-child{margin-left:-8px}.md-toolbar-tools>.md-button:last-child,.md-toolbar-tools>md-menu:last-child{margin-right:-8px}.md-toolbar-tools>md-menu:last-child>.md-button{margin-right:0}@media screen and (-ms-high-contrast:active){.md-toolbar-tools{border-bottom:1px solid #fff}}@media only screen and (min-width:0) and (max-width:959px) and (orientation:portrait){md-toolbar{min-height:56px}.md-toolbar-tools{height:56px;max-height:56px}}@media only screen and (min-width:0) and (max-width:959px) and (orientation:landscape){md-toolbar{min-height:48px}.md-toolbar-tools{height:48px;max-height:48px}}md-tooltip{position:absolute;z-index:100;overflow:hidden;pointer-events:none;border-radius:4px;font-weight:500;font-size:14px}@media screen and (min-width:960px){md-tooltip{font-size:10px}}md-tooltip .md-content{position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transform:scale(0);transform:scale(0);opacity:0;height:32px;line-height:32px;padding-left:16px;padding-right:16px}@media screen and (min-width:960px){md-tooltip .md-content{height:22px;line-height:22px;padding-left:8px;padding-right:8px}}md-tooltip .md-content.md-show-add{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.2s;-webkit-transform:scale(0);transform:scale(0);opacity:0}md-tooltip .md-content.md-show,md-tooltip .md-content.md-show-add-active{-webkit-transform:scale(1);transform:scale(1);opacity:1;-webkit-transform-origin:center top;transform-origin:center top}md-tooltip .md-content.md-show-remove{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.2s}md-tooltip .md-content.md-show-remove.md-show-remove-active{-webkit-transform:scale(0);transform:scale(0);opacity:0}md-tooltip.md-hide{transition:all .3s cubic-bezier(.55,0,.55,.2)}md-tooltip.md-show{transition:all .4s cubic-bezier(.25,.8,.25,1);pointer-events:auto;will-change:opacity,height,width}.md-virtual-repeat-container{box-sizing:border-box;display:block;margin:0;overflow:hidden;padding:0;position:relative}.md-virtual-repeat-container .md-virtual-repeat-scroller{bottom:0;box-sizing:border-box;left:0;margin:0;overflow-x:hidden;padding:0;position:absolute;right:0;top:0}.md-virtual-repeat-container .md-virtual-repeat-sizer{box-sizing:border-box;height:1px;display:block;margin:0;padding:0;width:1px}.md-virtual-repeat-container .md-virtual-repeat-offsetter{box-sizing:border-box;left:0;margin:0;padding:0;position:absolute;right:0;top:0}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-scroller{overflow-x:auto;overflow-y:hidden}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{bottom:16px;right:auto;white-space:nowrap}.md-whiteframe-1dp,.md-whiteframe-z1{box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.md-whiteframe-2dp{box-shadow:0 1px 5px 0 rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.md-whiteframe-3dp{box-shadow:0 1px 8px 0 rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.12)}.md-whiteframe-4dp,.md-whiteframe-z2{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.md-whiteframe-5dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.md-whiteframe-6dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.md-whiteframe-7dp,.md-whiteframe-z3{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.md-whiteframe-8dp{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.md-whiteframe-9dp{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.md-whiteframe-10dp,.md-whiteframe-z4{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.md-whiteframe-11dp{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.md-whiteframe-12dp{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.md-whiteframe-13dp,.md-whiteframe-z5{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.md-whiteframe-14dp{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.md-whiteframe-15dp{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.md-whiteframe-16dp{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.md-whiteframe-17dp{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.md-whiteframe-18dp{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.md-whiteframe-19dp{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.md-whiteframe-20dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.md-whiteframe-21dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.md-whiteframe-22dp{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.md-whiteframe-23dp{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.md-whiteframe-24dp{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){md-whiteframe{border:1px solid #fff}} \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.js b/platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.js new file mode 100644 index 0000000..7b03ec4 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/js/angular-material-1.0.0/angular-material.min.js @@ -0,0 +1,15 @@ +/*! + * Angular Material Design + * https://github.com/angular/material + * @license MIT + * v1.0.0 + */ +!function(e,t,n){"use strict";!function(){t.module("ngMaterial",["ng","ngAnimate","ngAria","material.core","material.core.gestures","material.core.layout","material.core.theming.palette","material.core.theming","material.core.animate","material.components.autocomplete","material.components.bottomSheet","material.components.backdrop","material.components.button","material.components.card","material.components.checkbox","material.components.content","material.components.chips","material.components.dialog","material.components.datepicker","material.components.divider","material.components.fabActions","material.components.fabShared","material.components.fabSpeedDial","material.components.fabToolbar","material.components.fabTrigger","material.components.gridList","material.components.icon","material.components.list","material.components.menu","material.components.input","material.components.menuBar","material.components.progressCircular","material.components.progressLinear","material.components.radioButton","material.components.select","material.components.showHide","material.components.sidenav","material.components.slider","material.components.sticky","material.components.subheader","material.components.swipe","material.components.switch","material.components.tabs","material.components.toast","material.components.toolbar","material.components.tooltip","material.components.virtualRepeat","material.components.whiteframe"])}(),function(){function e(e,t){if(t.has("$swipe")){var n="You are using the ngTouch module. \nAngular Material already has mobile click, tap, and swipe support... \nngTouch is not supported with Angular Material!";e.warn(n)}}function n(e,t){e.decorator("$$rAF",["$delegate",o]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function o(e){return e.throttle=function(t){var n,o,r,i;return function(){n=arguments,i=this,r=t,o||(o=!0,e(function(){r.apply(i,Array.prototype.slice.call(n)),o=!1}))}},e}t.module("material.core",["ngAnimate","material.core.animate","material.core.layout","material.core.gestures","material.core.theming"]).config(n).run(e),e.$inject=["$log","$injector"],n.$inject=["$provide","$mdThemingProvider"]}(),function(){function e(e){function t(e){return n?"webkit"+e.charAt(0).toUpperCase()+e.substring(1):e}var n=/webkit/i.test(e.vendorPrefix);return{KEY_CODE:{COMMA:188,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(n?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(n?" webkitAnimationEnd":""),TRANSFORM:t("transform"),TRANSFORM_ORIGIN:t("transformOrigin"),TRANSITION:t("transition"),TRANSITION_DURATION:t("transitionDuration"),ANIMATION_PLAY_STATE:t("animationPlayState"),ANIMATION_DURATION:t("animationDuration"),ANIMATION_NAME:t("animationName"),ANIMATION_TIMING:t("animationTimingFunction"),ANIMATION_DIRECTION:t("animationDirection")},MEDIA:{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1279px)","gt-md":"(min-width: 1280px)",lg:"(min-width: 1280px) and (max-width: 1919px)","gt-lg":"(min-width: 1920px)",xl:"(min-width: 1920px)"},MEDIA_PRIORITY:["xl","gt-lg","lg","gt-md","md","gt-sm","sm","gt-xs","xs"]}}t.module("material.core").factory("$mdConstant",e),e.$inject=["$sniffer"]}(),function(){function e(e,n){function o(){return[].concat(E)}function r(){return E.length}function i(e){return E.length&&e>-1&&e-1}function h(){return E.length?E[0]:null}function f(){return E.length?E[E.length-1]:null}function g(e,o,r,a){r=r||b;for(var d=u(o);;){if(!i(d))return null;var c=d+(e?-1:1),s=null;if(i(c)?s=E[c]:n&&(s=e?f():h(),c=u(s)),null===s||c===a)return null;if(r(s))return s;t.isUndefined(a)&&(a=c),d=c}}var b=function(){return!0};e&&!t.isArray(e)&&(e=Array.prototype.slice.call(e)),n=!!n;var E=e||[];return{items:o,count:r,inRange:i,contains:p,indexOf:u,itemAt:c,findBy:s,add:l,remove:m,first:h,last:f,next:t.bind(null,g,!1),previous:t.bind(null,g,!0),hasPrevious:d,hasNext:a}}t.module("material.core").config(["$provide",function(t){t.decorator("$mdUtil",["$delegate",function(t){return t.iterator=e,t}])}])}(),function(){function e(e,n,o){function r(e){var n=u[e];t.isUndefined(n)&&(n=u[e]=i(e));var o=h[n];return t.isUndefined(o)&&(o=a(n)),o}function i(t){return e.MEDIA[t]||("("!==t.charAt(0)?"("+t+")":t)}function a(e){var t=p[e];return t||(t=p[e]=o.matchMedia(e)),t.addListener(d),h[t.media]=!!t.matches}function d(e){n.$evalAsync(function(){h[e.media]=!!e.matches})}function c(e){return p[e]}function s(t,n){for(var o=0;o
    ');return e.appendChild(a[0]),a.on("wheel",r),a.on("touchmove",r),o.on("keydown",n),function(){a.off("wheel"),a.off("touchmove"),a[0].parentNode.removeChild(a[0]),o.off("keydown",n),delete E.disableScrollAround._enableScrolling}}function i(){var e=d.parentNode,t=e.getAttribute("style")||"",n=d.getAttribute("style")||"",o=E.scrollTop(d),r=d.clientWidth;return d.scrollHeight>d.clientHeight+1&&(a(d,{position:"fixed",width:"100%",top:-o+"px"}),a(e,{overflowY:"scroll"})),d.clientWidth
    ');o[0].body.appendChild(e[0]),this.floatingScrollbars.cached=e[0].offsetWidth==e[0].childNodes[0].offsetWidth,e.remove()}return this.floatingScrollbars.cached},forceFocus:function(t){var n=t[0]||t;document.addEventListener("click",function r(e){e.target===n&&e.$focus&&(n.focus(),e.stopImmediatePropagation(),e.preventDefault(),n.removeEventListener("click",r))},!0);var o=document.createEvent("MouseEvents");o.initMouseEvent("click",!1,!0,e,{},0,0,0,0,!1,!1,!1,!1,0,null),o.$material=!0,o.$focus=!0,n.dispatchEvent(o)},createBackdrop:function(e,t){return a(E.supplant('',[t]))(e)},supplant:function(e,t,n){return n=n||/\{([^\{\}]*)\}/g,e.replace(n,function(e,n){var o=n.split("."),r=t;try{for(var i in o)o.hasOwnProperty(i)&&(r=r[o[i]])}catch(a){r=e}return"string"==typeof r||"number"==typeof r?r:e})},fakeNgModel:function(){return{$fake:!0,$setTouched:t.noop,$setViewValue:function(e){this.$viewValue=e,this.$render(e),this.$viewChangeListeners.forEach(function(e){e()})},$isEmpty:function(e){return 0===(""+e).length},$parsers:[],$formatters:[],$viewChangeListeners:[],$render:t.noop}},debounce:function(e,t,o,r){var a;return function(){var d=o,c=Array.prototype.slice.call(arguments);i.cancel(a),a=i(function(){a=n,e.apply(d,c)},t||10,r)}},throttle:function(e,t){var n;return function(){var o=this,r=arguments,i=E.now();(!n||i-n>t)&&(e.apply(o,r),n=i)}},time:function(e){var t=E.now();return e(),E.now()-t},valueOnUse:function(e,t,n){var o=null,r=Array.prototype.slice.call(arguments),i=r.length>3?r.slice(3):[];Object.defineProperty(e,t,{get:function(){return null===o&&(o=n.apply(e,i)),o}})},nextUid:function(){return""+r++},validateScope:function(e){var n=e&&t.isDefined(e.scope());return n||l.warn("element.scope() is not available when 'debug mode' == false. @see https://docs.angularjs.org/guide/production!"),n},disconnectScope:function(e){if(e&&e.$root!==e&&!e.$$destroyed){var t=e.$parent;e.$$disconnected=!0,t.$$childHead===e&&(t.$$childHead=e.$$nextSibling),t.$$childTail===e&&(t.$$childTail=e.$$prevSibling),e.$$prevSibling&&(e.$$prevSibling.$$nextSibling=e.$$nextSibling),e.$$nextSibling&&(e.$$nextSibling.$$prevSibling=e.$$prevSibling),e.$$nextSibling=e.$$prevSibling=null}},reconnectScope:function(e){if(e&&e.$root!==e&&e.$$disconnected){var t=e,n=t.$parent;t.$$disconnected=!1,t.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=t,n.$$childTail=t):n.$$childHead=n.$$childTail=t}},getClosest:function(e,n,o){if(e instanceof t.element&&(e=e[0]),n=n.toUpperCase(),o&&(e=e.parentNode),!e)return null;do if(e.nodeName===n)return e;while(e=e.parentNode);return null},elementContains:function(n,o){var r=e.Node&&e.Node.prototype&&Node.prototype.contains,i=r?t.bind(n,n.contains):t.bind(n,function(e){return n===o||!!(16&this.compareDocumentPosition(e))});return i(o)},extractElementByName:function(e,n,o,r){function i(e){return a(e)||(o?d(e):null)}function a(e){if(e)for(var t=0,o=e.length;o>t;t++)if(e[t].nodeName.toLowerCase()===n)return e[t];return null}function d(e){var t;if(e)for(var n=0,o=e.length;o>n;n++){var r=e[n];if(!t)for(var a=0,d=r.childNodes.length;d>a;a++)t=t||i([r.childNodes[a]])}return t}var c=i(e);return!c&&r&&l.warn(E.supplant("Unable to find node '{0}' in element '{1}'.",[n,e[0].outerHTML])),t.element(c||e)},initOptionalProperties:function(e,n,o){o=o||{},t.forEach(e.$$isolateBindings,function(r,i){if(r.optional&&t.isUndefined(e[i])){var a=t.isDefined(n[r.attrName]);e[i]=t.isDefined(o[i])?o[i]:a}})},nextTick:function(e,t,n){function o(){var e=n&&n.$$destroyed,t=e?[]:r.queue,o=e?null:r.digest;r.queue=[],r.timeout=null,r.digest=!1,t.forEach(function(e){e()}),o&&d.$digest()}var r=E.nextTick,a=r.timeout,c=r.queue||[];return c.push(e),null==t&&(t=!0),r.digest=r.digest||t,r.queue=c,a||(r.timeout=i(o,0,!1))},processTemplate:function(e){return g?e:e&&t.isString(e)?e.replace(/\{\{/g,h).replace(/}}/g,f):e},getParentWithPointerEvents:function(e){for(var t=e.parent();b(t,"pointer-events","none");)t=t.parent();return t},getNearestContentElement:function(e){for(var t=e.parent()[0];t&&t!==m[0]&&t!==document.body&&"MD-CONTENT"!==t.nodeName.toUpperCase();)t=t.parentNode;return t},hasComputedStyle:b};return E.dom.animator=c(E),E}var r=0;t.module("material.core").factory("$mdUtil",o),o.$inject=["$document","$timeout","$compile","$rootScope","$$mdAnimate","$interpolate","$log","$rootElement","$window"],t.element.prototype.focus=t.element.prototype.focus||function(){return this.length&&this[0].focus(),this},t.element.prototype.blur=t.element.prototype.blur||function(){return this.length&&this[0].blur(),this}}(),function(){function e(e,n,o){function r(e,o,r){var i=t.element(e)[0]||e;!i||i.hasAttribute(o)&&0!==i.getAttribute(o).length||c(i,o)||(r=t.isString(r)?r.trim():"",r.length?e.attr(o,r):n.warn('ARIA: Attribute "',o,'", required for accessibility, is missing on node:',i))}function i(t,n,o){e(function(){r(t,n,o())})}function a(e,t){i(e,t,function(){return d(e)})}function d(e){return e.text().trim()}function c(e,t){function n(e){var t=e.currentStyle?e.currentStyle:o.getComputedStyle(e);return"none"===t.display}var r=e.hasChildNodes(),i=!1;if(r)for(var a=e.childNodes,d=0;d").html(o.trim()).contents(),c=r(a);return n={locals:e,element:a,link:function(o){if(e.$scope=o,l){var r=i(l,e,!0);f&&t.extend(r.instance,e);var d=r();a.data("$ngControllerController",d),a.children().data("$ngControllerController",d),m&&(o[m]=d),n.controller=d}return c(o)}}})}}t.module("material.core").service("$mdCompiler",e),e.$inject=["$q","$http","$injector","$compile","$controller","$templateCache"]}(),function(){function n(){}function o(n,o,r){function i(e){return function(t,n){n.distancethis.options.maxDistance&&this.cancel()},onEnd:function(){this.onCancel()}}).handler("drag",{options:{minDistance:6,horizontal:!0,cancelMultiplier:1.5},onStart:function(e){this.state.registeredParent||this.cancel()},onMove:function(e,t){var n,o;e.preventDefault(),this.state.dragPointer?this.dispatchDragMove(e):(this.state.options.horizontal?(n=Math.abs(t.distanceX)>this.state.options.minDistance,o=Math.abs(t.distanceY)>this.state.options.minDistance*this.state.options.cancelMultiplier):(n=Math.abs(t.distanceY)>this.state.options.minDistance,o=Math.abs(t.distanceX)>this.state.options.minDistance*this.state.options.cancelMultiplier),n?(this.state.dragPointer=d(e),l(e,this.state.dragPointer),this.dispatchEvent(e,"$md.dragstart",this.state.dragPointer)):o&&this.cancel())},dispatchDragMove:o.throttle(function(e){this.state.isRunning&&(l(e,this.state.dragPointer),this.dispatchEvent(e,"$md.drag",this.state.dragPointer))}),onEnd:function(e,t){this.state.dragPointer&&(l(e,this.state.dragPointer),this.dispatchEvent(e,"$md.dragend",this.state.dragPointer))}}).handler("swipe",{options:{minVelocity:.65,minDistance:10},onEnd:function(e,t){var n;Math.abs(t.velocityX)>this.state.options.minVelocity&&Math.abs(t.distanceX)>this.state.options.minDistance?(n="left"==t.directionX?"$md.swipeleft":"$md.swiperight",this.dispatchEvent(e,n)):Math.abs(t.velocityY)>this.state.options.minVelocity&&Math.abs(t.distanceY)>this.state.options.minDistance&&(n="up"==t.directionY?"$md.swipeup":"$md.swipedown",this.dispatchEvent(e,n))}})}function r(e){this.name=e,this.state={}}function i(){function n(e,n,o){o=o||u;var r=new t.element.Event(n);r.$material=!0,r.pointer=o,r.srcEvent=e,t.extend(r,{clientX:o.x,clientY:o.y,screenX:o.x,screenY:o.y,pageX:o.x,pageY:o.y,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey}),t.element(o.target).trigger(r)}function o(t,n,o){o=o||u;var r;"click"===n||"mouseup"==n||"mousedown"==n?(r=document.createEvent("MouseEvents"),r.initMouseEvent(n,!0,!0,e,t.detail,o.x,o.y,o.x,o.y,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget||null)):(r=document.createEvent("CustomEvent"),r.initCustomEvent(n,!0,!0,{})),r.$material=!0,r.pointer=o,r.srcEvent=t,o.target.dispatchEvent(r)}var i="undefined"!=typeof e.jQuery&&t.element===e.jQuery;return r.prototype={options:{},dispatchEvent:i?n:o,onStart:t.noop,onMove:t.noop,onEnd:t.noop,onCancel:t.noop,start:function(e,n){if(!this.state.isRunning){var o=this.getNearestParent(e.target),r=o&&o.$mdGesture[this.name]||{};this.state={isRunning:!0,options:t.extend({},this.options,r),registeredParent:o},this.onStart(e,n)}},move:function(e,t){this.state.isRunning&&this.onMove(e,t)},end:function(e,t){this.state.isRunning&&(this.onEnd(e,t),this.state.isRunning=!1)},cancel:function(e,t){this.onCancel(e,t),this.state={}},getNearestParent:function(e){for(var t=e;t;){if((t.$mdGesture||{})[this.name])return t;t=t.parentNode}return null},registerElement:function(e,t){function n(){delete e[0].$mdGesture[o.name],e.off("$destroy",n)}var o=this;return e[0].$mdGesture=e[0].$mdGesture||{},e[0].$mdGesture[this.name]=t||{},e.on("$destroy",n),n}},r}function a(e,n){function o(e){var t=!e.clientX&&!e.clientY;t||e.$material||e.isIonicTap||s(e)||(e.preventDefault(),e.stopPropagation())}function r(e){var t=0===e.clientX&&0===e.clientY;t||e.$material||e.isIonicTap||s(e)?(g=null,"label"==e.target.tagName.toLowerCase()&&(g={x:e.x,y:e.y})):(e.preventDefault(),e.stopPropagation(),g=null)}function i(e,t){var o;for(var r in h)o=h[r],o instanceof n&&("start"===e&&o.cancel(),o[e](t,u))}function a(e){if(!u){var t=+Date.now();p&&!c(e,p)&&t-p.endTime<1500||(u=d(e),i("start",e))}}function m(e){u&&c(e,u)&&(l(e,u),i("move",e))}function f(e){u&&c(e,u)&&(l(e,u),u.endTime=+Date.now(),i("end",e),p=u,u=null)}document.contains||(document.contains=function(e){return document.body.contains(e)}),!b&&e.isHijackingClicks&&(document.addEventListener("click",r,!0),document.addEventListener("mouseup",o,!0),document.addEventListener("mousedown",o,!0),document.addEventListener("focus",o,!0),b=!0);var E="mousedown touchstart pointerdown",v="mousemove touchmove pointermove",M="mouseup mouseleave touchend touchcancel pointerup pointercancel";t.element(document).on(E,a).on(v,m).on(M,f).on("$$mdGestureReset",function(){p=u=null})}function d(e){var t=m(e),n={startTime:+Date.now(),target:e.target,type:e.type.charAt(0)};return n.startX=n.x=t.pageX,n.startY=n.y=t.pageY,n}function c(e,t){return e&&t&&e.type.charAt(0)===t.type}function s(e){return g&&g.x==e.x&&g.y==e.y}function l(e,t){var n=m(e),o=t.x=n.pageX,r=t.y=n.pageY;t.distanceX=o-t.startX,t.distanceY=r-t.startY,t.distance=Math.sqrt(t.distanceX*t.distanceX+t.distanceY*t.distanceY),t.directionX=t.distanceX>0?"right":t.distanceX<0?"left":"",t.directionY=t.distanceY>0?"down":t.distanceY<0?"up":"",t.duration=+Date.now()-t.startTime,t.velocityX=t.distanceX/t.duration,t.velocityY=t.distanceY/t.duration}function m(e){return e=e.originalEvent||e,e.touches&&e.touches[0]||e.changedTouches&&e.changedTouches[0]||e}var u,p,h={},f=!1,g=null,b=!1;t.module("material.core.gestures",[]).provider("$mdGesture",n).factory("$$MdGestureHandler",i).run(a),n.prototype={skipClickHijack:function(){return f=!0},$get:["$$MdGestureHandler","$$rAF","$timeout",function(e,t,n){return new o(e,t,n)}]},o.$inject=["$$MdGestureHandler","$$rAF","$timeout"],a.$inject=["$mdGesture","$$MdGestureHandler"]}(),function(){function e(){function e(e){function n(e){return c.optionsFactory=e.options,c.methods=(e.methods||[]).concat(a),s}function o(e,t){return d[e]=t,s}function r(t,n){if(n=n||{},n.methods=n.methods||[],n.options=n.options||function(){return{}},/^cancel|hide|show$/.test(t))throw new Error("Preset '"+t+"' in "+e+" is reserved!");if(n.methods.indexOf("_options")>-1)throw new Error("Method '_options' in "+e+" is reserved!");return c.presets[t]={methods:n.methods.concat(a),optionsFactory:n.options,argOption:n.argOption},s}function i(n,o){function r(e){return e=e||{},e._options&&(e=e._options),m.show(t.extend({},l,e))}function i(e){return m.destroy(e)}function a(t,n){var r={};return r[e]=u,o.invoke(t||function(){return n},{},r)}var s,l,m=n(),u={hide:m.hide,cancel:m.cancel,show:r,destroy:i};return s=c.methods||[],l=a(c.optionsFactory,{}),t.forEach(d,function(e,t){u[t]=e}),t.forEach(c.presets,function(e,n){function o(e){this._options=t.extend({},r,e)}var r=a(e.optionsFactory,{}),i=(e.methods||[]).concat(s);if(t.extend(r,{$type:n}),t.forEach(i,function(e){o.prototype[e]=function(t){return this._options[e]=t,this}}),e.argOption){var d="show"+n.charAt(0).toUpperCase()+n.slice(1);u[d]=function(e){var t=u[n](e);return u.show(t)}}u[n]=function(n){return arguments.length&&e.argOption&&!t.isObject(n)&&!t.isArray(n)?(new o)[e.argOption](n):new o(n)}}),u}var a=["onHide","onShow","onRemove"],d={},c={presets:{}},s={setDefaults:n,addPreset:r,addMethod:o,$get:i};return s.addPreset("build",{methods:["controller","controllerAs","resolve","template","templateUrl","themable","transformTemplate","parent"]}),i.$inject=["$$interimElement","$injector"],s}function o(e,o,r,i,a,d,c,s,l,m,u){return function(){function p(e){e=e||{};var t=new b(e||{}),n=!e.skipHide&&M.length?E.hide():o.when(!0);return n["finally"](function(){M.push(t),t.show()["catch"](function(e){return e})}),t.deferred.promise}function h(e,t){function r(n){return n.remove(e,!1,t||{})["catch"](function(e){return e}),n.deferred.promise}if(!M.length)return o.when(e);if(t=t||{},t.closeAll){var i=o.all(M.reverse().map(r));return M=[],i}if(t.closeTo!==n)return o.all(M.splice(t.closeTo).map(r));var a=M.pop();return r(a)}function f(e,t){var n=M.shift();return n?(n.remove(e,!0,t||{})["catch"](function(e){return e}),n.deferred.promise):o.when(e)}function g(e){var n=e?null:M.shift(),r=t.element(e).length?t.element(e)[0].parentNode:null;if(r){var i=M.filter(function(e){var t=e.options.element[0];return t===r});i.length>0&&(n=i[0],M.splice(M.indexOf(n),1))}return n?n.remove(v,!1,{$destroy:!0}):o.when(v)}function b(u){function p(){return o(function(e,t){function n(e){C.deferred.reject(e),t(e)}g(u).then(function(t){A=b(t,u),T=$(A,u,t.controller).then(e,n)},n)})}function h(e,n,r){function i(e){C.deferred.resolve(e)}function a(e){C.deferred.reject(e)}return A?(u=t.extend(u||{},r||{}),u.cancelAutoHide&&u.cancelAutoHide(),u.element.triggerHandler("$mdInterimElementRemove"),u.$destroy===!0?y(u.element,u).then(function(){n&&a(e)||i(e)}):(o.when(T)["finally"](function(){y(u.element,u).then(function(){n&&a(e)||i(e)},a)}),C.deferred.promise)):o.when(!1)}function f(e){return e=e||{},e.template&&(e.template=s.processTemplate(e.template)),t.extend({preserveScope:!1,cancelAutoHide:t.noop,scope:e.scope||i.$new(e.isolateScope),onShow:function(e,t,n){return c.enter(t,n.parent)},onRemove:function(e,t){return t&&c.leave(t)||o.when()}},e)}function g(e){var t=e.skipCompile?null:l.compile(e);return t||o(function(t){t({locals:{},link:function(){return e.element}})})}function b(e,n){t.extend(e.locals,n);var o=e.link(n.scope);return n.element=o,n.parent=v(o,n),n.themable&&m(o),o}function v(n,o){var r=o.parent;if(r=t.isFunction(r)?r(o.scope,n,o):t.isString(r)?t.element(e[0].querySelector(r)):t.element(r),!(r||{}).length){var i;return d[0]&&d[0].querySelector&&(i=d[0].querySelector(":not(svg) > body")),i||(i=d[0]),"#comment"==i.nodeName&&(i=e[0].body),t.element(i)}return r}function M(){var e,o=t.noop;u.hideDelay&&(e=a(E.hide,u.hideDelay),o=function(){a.cancel(e)}),u.cancelAutoHide=function(){o(),u.cancelAutoHide=n}}function $(e,n,r){var i=n.onShowing||t.noop,a=n.onComplete||t.noop;return i(n.scope,e,n,r),o(function(t,i){try{o.when(n.onShow(n.scope,e,n,r)).then(function(){a(n.scope,e,n),M(),t(e)},i)}catch(d){i(d.message)}})}function y(e,n){var o=n.onRemoving||t.noop;return r(function(t,i){try{var a=r.when(n.onRemove(n.scope,e,n)||!0);o(e,a),1==n.$destroy?t(e):a.then(function(){!n.preserveScope&&n.scope&&n.scope.$destroy(),t(e)},i)}catch(d){i(d.message)}})}var C,A,T=o.when(!0);return u=f(u),C={options:u,deferred:o.defer(),show:p,remove:h}}var E,v=!1,M=[];return E={show:p,hide:h,cancel:f,destroy:g,$injector_:u}}}return e.$get=o,o.$inject=["$document","$q","$$q","$rootScope","$timeout","$rootElement","$animate","$mdUtil","$mdCompiler","$mdTheming","$injector"],e}t.module("material.core").provider("$$interimElement",e)}(),function(){!function(){function e(e){function a(e){return e.replace(c,"").replace(s,function(e,t,n,o){return o?n.toUpperCase():n})}var c=/^((?:x|data)[\:\-_])/i,s=/([\:\-\_]+(.))/g,l=["","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl"],m=["layout","flex","flex-order","flex-offset","layout-align"],u=["show","hide","layout-padding","layout-margin"];t.forEach(l,function(n){t.forEach(m,function(t){var o=n?t+"-"+n:t;e.directive(a(o),r(o))}),t.forEach(u,function(t){var o=n?t+"-"+n:t;e.directive(a(o),i(o))})}),e.directive("mdLayoutCss",n).directive("ngCloak",o("ng-cloak")).directive("layoutWrap",i("layout-wrap")).directive("layoutNoWrap",i("layout-no-wrap")).directive("layoutFill",i("layout-fill")).directive("layoutLtMd",d("layout-lt-md",!0)).directive("layoutLtLg",d("layout-lt-lg",!0)).directive("flexLtMd",d("flex-lt-md",!0)).directive("flexLtLg",d("flex-lt-lg",!0)).directive("layoutAlignLtMd",d("layout-align-lt-md")).directive("layoutAlignLtLg",d("layout-align-lt-lg")).directive("flexOrderLtMd",d("flex-order-lt-md")).directive("flexOrderLtLg",d("flex-order-lt-lg")).directive("offsetLtMd",d("flex-offset-lt-md")).directive("offsetLtLg",d("flex-offset-lt-lg")).directive("hideLtMd",d("hide-lt-md")).directive("hideLtLg",d("hide-lt-lg")).directive("showLtMd",d("show-lt-md")).directive("showLtLg",d("show-lt-lg"))}function n(){return{restrict:"A",priority:"900",compile:function(e,n){return A.enabled=!1,t.noop}}}function o(e){return["$timeout",function(n){return{restrict:"A",priority:-10,compile:function(o){return A.enabled?(o.addClass(e),function(t,o){n(function(){o.removeClass(e)},10,!1)}):t.noop}}}]}function r(e){function n(t,n,o){var r=a(n,e,o),i=o.$observe(o.$normalize(e),r);r(u(e,o,"")),t.$on("$destroy",function(){i()})}return["$mdUtil","$interpolate","$log",function(o,r,i){return f=o,g=r,b=i,{restrict:"A",compile:function(o,r){var i;return A.enabled&&(c(e,r,o,b),s(e,u(e,r,""),l(o,e,r)),i=n),i||t.noop}}}]}function i(e){function n(t,n){n.addClass(e)}return["$mdUtil","$interpolate","$log",function(o,r,i){return f=o,g=r,b=i,{restrict:"A",compile:function(o,r){var i;return A.enabled&&(s(e,u(e,r,""),l(o,e,r)),n(null,o),i=n),i||t.noop}}}]}function a(e,n){var o;return function(r){var i=s(n,r||"");t.isDefined(i)&&(o&&e.removeClass(o),o=i?n+"-"+i.replace(v,"-"):n,e.addClass(o))}}function d(e){var n=e.split("-");return["$log",function(o){return o.warn(e+"has been deprecated. Please use a `"+n[0]+"-gt-` variant."),t.noop}]}function c(e,t,n,o){var r,i,a,d=n[0].nodeName.toLowerCase();switch(e.replace(E,"")){case"flex":("md-button"==d||"fieldset"==d)&&(i="<"+d+" "+e+">",a="https://github.com/philipwalton/flexbugs#9-some-html-elements-cant-be-flex-containers",r="Markup '{0}' may not work as expected in IE Browsers. Consult '{1}' for details.",o.warn(f.supplant(r,[i,a])))}}function s(e,n,o){var r=n;if(!m(n)){switch(e.replace(E,"")){case"layout":p(n,$)||(n=$[0]);break;case"flex":p(n,M)||isNaN(n)&&(n="");break;case"flex-offset":case"flex-order":(!n||isNaN(+n))&&(n="0");break;case"layout-align":var i=h(n);n=f.supplant("{main}-{cross}",i);break;case"layout-padding":case"layout-margin":case"layout-fill":case"layout-wrap":case"layout-no-wrap":n=""}n!=r&&(o||t.noop)(n)}return n}function l(e,t,n){return function(e){m(e)||(n[n.$normalize(t)]=e)}}function m(e){return(e||"").indexOf(g.startSymbol())>-1}function u(e,t,n){var o=t.$normalize(e);return t[o]?t[o].replace(v,"-"):n||null}function p(e,t,n){e=n&&e?e.replace(v,n):e;var o=!1;return e&&t.forEach(function(t){t=n?t.replace(v,n):t,o=o||t===e}),o}function h(e){var t,n={main:"start",cross:"stretch"};return e=e||"",(0==e.indexOf("-")||0==e.indexOf(" "))&&(e="none"+e),t=e.toLowerCase().trim().replace(v,"-").split("-"),t.length&&"space"===t[0]&&(t=[t[0]+"-"+t[1],t[2]]),t.length>0&&(n.main=t[0]||n.main),t.length>1&&(n.cross=t[1]||n.cross),y.indexOf(n.main)<0&&(n.main="start"),C.indexOf(n.cross)<0&&(n.cross="stretch"),n}var f,g,b,E=/(-gt)?-(sm|md|lg)/g,v=/\s+/g,M=["grow","initial","auto","none","noshrink","nogrow"],$=["row","column"],y=["","start","center","end","stretch","space-around","space-between"],C=["","start","center","end","stretch"],A={enabled:!0,breakpoints:[]};e(t.module("material.core.layout",["ng"]))}()}(),function(){function e(e,n){function o(e){return e&&""!==e}var r,i=[],a={};return r={notFoundError:function(t){e.error("No instance found for handle",t)},getInstances:function(){return i},get:function(e){if(!o(e))return null;var t,n,r;for(t=0,n=i.length;n>t;t++)if(r=i[t],r.$$mdHandle===e)return r;return null},register:function(e,n){function o(){var t=i.indexOf(e);-1!==t&&i.splice(t,1)}function r(){var t=a[n];t&&(t.resolve(e),delete a[n])}return n?(e.$$mdHandle=n,i.push(e),r(),o):t.noop},when:function(e){if(o(e)){var t=n.defer(),i=r.get(e);return i?t.resolve(i):a[e]=t,t.promise}return n.reject("Invalid `md-component-id` value.")}}}t.module("material.core").factory("$mdComponentRegistry",e), +e.$inject=["$log","$q"]}(),function(){!function(){function e(e){function n(e){return e.hasClass("md-icon-button")?{isMenuItem:e.hasClass("md-menu-item"),fitRipple:!0,center:!0}:{isMenuItem:e.hasClass("md-menu-item"),dimBackground:!0}}return{attach:function(o,r,i){return i=t.extend(n(r),i),e.attach(o,r,i)}}}t.module("material.core").factory("$mdButtonInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!0,dimBackground:!1,fitRipple:!0},r))}return{attach:n}}t.module("material.core").factory("$mdCheckboxInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:n}}t.module("material.core").factory("$mdListInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){function e(e,n){return{controller:t.noop,link:function(t,o,r){r.hasOwnProperty("mdInkRippleCheckbox")?n.attach(t,o):e.attach(t,o)}}}function n(e){function n(n,r,i){return r.controller("mdNoInk")?t.noop:e.instantiate(o,{$scope:n,$element:r,rippleOptions:i})}return{attach:n}}function o(e,n,o,r,i,a){this.$window=r,this.$timeout=i,this.$mdUtil=a,this.$scope=e,this.$element=n,this.options=o,this.mousedown=!1,this.ripples=[],this.timeout=null,this.lastRipple=null,a.valueOnUse(this,"container",this.createContainer),this.$element.addClass("md-ink-ripple"),(n.controller("mdInkRipple")||{}).createRipple=t.bind(this,this.createRipple),(n.controller("mdInkRipple")||{}).setColor=t.bind(this,this.color),this.bindEvents()}function r(e,n){(e.mousedown||e.lastRipple)&&(e.mousedown=!1,e.$mdUtil.nextTick(t.bind(e,n),!1))}function i(){return{controller:t.noop}}t.module("material.core").factory("$mdInkRipple",n).directive("mdInkRipple",e).directive("mdNoInk",i).directive("mdNoBar",i).directive("mdNoStretch",i);var a=450;e.$inject=["$mdButtonInkRipple","$mdCheckboxInkRipple"],n.$inject=["$injector"],o.$inject=["$scope","$element","rippleOptions","$window","$timeout","$mdUtil"],o.prototype.color=function(e){function n(){var e=o.options&&o.options.colorElement?o.options.colorElement:[],t=e.length?e[0]:o.$element[0];return t?o.$window.getComputedStyle(t).color:"rgb(0,0,0)"}var o=this;return t.isDefined(e)&&(o._color=o._parseColor(e)),o._color||o._parseColor(o.inkRipple())||o._parseColor(n())},o.prototype.calculateColor=function(){return this.color()},o.prototype._parseColor=function(e,t){function n(e){var t="#"===e[0]?e.substr(1):e,n=t.length/3,o=t.substr(0,n),r=t.substr(n,n),i=t.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),"rgba("+parseInt(o,16)+","+parseInt(r,16)+","+parseInt(i,16)+",0.1)"}function o(e){return e.replace(")",", 0.1)").replace("(","a(")}return t=t||1,e?0===e.indexOf("rgba")?e.replace(/\d?\.?\d*\s*\)\s*$/,(.1*t).toString()+")"):0===e.indexOf("rgb")?o(e):0===e.indexOf("#")?n(e):void 0:void 0},o.prototype.bindEvents=function(){this.$element.on("mousedown",t.bind(this,this.handleMousedown)),this.$element.on("mouseup touchend",t.bind(this,this.handleMouseup)),this.$element.on("mouseleave",t.bind(this,this.handleMouseup)),this.$element.on("touchmove",t.bind(this,this.handleTouchmove))},o.prototype.handleMousedown=function(e){if(!this.mousedown)if(e.hasOwnProperty("originalEvent")&&(e=e.originalEvent),this.mousedown=!0,this.options.center)this.createRipple(this.container.prop("clientWidth")/2,this.container.prop("clientWidth")/2);else if(e.srcElement!==this.$element[0]){var t=this.$element[0].getBoundingClientRect(),n=e.clientX-t.left,o=e.clientY-t.top;this.createRipple(n,o)}else this.createRipple(e.offsetX,e.offsetY)},o.prototype.handleMouseup=function(){r(this,this.clearRipples)},o.prototype.handleTouchmove=function(){r(this,this.deleteRipples)},o.prototype.deleteRipples=function(){for(var e=0;e');return this.$element.append(e),e},o.prototype.clearTimeout=function(){this.timeout&&(this.$timeout.cancel(this.timeout),this.timeout=null)},o.prototype.isRippleAllowed=function(){var e=this.$element[0];do{if(!e.tagName||"BODY"===e.tagName)break;if(e&&t.isFunction(e.hasAttribute)){if(e.hasAttribute("disabled"))return!1;if("false"===this.inkRipple()||"0"===this.inkRipple())return!1}}while(e=e.parentNode);return!0},o.prototype.inkRipple=function(){return this.$element.attr("md-ink-ripple")},o.prototype.createRipple=function(e,n){function o(e){return e?e.replace("rgba","rgb").replace(/,[^\),]+\)/,")"):"rgb(0,0,0)"}function r(e,t,n){return e?Math.max(t,n):Math.sqrt(Math.pow(t,2)+Math.pow(n,2))}if(this.isRippleAllowed()){var i=this,d=t.element('
    '),c=this.$element.prop("clientWidth"),s=this.$element.prop("clientHeight"),l=2*Math.max(Math.abs(c-e),e),m=2*Math.max(Math.abs(s-n),n),u=r(this.options.fitRipple,l,m),p=this.calculateColor();d.css({left:e+"px",top:n+"px",background:"black",width:u+"px",height:u+"px",backgroundColor:o(p),borderColor:o(p)}),this.lastRipple=d,this.clearTimeout(),this.timeout=this.$timeout(function(){i.clearTimeout(),i.mousedown||i.fadeInComplete(d)},.35*a,!1),this.options.dimBackground&&this.container.css({backgroundColor:p}),this.container.append(d),this.ripples.push(d),d.addClass("md-ripple-placed"),this.$mdUtil.nextTick(function(){d.addClass("md-ripple-scaled md-ripple-active"),i.$timeout(function(){i.clearRipples()},a,!1)},!1)}},o.prototype.fadeInComplete=function(e){this.lastRipple===e?this.timeout||this.mousedown||this.removeRipple(e):this.removeRipple(e)},o.prototype.removeRipple=function(e){var t=this,n=this.ripples.indexOf(e);0>n||(this.ripples.splice(this.ripples.indexOf(e),1),e.removeClass("md-ripple-active"),0===this.ripples.length&&this.container.css({backgroundColor:""}),this.$timeout(function(){t.fadeOutComplete(e)},a,!1))},o.prototype.fadeOutComplete=function(e){e.remove(),this.lastRipple=null}}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:n}}t.module("material.core").factory("$mdTabInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){t.module("material.core.theming.palette",[]).constant("$mdColorPalette",{red:{50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 A100",contrastStrongLightColors:"400 500 600 700 A200 A400 A700"},pink:{50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",A100:"#ff80ab",A200:"#ff4081",A400:"#f50057",A700:"#c51162",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"500 600 A200 A400 A700"},purple:{50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200 A400 A700"},"deep-purple":{50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",A100:"#b388ff",A200:"#7c4dff",A400:"#651fff",A700:"#6200ea",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200"},indigo:{50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",A100:"#8c9eff",A200:"#536dfe",A400:"#3d5afe",A700:"#304ffe",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400 A200 A400"},blue:{50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100",contrastStrongLightColors:"500 600 700 A200 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900 A700",contrastStrongLightColors:"600 700 800 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastLightColors:"700 800 900",contrastStrongLightColors:"700 800 900"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900",contrastStrongLightColors:"600 700"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastLightColors:"700 800 900",contrastStrongLightColors:"700 800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastLightColors:"900",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200",contrastStrongLightColors:"500 600 700 800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200",contrastStrongLightColors:"300 400"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",1000:"#000000",A100:"#ffffff",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300",contrastStrongLightColors:"400 500"}})}(),function(){function e(e){function o(e,t){return t=t||{},m[e]=a(e,t),E}function r(e,n){return a(e,t.extend({},m[e]||{},n))}function a(e,t){var n=T.filter(function(e){return!t[e]});if(n.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",n.join(", ")).replace("%2",e));return t}function c(e,n){if(u[e])return u[e];n=n||"default";var o="string"==typeof n?u[n]:n,r=new s(e);return o&&t.forEach(o.colors,function(e,n){r.colors[n]={name:e.name,hues:t.extend({},e.hues)}}),u[e]=r,r}function s(e){function n(e){if(e=0===arguments.length?!0:!!e,e!==o.isDark){o.isDark=e,o.foregroundPalette=o.isDark?f:h,o.foregroundShadow=o.isDark?g:b;var n=o.isDark?A:C,r=o.isDark?C:A;return t.forEach(n,function(e,t){var n=o.colors[t],i=r[t];if(n)for(var a in n.hues)n.hues[a]===i[a]&&(n.hues[a]=e[a])}),o}}var o=this;o.name=e,o.colors={},o.dark=n,n(!1),$.forEach(function(e){var n=(o.isDark?A:C)[e];o[e+"Palette"]=function(r,i){var a=o.colors[e]={name:r,hues:t.extend({},n,i)};return Object.keys(a.hues).forEach(function(e){if(!n[e])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",e).replace("%2",o.name).replace("%3",r).replace("%4",Object.keys(n).join(", ")))}),Object.keys(a.hues).map(function(e){return a.hues[e]}).forEach(function(t){if(-1==T.indexOf(t))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",t).replace("%2",o.name).replace("%3",e).replace("%4",r).replace("%5",T.join(", ")))}),o},o[e+"Color"]=function(){var t=Array.prototype.slice.call(arguments);return console.warn("$mdThemingProviderTheme."+e+"Color() has been deprecated. Use $mdThemingProviderTheme."+e+"Palette() instead."),o[e+"Palette"].apply(o,t)}})}function p(e,o){function r(e){return e===n||""===e?!0:i.THEMES[e]!==n}function i(t,o){o===n&&(o=t,t=n),t===n&&(t=e),i.inherit(o,o)}return i.inherit=function(n,i){function a(e){if(e){r(e)||o.warn("Attempted to use unregistered theme '"+e+"'. Register it with $mdThemingProvider.theme().");var t=n.data("$mdThemeName");t&&n.removeClass("md-"+t+"-theme"),n.addClass("md-"+e+"-theme"),n.data("$mdThemeName",e),d&&n.data("$mdThemeController",d)}}var d=i.controller("mdTheme"),c=n.attr("md-theme-watch");if((M||t.isDefined(c))&&"false"!=c){var s=e.$watch(function(){return d&&d.$mdTheme||("default"==v?"":v)},a);n.on("$destroy",s)}else{var l=d&&d.$mdTheme||("default"==v?"":v);a(l)}},i.THEMES=t.extend({},u),i.defaultTheme=function(){return v},i.registered=r,i.generateTheme=d,i}m={},u={};var E,v="default",M=!1;return t.extend(m,e),p.$inject=["$rootScope","$log"],E={definePalette:o,extendPalette:r,theme:c,setDefaultTheme:function(e){v=e},alwaysWatchTheme:function(e){M=e},generateThemesOnDemand:function(e){w=e},$get:p,_LIGHT_DEFAULT_HUES:C,_DARK_DEFAULT_HUES:A,_PALETTES:m,_THEMES:u,_parseRules:i,_rgba:l}}function o(e,t,n){return{priority:100,link:{pre:function(o,r,i){var a={$setTheme:function(t){e.registered(t)||n.warn("attempted to use unregistered theme '"+t+"'"),a.$mdTheme=t}};r.data("$mdThemeController",a),a.$setTheme(t(i.mdTheme)(o)),i.$observe("mdTheme",a.$setTheme)}}}}function r(e){return e}function i(e,n,o){c(e,n),o=o.replace(/THEME_NAME/g,e.name);var r=[],i=e.colors[n],a=new RegExp(".md-"+e.name+"-theme","g"),d=new RegExp("('|\")?{{\\s*("+n+")-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?","g"),s=/'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow)-?(\d\.?\d*)?(contrast)?\s*\}\}'?"?/g,u=m[i.name];return o=o.replace(s,function(t,n,o,r,i){return"foreground"===n?"shadow"==o?e.foregroundShadow:e.foregroundPalette[o]||e.foregroundPalette[1]:(0===o.indexOf("hue")&&(o=e.colors[n].hues[o]),l((m[e.colors[n].name][o]||"")[i?"contrast":"value"],r))}),t.forEach(i.hues,function(t,n){var i=o.replace(d,function(e,n,o,r,i){return l(u[t]["color"===r?"value":"contrast"],i)});if("default"!==n&&(i=i.replace(a,".md-"+e.name+"-theme.md-"+n)),"default"==e.name){var c=/((?:(?:(?: |>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)+) )?)((?:(?:\w|\.|-)+)?)\.md-default-theme((?: |>|\.|\w|-|:|\(|\)|\[|\]|"|'|=)*)/g;i=i.replace(c,function(e,t,n,o){return e+", "+t+n+o})}r.push(i)}),r}function a(e){function n(e){var n=e.contrastDefaultColor,o=e.contrastLightColors||[],r=e.contrastStrongLightColors||[],i=e.contrastDarkColors||[];"string"==typeof o&&(o=o.split(" ")),"string"==typeof r&&(r=r.split(" ")),"string"==typeof i&&(i=i.split(" ")),delete e.contrastDefaultColor,delete e.contrastLightColors,delete e.contrastStrongLightColors,delete e.contrastDarkColors,t.forEach(e,function(a,d){function c(){return"light"===n?i.indexOf(d)>-1?E:r.indexOf(d)>-1?M:v:o.indexOf(d)>-1?r.indexOf(d)>-1?M:v:E}if(!t.isObject(a)){var l=s(a);if(!l)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",a).replace("%2",e.name).replace("%3",d));e[d]={value:l,contrast:c()}}})}var o=document.head,r=o?o.firstElementChild:null,i=e.has("$MD_THEME_CSS")?e.get("$MD_THEME_CSS"):"";if(r&&0!==i.length){t.forEach(m,n);var a=i.split(/\}(?!(\}|'|"|;))/).filter(function(e){return e&&e.length}).map(function(e){return e.trim()+"}"}),c=new RegExp("md-("+$.join("|")+")","g");$.forEach(function(e){k[e]=""}),a.forEach(function(e){for(var t,n=(e.match(c),0);t=$[n];n++)if(e.indexOf(".md-"+t)>-1)return k[t]+=e;for(n=0;t=$[n];n++)if(e.indexOf(t)>-1)return k[t]+=e;return k[y]+=e}),w||t.forEach(u,function(e){p[e.name]||d(e.name)})}}function d(e){var t=u[e],n=document.head,o=n?n.firstElementChild:null;p[e]||($.forEach(function(e){for(var r=i(t,e,k[e]);r.length;){var a=r.shift();if(a){var d=document.createElement("style");d.setAttribute("md-theme-style",""),d.appendChild(document.createTextNode(a)),n.insertBefore(d,o)}}}),t.colors.primary.name==t.colors.accent.name&&console.warn("$mdThemingProvider: Using the same palette for primary and accent. This violates the material design spec."),p[t.name]=!0)}function c(e,t){if(!m[(e.colors[t]||{}).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",e.name).replace("%2",t).replace("%3",Object.keys(m).join(", ")))}function s(e){if(t.isArray(e)&&3==e.length)return e;if(/^rgb/.test(e))return e.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(e,t){return 3==t?parseFloat(e,10):parseInt(e,10)});if("#"==e.charAt(0)&&(e=e.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(e)){var n=e.length/3,o=e.substr(0,n),r=e.substr(n,n),i=e.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),[parseInt(o,16),parseInt(r,16),parseInt(i,16)]}}function l(e,n){return e?(4==e.length&&(e=t.copy(e),n?e.pop():n=e.pop()),n&&("number"==typeof n||"string"==typeof n&&n.length)?"rgba("+e.join(",")+","+n+")":"rgb("+e.join(",")+")"):"rgb('0,0,0')"}t.module("material.core.theming",["material.core.theming.palette"]).directive("mdTheme",o).directive("mdThemable",r).provider("$mdTheming",e).run(a);var m,u,p={},h={name:"dark",1:"rgba(0,0,0,0.87)",2:"rgba(0,0,0,0.54)",3:"rgba(0,0,0,0.26)",4:"rgba(0,0,0,0.12)"},f={name:"light",1:"rgba(255,255,255,1.0)",2:"rgba(255,255,255,0.7)",3:"rgba(255,255,255,0.3)",4:"rgba(255,255,255,0.12)"},g="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",b="",E=s("rgba(0,0,0,0.87)"),v=s("rgba(255,255,255,0.87)"),M=s("rgb(255,255,255)"),$=["primary","accent","warn","background"],y="primary",C={accent:{"default":"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{"default":"A100","hue-1":"300","hue-2":"800","hue-3":"900"}},A={background:{"default":"800","hue-1":"600","hue-2":"300","hue-3":"900"}};$.forEach(function(e){var t={"default":"500","hue-1":"300","hue-2":"800","hue-3":"A100"};C[e]||(C[e]=t),A[e]||(A[e]=t)});var T=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"],w=!1;e.$inject=["$mdColorPalette"],o.$inject=["$mdTheming","$interpolate","$log"],r.$inject=["$mdTheming"];var k={};a.$inject=["$injector"]}(),function(){function e(e,n,o,r,i){var a;return a={translate3d:function(e,t,n,o){function r(n){return i(e,{to:n||t,addClass:o.transitionOutClass,removeClass:o.transitionInClass}).start()}return i(e,{from:t,to:n,addClass:o.transitionInClass}).start().then(function(){return r})},waitTransitionEnd:function(e,t){var i=3e3;return n(function(n,a){function d(t){t&&t.target!==e[0]||(t&&o.cancel(c),e.off(r.CSS.TRANSITIONEND,d),n())}t=t||{};var c=o(d,t.timeout||i);e.on(r.CSS.TRANSITIONEND,d)})},calculateZoomToOrigin:function(n,o){function r(){var e=n?n.parent():null,t=e?e.parent():null;return t?a.clientRect(t):null}var i=o.element,d=o.bounds,c="translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )",s=t.bind(null,e.supplant,c),l=s({centerX:0,centerY:0,scaleX:.5,scaleY:.5});if(i||d){var m=i?a.clientRect(i)||r():a.copyRect(d),u=a.copyRect(n[0].getBoundingClientRect()),p=a.centerPointFor(u),h=a.centerPointFor(m);l=s({centerX:h.x-p.x,centerY:h.y-p.y,scaleX:Math.round(100*Math.min(.5,m.width/u.width))/100,scaleY:Math.round(100*Math.min(.5,m.height/u.height))/100})}return l},toCss:function(e){function n(e,n,r){t.forEach(n.split(" "),function(e){o[e]=r})}var o={},i="left top right bottom width height x y min-width min-height max-width max-height";return t.forEach(e,function(e,a){if(!t.isUndefined(e))if(i.indexOf(a)>=0)o[a]=e+"px";else switch(a){case"transition":n(a,r.CSS.TRANSITION,e);break;case"transform":n(a,r.CSS.TRANSFORM,e);break;case"transformOrigin":n(a,r.CSS.TRANSFORM_ORIGIN,e)}}),o},toTransformCss:function(e,n,o){var i={};return t.forEach(r.CSS.TRANSFORM.split(" "),function(t){i[t]=e}),n&&(o=o||"all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important",i.transition=o),i},copyRect:function(e,n){return e?(n=n||{},t.forEach("left top right bottom width height".split(" "),function(t){n[t]=Math.round(e[t])}),n.width=n.width||n.right-n.left,n.height=n.height||n.bottom-n.top,n):null},clientRect:function(e){var n=t.element(e)[0].getBoundingClientRect(),o=function(e){return e&&e.width>0&&e.height>0};return o(n)?a.copyRect(n):null},centerPointFor:function(e){return e?{x:Math.round(e.left+e.width/2),y:Math.round(e.top+e.height/2)}:{x:0,y:0}}}}t.module("material.core").factory("$$mdAnimate",["$q","$timeout","$mdConstant","$animateCss",function(t,n,o,r){return function(i){return e(i,t,n,o,r)}}])}(),function(){t.version.minor>=4?t.module("material.core.animate",[]):!function(){function e(e){return e.replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()})}var n=t.forEach,o=t.isDefined(document.documentElement.style.WebkitAppearance),r=o?"-webkit-":"",i=(o?"webkitTransitionEnd ":"")+"transitionend",a=(o?"webkitAnimationEnd ":"")+"animationend",d=["$document",function(e){return function(){return e[0].body.clientWidth+1}}],c=["$$rAF",function(e){return function(){var t=!1;return e(function(){t=!0}),function(n){t?n():e(n)}}}],s=["$q","$$rAFMutex",function(e,o){function r(e){this.setHost(e),this._doneCallbacks=[],this._runInAnimationFrame=o(),this._state=0}var i=0,a=1,d=2;return r.prototype={setHost:function(e){this.host=e||{}},done:function(e){this._state===d?e():this._doneCallbacks.push(e)},progress:t.noop,getPromise:function(){if(!this.promise){var t=this;this.promise=e(function(e,n){t.done(function(t){t===!1?n():e()})})}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;t._state===i&&(t._state=a,t._runInAnimationFrame(function(){t._resolve(e)}))},_resolve:function(e){this._state!==d&&(n(this._doneCallbacks,function(t){t(e)}),this._doneCallbacks.length=0,this._state=d)}},r}];t.module("material.core.animate",[]).factory("$$forceReflow",d).factory("$$AnimateRunner",s).factory("$$rAFMutex",c).factory("$animateCss",["$window","$$rAF","$$AnimateRunner","$$forceReflow","$$jqLite","$timeout",function(t,d,c,s,l,m){function u(o,d){var s=[],l=M(o);d.transitionStyle&&s.push([r+"transition",d.transitionStyle]),d.keyframeStyle&&s.push([r+"animation",d.keyframeStyle]),d.delay&&s.push([r+"transition-delay",d.delay+"s"]),d.duration&&s.push([r+"transition-duration",d.duration+"s"]);var u=d.keyframeStyle||d.to&&(d.duration>0||d.transitionStyle),f=!!d.addClass||!!d.removeClass,y=u||f;$(o,!0),E(o,d);var C,A,T=!1;return{close:t.close,start:function(){function t(){return T?void 0:(T=!0,C&&A&&o.off(C,A),p(o,d),b(o,d),n(s,function(t){l.style[e(t[0])]=""}),u.complete(!0),u)}var u=new c;return g(function(){if($(o,!1),!y)return t();n(s,function(t){var n=t[0],o=t[1];l.style[e(n)]=o}),p(o,d);var c=h(o);if(0===c.duration)return t();var u=[];d.easing&&(c.transitionDuration&&u.push([r+"transition-timing-function",d.easing]),c.animationDuration&&u.push([r+"animation-timing-function",d.easing])),d.delay&&c.animationDelay&&u.push([r+"animation-delay",d.delay+"s"]),d.duration&&c.animationDuration&&u.push([r+"animation-duration",d.duration+"s"]),n(u,function(t){var n=t[0],o=t[1];l.style[e(n)]=o,s.push(t)});var f=c.delay,g=1e3*f,b=c.duration,E=1e3*b,M=Date.now();C=[],c.transitionDuration&&C.push(i),c.animationDuration&&C.push(a),C=C.join(" "),A=function(e){e.stopPropagation();var n=e.originalEvent||e,o=n.timeStamp||Date.now(),r=parseFloat(n.elapsedTime.toFixed(3));Math.max(o-M,0)>=g&&r>=b&&t()},o.on(C,A),v(o,d),m(t,g+1.5*E,!1)}),u}}}function p(e,t){t.addClass&&(l.addClass(e,t.addClass),t.addClass=null),t.removeClass&&(l.removeClass(e,t.removeClass),t.removeClass=null)}function h(e){function n(e){return o?"Webkit"+e.charAt(0).toUpperCase()+e.substr(1):e}var r=M(e),i=t.getComputedStyle(r),a=f(i[n("transitionDuration")]),d=f(i[n("animationDuration")]),c=f(i[n("transitionDelay")]),s=f(i[n("animationDelay")]);d*=parseInt(i[n("animationIterationCount")],10)||1;var l=Math.max(d,a),m=Math.max(s,c);return{duration:l,delay:m,animationDuration:d,transitionDuration:a,animationDelay:s,transitionDelay:c}}function f(e){var t=0,o=(e||"").split(/\s*,\s*/);return n(o,function(e){"s"==e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e=parseFloat(e)||0,t=t?Math.max(e,t):e}),t}function g(e){y&&y(),C.push(e),y=d(function(){y=null;for(var e=s(),t=0;to&&(o=Math.max(-r,o/2)),e.css(n.CSS.TRANSFORM,"translate3d(0,"+(r+o)+"px,0)")}function l(t){if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math.abs(t.pointer.velocityY)>o)){var r=e.prop("offsetHeight")-t.pointer.distanceY,a=Math.min(r/t.pointer.velocityY*.75,500);e.css(n.CSS.TRANSITION_DURATION,a+"ms"),i.nextTick(d.cancel,!0)}else e.css(n.CSS.TRANSITION_DURATION,""),e.css(n.CSS.TRANSFORM,"")}var m=s.register(t,"drag",{horizontal:!1});return t.on("$md.dragstart",a).on("$md.drag",c).on("$md.dragend",l),{element:e,cleanup:function(){m(),t.off("$md.dragstart",a),t.off("$md.drag",c),t.off("$md.dragend",l)}}}var p;return{themable:!0,onShow:l,onRemove:m,escapeToClose:!0,clickOutsideToClose:!0,disableParentScroll:!0}}var o=.5,r=80;return n.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture"],e("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","clickOutsideToClose"],options:n})}t.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",e).provider("$mdBottomSheet",n),e.$inject=["$mdBottomSheet"],n.$inject=["$$interimElementProvider"]}(),function(){t.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",["$mdTheming","$animate","$rootElement","$window","$log","$$rAF","$document",function(e,t,n,o,r,i,a){function d(d,s,l){var m=o.getComputedStyle(a[0].body);if("fixed"==m.position){var u=parseInt(m.height,10)+Math.abs(parseInt(m.top,10));s.css({height:u+"px"})}t.pin&&t.pin(s,n),i(function(){var t=s.parent()[0];if(t){"BODY"==t.nodeName&&s.css({position:"fixed"});var n=o.getComputedStyle(t);"static"==n.position&&r.warn(c)}e.inherit(s,s.parent())})}var c=" may not work properly in a scrolled, static-positioned parent container.";return{restrict:"E",link:d}}])}(),function(){function e(e,n,o,r){function i(e){return t.isDefined(e.href)||t.isDefined(e.ngHref)||t.isDefined(e.ngLink)||t.isDefined(e.uiSref)}function a(e,t){if(i(t))return'
    ';var n="undefined"==typeof t.type?"button":t.type;return''}function d(a,d,c){var s=d[0];n(d),e.attach(a,d);var l=s.textContent.trim();l||o.expect(d,"aria-label"),i(c)&&t.isDefined(c.ngDisabled)&&a.$watch(c.ngDisabled,function(e){d.attr("tabindex",e?-1:0)}),d.on("click",function(e){c.disabled===!0&&(e.preventDefault(),e.stopImmediatePropagation())}),a.mouseActive=!1,d.on("mousedown",function(){a.mouseActive=!0,r(function(){a.mouseActive=!1},100)}).on("focus",function(){a.mouseActive===!1&&d.addClass("md-focused")}).on("blur",function(e){d.removeClass("md-focused")})}return{restrict:"EA",replace:!0,transclude:!0,template:a,link:d}}t.module("material.components.button",["material.core"]).directive("mdButton",e),e.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$timeout"]}(),function(){function e(e){return{restrict:"E",link:function(t,n){e(n)}}}t.module("material.components.card",["material.core"]).directive("mdCard",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r,i,a){function d(d,s){return s.type="checkbox",s.tabindex=s.tabindex||"0",d.attr("role",s.type),d.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),function(d,s,l,m){function u(e,t,n){l[e]&&d.$watch(l[e],function(e){n[e]&&s.attr(t,n[e])})}function p(e){var t=e.which||e.keyCode;(t===o.KEY_CODE.SPACE||t===o.KEY_CODE.ENTER)&&(e.preventDefault(),s.hasClass("md-focused")||s.addClass("md-focused"),h(e))}function h(e){s[0].hasAttribute("disabled")||d.$apply(function(){var t=l.ngChecked?l.checked:!m.$viewValue;m.$setViewValue(t,e&&e.type),m.$render()})}function f(){m.$viewValue?s.addClass(c):s.removeClass(c)}m=m||i.fakeNgModel(), +r(s),l.ngChecked&&d.$watch(d.$eval.bind(d,l.ngChecked),m.$setViewValue.bind(m)),u("ngDisabled","tabindex",{"true":"-1","false":l.tabindex}),n.expectWithText(s,"aria-label"),e.link.pre(d,{on:t.noop,0:{}},l,[m]),d.mouseActive=!1,s.on("click",h).on("keypress",p).on("mousedown",function(){d.mouseActive=!0,a(function(){d.mouseActive=!1},100)}).on("focus",function(){d.mouseActive===!1&&s.addClass("md-focused")}).on("blur",function(){s.removeClass("md-focused")}),m.$render=f}}e=e[0];var c="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'
    ',compile:d}}t.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(),function(){function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,r){o[0];e(o),t.$broadcast("$mdContentLoaded",o),n(o[0])}}}function n(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){t.module("material.components.chips",["material.core","material.components.autocomplete"])}(),function(){function e(e,n,o){return{restrict:"E",link:function(r,i,a){n(i),e(function(){function e(){i.toggleClass("md-content-overflow",a.scrollHeight>a.clientHeight)}var n,a=i[0].querySelector("md-dialog-content");a&&(n=a.getElementsByTagName("img"),e(),t.element(n).on("load",e)),r.$on("$destroy",function(){o.destroy(i)})})}}}function o(e){function o(e,t){return{template:['',' ','

    {{ dialog.title }}

    ','
    ','
    ',"

    {{::dialog.mdTextContent}}

    ","
    ","
    "," ",' '," {{ dialog.cancel }}"," ",' '," {{ dialog.ok }}"," "," ","
    "].join("").replace(/\s\s+/g,""),controller:function(){this.hide=function(){e.hide(!0)},this.abort=function(){e.cancel()}},controllerAs:"dialog",bindToController:!0,theme:t.defaultTheme()}}function r(e,o,r,d,c,s,l,m,u,p){function h(e,t,n,o){if(o){if(o.mdHtmlContent=o.htmlContent||n.htmlContent||"",o.mdTextContent=o.textContent||n.textContent||o.content||n.content||"",o.mdHtmlContent&&!p.has("$sanitize"))throw Error("The ngSanitize module must be loaded in order to use htmlContent.");if(o.mdHtmlContent&&o.mdTextContent)throw Error("md-dialog cannot have both `htmlContent` and `textContent`")}}function f(e,n,o,i){function a(){var e=n[0].querySelectorAll(".md-actions");e.length>0&&u.warn("Using a class of md-actions is deprected, please use .")}function d(){function e(){var e=n[0].querySelector(".dialog-close");if(!e){var o=n[0].querySelectorAll(".md-actions button, md-dialog-actions button");e=o[o.length-1]}return t.element(e)}if(o.focusOnOpen){var i=r.findFocusTarget(n)||e();i.focus()}}return t.element(s[0].body).addClass("md-dialog-is-showing"),b(o),M(n.find("md-dialog"),o),v(e,n,o),C(n,o).then(function(){E(n,o),$(n,o),a(),d()})}function g(e,n,o){function r(){return A(n,o)}function d(){t.element(s[0].body).removeClass("md-dialog-is-showing"),n.remove(),o.$destroy||o.origin.focus()}return o.deactivateListeners(),o.unlockScreenReader(),o.hideBackdrop(o.$destroy),i&&i.parentNode&&i.parentNode.removeChild(i),a&&a.parentNode&&a.parentNode.removeChild(a),o.$destroy?d():r().then(d)}function b(e){function o(e,o){var r=t.element(e||{});if(r&&r.length){var i={top:0,left:0,height:0,width:0},a=t.isFunction(r[0].getBoundingClientRect);return t.extend(o||{},{element:a?r:n,bounds:a?r[0].getBoundingClientRect():t.extend({},i,r[0]),focus:t.bind(r,r.focus)})}}function r(e,n){if(t.isString(e)){var o=e,r=s[0].querySelectorAll(o);e=r.length?r[0]:null}return t.element(e||n)}e.origin=t.extend({element:null,bounds:null,focus:t.noop},e.origin||{}),e.parent=r(e.parent,m),e.closeTo=o(r(e.closeTo)),e.openFrom=o(r(e.openFrom)),e.targetEvent&&(e.origin=o(e.targetEvent.target,e.origin))}function E(n,o){var i=t.element(l),a=r.debounce(function(){y(n,o)},60),c=[],s=function(){var t="alert"==o.$type?e.hide:e.cancel;r.nextTick(t,!0)};if(o.escapeToClose){var m=o.parent,u=function(e){e.keyCode===d.KEY_CODE.ESCAPE&&(e.stopPropagation(),e.preventDefault(),s())};n.on("keydown",u),m.on("keydown",u),i.on("resize",a),c.push(function(){n.off("keydown",u),m.off("keydown",u),i.off("resize",a)})}if(o.clickOutsideToClose){var p,m=n,h=function(e){p=e.target},f=function(e){p===m[0]&&e.target===m[0]&&(e.stopPropagation(),e.preventDefault(),s())};m.on("mousedown",h),m.on("mouseup",f),c.push(function(){m.off("mousedown",h),m.off("mouseup",f)})}o.deactivateListeners=function(){c.forEach(function(e){e()}),o.deactivateListeners=null}}function v(e,t,n){n.disableParentScroll&&(n.restoreScroll=r.disableScrollAround(t,n.parent)),n.hasBackdrop&&(n.backdrop=r.createBackdrop(e,"md-dialog-backdrop md-opaque"),c.enter(n.backdrop,n.parent)),n.hideBackdrop=function(e){n.backdrop&&(e?n.backdrop.remove():c.leave(n.backdrop)),n.disableParentScroll&&(n.restoreScroll(),delete n.restoreScroll),n.hideBackdrop=null}}function M(e,n){var d="alert"===n.$type?"alertdialog":"dialog",c=e.find("md-dialog-content"),s=e.attr("id")||"dialog_"+r.nextUid();e.attr({role:d,tabIndex:"-1"}),0===c.length&&(c=e),c.attr("id",s),e.attr("aria-describedby",s),n.ariaLabel?o.expect(e,"aria-label",n.ariaLabel):o.expectAsync(e,"aria-label",function(){var e=c.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")}),i=document.createElement("div"),i.classList.add("md-dialog-focus-trap"),i.tabIndex=0,a=i.cloneNode(!1);var l=t.bind(e,e.focus);i.addEventListener("focus",l),a.addEventListener("focus",l),e[0].parentNode.insertBefore(i,e[0]),e.append(a)}function $(e,t){function n(e){for(;e.parentNode;){if(e===document.body)return;for(var t=e.parentNode.children,r=0;r/g.test(e)?""+(e||"")+"":e||""}return'
    '+n(e)+"
    "}}}var i,a;return o.$inject=["$mdDialog","$mdTheming"],r.$inject=["$mdDialog","$mdAria","$mdUtil","$mdConstant","$animate","$document","$window","$rootElement","$log","$injector"],e("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent","closeTo","openFrom","parent","fullscreen"],options:r}).addPreset("alert",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","theme","css"],options:o}).addPreset("confirm",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","cancel","theme","css"],options:o})}t.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",o),e.$inject=["$$rAF","$mdTheming","$mdDialog"],o.$inject=["$$interimElementProvider"]}(),function(){!function(){function e(){return{template:'
    ',scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",dateFilter:"=mdDateFilter"},require:["ngModel","mdCalendar"],controller:n,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1];i.configureNgModel(r)}}}function n(e,t,n,o,r,i,a,c,s,l,m){if(a(e),this.items={length:2e3},this.maxDate&&this.minDate){var u=c.getMonthDistance(this.minDate,this.maxDate)+1;u=Math.max(u,1),u+=1,this.items.length=u}if(this.$animate=o,this.$q=r,this.$mdInkRipple=l,this.$mdUtil=m,this.keyCode=i.KEY_CODE,this.dateUtil=c,this.dateLocale=s,this.$element=e,this.$scope=n,this.calendarElement=e[0].querySelector(".md-calendar"),this.calendarScroller=e[0].querySelector(".md-virtual-repeat-scroller"),this.today=this.dateUtil.createDateAtMidnight(),this.firstRenderableDate=this.dateUtil.incrementMonths(this.today,-this.items.length/2),this.minDate&&this.minDate>this.firstRenderableDate)this.firstRenderableDate=this.minDate;else if(this.maxDate){this.items.length-2;this.firstRenderableDate=this.dateUtil.incrementMonths(this.maxDate,-(this.items.length-2))}this.id=d++,this.ngModelCtrl=null,this.selectedDate=null,this.displayDate=null,this.focusDate=null,this.isInitialized=!1,this.isMonthTransitionInProgress=!1,t.tabindex||e.attr("tabindex","-1");var p=this;this.cellClickHandler=function(){var e=this;this.hasAttribute("data-timestamp")&&n.$apply(function(){var t=Number(e.getAttribute("data-timestamp"));p.setNgModelValue(p.dateUtil.createDateAtMidnight(t))})},this.attachCalendarEventListeners()}t.module("material.components.datepicker",["material.core","material.components.icon","material.components.virtualRepeat"]).directive("mdCalendar",e);var o=265,r=45,i="md-calendar-selected-date",a="md-focus",d=0;n.$inject=["$element","$attrs","$scope","$animate","$q","$mdConstant","$mdTheming","$$mdDateUtil","$mdDateLocale","$mdInkRipple","$mdUtil"],n.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;e.$render=function(){t.changeSelectedDate(t.ngModelCtrl.$viewValue)}},n.prototype.buildInitialCalendarDisplay=function(){this.buildWeekHeader(),this.hideVerticalScrollbar(),this.displayDate=this.selectedDate||this.today,this.isInitialized=!0},n.prototype.hideVerticalScrollbar=function(){var e=this.$element[0],t=e.querySelector(".md-calendar-scroll-mask"),n=this.calendarScroller,o=e.querySelector(".md-calendar-day-header").clientWidth,r=n.offsetWidth-n.clientWidth;t.style.width=o+"px",n.style.width=o+r+"px",n.style.paddingRight=r+"px"},n.prototype.attachCalendarEventListeners=function(){this.$element.on("keydown",t.bind(this,this.handleKeyEvent))},n.prototype.handleKeyEvent=function(e){var t=this;this.$scope.$apply(function(){if(e.which==t.keyCode.ESCAPE||e.which==t.keyCode.TAB)return t.$scope.$emit("md-calendar-close"),void(e.which==t.keyCode.TAB&&e.preventDefault());if(e.which===t.keyCode.ENTER)return t.setNgModelValue(t.displayDate),void e.preventDefault();var n=t.getFocusDateFromKeyEvent(e);n&&(n=t.boundDateByMinAndMax(n),e.preventDefault(),e.stopPropagation(),t.changeDisplayDate(n).then(function(){t.focus(n)}))})},n.prototype.getFocusDateFromKeyEvent=function(e){var t=this.dateUtil,n=this.keyCode;switch(e.which){case n.RIGHT_ARROW:return t.incrementDays(this.displayDate,1);case n.LEFT_ARROW:return t.incrementDays(this.displayDate,-1);case n.DOWN_ARROW:return e.metaKey?t.incrementMonths(this.displayDate,1):t.incrementDays(this.displayDate,7);case n.UP_ARROW:return e.metaKey?t.incrementMonths(this.displayDate,-1):t.incrementDays(this.displayDate,-7);case n.PAGE_DOWN:return t.incrementMonths(this.displayDate,1);case n.PAGE_UP:return t.incrementMonths(this.displayDate,-1);case n.HOME:return t.getFirstDateOfMonth(this.displayDate);case n.END:return t.getLastDateOfMonth(this.displayDate);default:return null}},n.prototype.getSelectedMonthIndex=function(){return this.dateUtil.getMonthDistance(this.firstRenderableDate,this.selectedDate||this.today)},n.prototype.scrollToMonth=function(e){if(this.dateUtil.isValidDate(e)){var t=this.dateUtil.getMonthDistance(this.firstRenderableDate,e);this.calendarScroller.scrollTop=t*o}},n.prototype.setNgModelValue=function(e){this.$scope.$emit("md-calendar-change",e),this.ngModelCtrl.$setViewValue(e),this.ngModelCtrl.$render()},n.prototype.focus=function(e){var t=e||this.selectedDate||this.today,n=this.calendarElement.querySelector(".md-focus");n&&n.classList.remove(a);var o=this.getDateId(t),r=document.getElementById(o);r?(r.classList.add(a),r.focus()):this.focusDate=t},n.prototype.boundDateByMinAndMax=function(e){var t=e;return this.minDate&&ethis.maxDate&&(t=new Date(this.maxDate.getTime())),t},n.prototype.changeSelectedDate=function(e){var t=this,n=this.selectedDate;this.selectedDate=e,this.changeDisplayDate(e).then(function(){if(n){var o=document.getElementById(t.getDateId(n));o&&(o.classList.remove(i),o.setAttribute("aria-selected","false"))}if(e){var r=document.getElementById(t.getDateId(e));r&&(r.classList.add(i),r.setAttribute("aria-selected","true"))}})},n.prototype.changeDisplayDate=function(e){if(!this.isInitialized)return this.buildInitialCalendarDisplay(),this.$q.when();if(!this.dateUtil.isValidDate(e)||this.isMonthTransitionInProgress)return this.$q.when();this.isMonthTransitionInProgress=!0;var t=this.animateDateChange(e);this.displayDate=e;var n=this;return t.then(function(){n.isMonthTransitionInProgress=!1}),t},n.prototype.animateDateChange=function(e){return this.scrollToMonth(e),this.$q.when()},n.prototype.buildWeekHeader=function(){for(var e=this.dateLocale.firstDayOfWeek,t=this.dateLocale.shortDays,n=document.createElement("tr"),o=0;7>o;o++){var r=document.createElement("th");r.textContent=t[(o+e)%7],n.appendChild(r)}this.$element.find("thead").append(n)},n.prototype.getDateId=function(e){return["md",this.id,e.getFullYear(),e.getMonth(),e.getDate()].join("-")}}()}(),function(){!function(){function e(){return{require:["^^mdCalendar","mdCalendarMonth"],scope:{offset:"=mdMonthOffset"},controller:n,controllerAs:"mdMonthCtrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1];i.calendarCtrl=r,i.generateContent(),e.$watch(function(){return i.offset},function(e,t){e!=t&&i.generateContent()})}}}function n(e,t,n){this.dateUtil=t,this.dateLocale=n,this.$element=e,this.calendarCtrl=null,this.offset,this.focusAfterAppend=null}t.module("material.components.datepicker").directive("mdCalendarMonth",e);var o="md-calendar-date-today",r="md-calendar-selected-date",i="md-focus";n.$inject=["$element","$$mdDateUtil","$mdDateLocale"],n.prototype.generateContent=function(){var e=this.calendarCtrl,t=this.dateUtil.incrementMonths(e.firstRenderableDate,this.offset);this.$element.empty(),this.$element.append(this.buildCalendarForMonth(t)),this.focusAfterAppend&&(this.focusAfterAppend.classList.add(i),this.focusAfterAppend.focus(),this.focusAfterAppend=null)},n.prototype.buildDateCell=function(e){var t=this.calendarCtrl,n=document.createElement("td");if(n.tabIndex=-1,n.classList.add("md-calendar-date"),n.setAttribute("role","gridcell"),e){n.setAttribute("tabindex","-1"),n.setAttribute("aria-label",this.dateLocale.longDateFormatter(e)),n.id=t.getDateId(e),n.setAttribute("data-timestamp",e.getTime()),this.dateUtil.isSameDay(e,t.today)&&n.classList.add(o),this.dateUtil.isValidDate(t.selectedDate)&&this.dateUtil.isSameDay(e,t.selectedDate)&&(n.classList.add(r),n.setAttribute("aria-selected","true"));var i=this.dateLocale.dates[e.getDate()];if(this.isDateEnabled(e)){var a=document.createElement("span");n.appendChild(a),a.classList.add("md-calendar-date-selection-indicator"),a.textContent=i,n.addEventListener("click",t.cellClickHandler),t.focusDate&&this.dateUtil.isSameDay(e,t.focusDate)&&(this.focusAfterAppend=n)}else n.classList.add("md-calendar-date-disabled"),n.textContent=i}return n},n.prototype.isDateEnabled=function(e){return this.dateUtil.isDateWithinRange(e,this.calendarCtrl.minDate,this.calendarCtrl.maxDate)&&(!t.isFunction(this.calendarCtrl.dateFilter)||this.calendarCtrl.dateFilter(e))},n.prototype.buildDateRow=function(e){var t=document.createElement("tr");return t.setAttribute("role","row"),t.setAttribute("aria-label",this.dateLocale.weekNumberFormatter(e)),t},n.prototype.buildCalendarForMonth=function(e){var t=this.dateUtil.isValidDate(e)?e:new Date,n=this.dateUtil.getFirstDateOfMonth(t),o=this.getLocaleDay_(n),r=this.dateUtil.getNumberOfDaysInMonth(t),i=document.createDocumentFragment(),a=1,d=this.buildDateRow(a);i.appendChild(d);var c=this.offset===this.calendarCtrl.items.length-1,s=0,l=document.createElement("td");if(l.classList.add("md-calendar-month-label"),this.calendarCtrl.maxDate&&n>this.calendarCtrl.maxDate&&l.classList.add("md-calendar-month-label-disabled"),l.textContent=this.dateLocale.monthHeaderFormatter(t),2>=o){l.setAttribute("colspan","7");var m=this.buildDateRow();if(m.appendChild(l),i.insertBefore(m,d),c)return i}else s=2,l.setAttribute("colspan","2"),d.appendChild(l);for(var u=s;o>u;u++)d.appendChild(this.buildDateCell());for(var p=o,h=n,f=1;r>=f;f++){if(7===p){if(c)return i;p=0,a++,d=this.buildDateRow(a),i.appendChild(d)}h.setDate(f);var g=this.buildDateCell(h);d.appendChild(g),p++}for(;d.childNodes.length<7;)d.appendChild(this.buildDateCell());for(;i.childNodes.length<6;){for(var b=this.buildDateRow(),u=0;7>u;u++)b.appendChild(this.buildDateCell());i.appendChild(b)}return i},n.prototype.getLocaleDay_=function(e){return(e.getDay()+(7-this.dateLocale.firstDayOfWeek))%7}}()}(),function(){!function(){t.module("material.components.datepicker").config(["$provide",function(e){function t(){this.months=null,this.shortMonths=null,this.days=null,this.shortDays=null,this.dates=null,this.firstDayOfWeek=0,this.formatDate=null,this.parseDate=null,this.monthHeaderFormatter=null,this.weekNumberFormatter=null,this.longDateFormatter=null,this.msgCalendar="",this.msgOpenCalendar=""}t.prototype.$get=function(e){function t(e){if(!e)return"";var t=e.toLocaleTimeString(),n=e;return 0!=e.getHours()||-1===t.indexOf("11:")&&-1===t.indexOf("23:")||(n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),1,0,0)),n.toLocaleDateString()}function n(e){return new Date(e)}function o(e){e=e.trim();var t=/^(([a-zA-Z]{3,}|[0-9]{1,4})([ \.,]+|[\/\-])){2}([a-zA-Z]{3,}|[0-9]{1,4})$/;return t.test(e)}function r(e){return u.shortMonths[e.getMonth()]+" "+e.getFullYear()}function i(e){return"Week "+e}function a(e){return[u.days[e.getDay()],u.months[e.getMonth()],u.dates[e.getDate()],e.getFullYear()].join(" ")}for(var d=e.DATETIME_FORMATS.DAY.map(function(e){return e[0]}),c=Array(32),s=1;31>=s;s++)c[s]=s;var l="Calendar",m="Open calendar",u={months:this.months||e.DATETIME_FORMATS.MONTH,shortMonths:this.shortMonths||e.DATETIME_FORMATS.SHORTMONTH,days:this.days||e.DATETIME_FORMATS.DAY,shortDays:this.shortDays||d,dates:this.dates||c,firstDayOfWeek:this.firstDayOfWeek||0,formatDate:this.formatDate||t,parseDate:this.parseDate||n,isDateComplete:this.isDateComplete||o,monthHeaderFormatter:this.monthHeaderFormatter||r,weekNumberFormatter:this.weekNumberFormatter||i,longDateFormatter:this.longDateFormatter||a,msgCalendar:this.msgCalendar||l,msgOpenCalendar:this.msgOpenCalendar||m};return u},t.prototype.$get.$inject=["$locale"],e.provider("$mdDateLocale",new t)}])}()}(),function(){!function(){function n(){return{template:'
    ',require:["ngModel","mdDatepicker","?^mdInputContainer"],scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",placeholder:"@mdPlaceholder",dateFilter:"=mdDateFilter"},controller:o,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1],a=o[2];if(a)throw Error("md-datepicker should not be placed inside md-input-container.");i.configureNgModel(r)}}}function o(e,n,o,r,i,a,d,c,s,l,m,u){this.$compile=r,this.$timeout=i,this.$window=a,this.dateLocale=l,this.dateUtil=m,this.$mdConstant=d,this.$mdUtil=s,this.$$rAF=u,this.documentElement=t.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=n[0].querySelector("input"),this.ngInputElement=t.element(this.inputElement),this.inputContainer=n[0].querySelector(".md-datepicker-input-container"),this.calendarPane=n[0].querySelector(".md-datepicker-calendar-pane"),this.calendarButton=n[0].querySelector(".md-datepicker-button"),this.inputMask=n[0].querySelector(".md-datepicker-input-mask-opaque"),this.$element=n,this.$attrs=o,this.$scope=e,this.date=null,this.isFocused=!1,this.isDisabled,this.setDisabled(n[0].disabled||t.isString(o.disabled)),this.isCalendarOpen=!1,this.calendarPaneOpenedFrom=null,this.calendarPane.id="md-date-pane"+s.nextUid(),c(n),this.bodyClickHandler=t.bind(this,this.handleBodyClick),this.windowResizeHandler=s.debounce(t.bind(this,this.closeCalendarPane),100),o.tabindex||n.attr("tabindex","-1"),this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners();var p=this;e.$on("$destroy",function(){p.detachCalendarPane()})}t.module("material.components.datepicker").directive("mdDatepicker",n);var r=3,i="md-datepicker-invalid",a=500,d=368,c=360;o.$inject=["$scope","$element","$attrs","$compile","$timeout","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF"],o.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;e.$render=function(){var e=t.ngModelCtrl.$viewValue;if(e&&!(e instanceof Date))throw Error("The ng-model for md-datepicker must be a Date instance. Currently the model is a: "+typeof e);t.date=e,t.inputElement.value=t.dateLocale.formatDate(e),t.resizeInputElement(),t.updateErrorState()}},o.prototype.attachChangeListeners=function(){var e=this;e.$scope.$on("md-calendar-change",function(t,n){e.ngModelCtrl.$setViewValue(n),e.date=n,e.inputElement.value=e.dateLocale.formatDate(n),e.closeCalendarPane(),e.resizeInputElement(),e.updateErrorState()}),e.ngInputElement.on("input",t.bind(e,e.resizeInputElement)),e.ngInputElement.on("input",e.$mdUtil.debounce(e.handleInputEvent,a,e))},o.prototype.attachInteractionListeners=function(){var e=this,t=this.$scope,n=this.$mdConstant.KEY_CODE;e.ngInputElement.on("keydown",function(o){o.altKey&&o.keyCode==n.DOWN_ARROW&&(e.openCalendarPane(o),t.$digest())}),t.$on("md-calendar-close",function(){e.closeCalendarPane()})},o.prototype.installPropertyInterceptors=function(){var e=this;if(this.$attrs.ngDisabled){var t=this.$mdUtil.validateScope(this.$element)?this.$element.scope():null;t&&t.$watch(this.$attrs.ngDisabled,function(t){e.setDisabled(t)})}Object.defineProperty(this,"placeholder",{get:function(){return e.inputElement.placeholder},set:function(t){e.inputElement.placeholder=t||""}})},o.prototype.setDisabled=function(e){this.isDisabled=e,this.inputElement.disabled=e,this.calendarButton.disabled=e},o.prototype.updateErrorState=function(e){var n=e||this.date;this.clearErrorState(),this.dateUtil.isValidDate(n)?(this.dateUtil.isValidDate(this.minDate)&&this.ngModelCtrl.$setValidity("mindate",n>=this.minDate),this.dateUtil.isValidDate(this.maxDate)&&this.ngModelCtrl.$setValidity("maxdate",n<=this.maxDate),t.isFunction(this.dateFilter)&&this.ngModelCtrl.$setValidity("filtered",this.dateFilter(n))):this.ngModelCtrl.$setValidity("valid",null==n),this.ngModelCtrl.$valid||this.inputContainer.classList.add(i)},o.prototype.clearErrorState=function(){this.inputContainer.classList.remove(i),["mindate","maxdate","filtered","valid"].forEach(function(e){this.ngModelCtrl.$setValidity(e,!0)},this)},o.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+r},o.prototype.handleInputEvent=function(){var e=this.inputElement.value,t=e?this.dateLocale.parseDate(e):null;this.dateUtil.setDateTimeToMidnight(t);var n=""==e||this.dateUtil.isValidDate(t)&&this.dateLocale.isDateComplete(e)&&this.isDateEnabled(t);n&&(this.ngModelCtrl.$setViewValue(t),this.date=t),this.updateErrorState(t)},o.prototype.isDateEnabled=function(e){return this.dateUtil.isDateWithinRange(e,this.minDate,this.maxDate)&&(!t.isFunction(this.dateFilter)||this.dateFilter(e))},o.prototype.attachCalendarPane=function(){var e=this.calendarPane;e.style.transform="",this.$element.addClass("md-datepicker-open");var t=this.inputContainer.getBoundingClientRect(),n=document.body.getBoundingClientRect(),o=t.top-n.top,r=t.left-n.left,i=n.top<0&&0==document.body.scrollTop?-n.top:document.body.scrollTop,a=n.left<0&&0==document.body.scrollLeft?-n.left:document.body.scrollLeft,s=i+this.$window.innerHeight,l=a+this.$window.innerWidth;if(r+c>l){if(l-c>0)r=l-c;else{r=a;var m=this.$window.innerWidth/c;e.style.transform="scale("+m+")"}e.classList.add("md-datepicker-pos-adjusted")}o+d>s&&s-d>i&&(o=s-d,e.classList.add("md-datepicker-pos-adjusted")),e.style.left=r+"px",e.style.top=o+"px",document.body.appendChild(e),this.inputMask.style.left=t.width+"px",this.$$rAF(function(){e.classList.add("md-pane-open")})},o.prototype.detachCalendarPane=function(){this.$element.removeClass("md-datepicker-open"),this.calendarPane.classList.remove("md-pane-open"),this.calendarPane.classList.remove("md-datepicker-pos-adjusted"),this.calendarPane.parentNode&&this.calendarPane.parentNode.removeChild(this.calendarPane)},o.prototype.openCalendarPane=function(t){if(!this.isCalendarOpen&&!this.isDisabled){this.isCalendarOpen=!0,this.calendarPaneOpenedFrom=t.target,this.$mdUtil.disableScrollAround(this.calendarPane),this.attachCalendarPane(),this.focusCalendar();var n=this;this.$mdUtil.nextTick(function(){n.documentElement.on("click touchstart",n.bodyClickHandler)},!1),e.addEventListener("resize",this.windowResizeHandler)}},o.prototype.closeCalendarPane=function(){this.isCalendarOpen&&(this.isCalendarOpen=!1,this.detachCalendarPane(),this.calendarPaneOpenedFrom.focus(),this.calendarPaneOpenedFrom=null,this.$mdUtil.enableScrolling(),this.documentElement.off("click touchstart",this.bodyClickHandler),e.removeEventListener("resize",this.windowResizeHandler))},o.prototype.getCalendarCtrl=function(){return t.element(this.calendarPane.querySelector("md-calendar")).controller("mdCalendar")},o.prototype.focusCalendar=function(){var e=this;this.$mdUtil.nextTick(function(){e.getCalendarCtrl().focus()},!1)},o.prototype.setFocused=function(e){this.isFocused=e},o.prototype.handleBodyClick=function(e){if(this.isCalendarOpen){var t=this.$mdUtil.getClosest(e.target,"md-calendar");t||this.closeCalendarPane(),this.$scope.$digest()}}}()}(),function(){!function(){t.module("material.components.datepicker").factory("$$mdDateUtil",function(){function e(e){return new Date(e.getFullYear(),e.getMonth(),1)}function n(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function o(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function r(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function i(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()}function a(e,t){return e.getDate()==t.getDate()&&i(e,t)}function d(e,t){var n=o(e);return i(n,t)}function c(e,t){var n=r(e);return i(t,n)}function s(e,t){return b((e.getTime()+t.getTime())/2)}function l(t){var n=e(t);return Math.floor((n.getDay()+t.getDate()-1)/7)}function m(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function u(e,t){var o=new Date(e.getFullYear(),e.getMonth()+t,1),r=n(o);return r=n)&&(!t.isDate(o)||o>=e)}return{getFirstDateOfMonth:e,getNumberOfDaysInMonth:n,getDateInNextMonth:o,getDateInPreviousMonth:r,isInNextMonth:d,isInPreviousMonth:c,getDateMidpoint:s,isSameMonthAndYear:i,getWeekOfMonth:l,incrementDays:m,incrementMonths:u,getLastDateOfMonth:h,isSameDay:a,getMonthDistance:p,isValidDate:f,setDateTimeToMidnight:g,createDateAtMidnight:b,isDateWithinRange:E}})}()}(),function(){function e(e){return{restrict:"E",link:e}}t.module("material.components.divider",["material.core"]).directive("mdDivider",e),e.$inject=["$mdTheming"]}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(e,n){var o=e.children(),r=!1;t.forEach(["","data-","x-"],function(e){r=r||(o.attr(e+"ng-repeat")?!0:!1)}),r?o.addClass("md-fab-action-item"):o.wrap('
    ')}}}t.module("material.components.fabActions",["material.core"]).directive("mdFabActions",e)}()}(),function(){!function(){function e(e,n,o,r,i,a){function d(){_.direction=_.direction||"down",_.isOpen=_.isOpen||!1,l(),n.addClass("md-animations-waiting")}function c(){var o=["click","focusin","focusout"];t.forEach(o,function(e){n.on(e,s)}),e.$on("$destroy",function(){t.forEach(o,function(e){n.off(e,s)}),h()})}function s(e){"click"==e.type&&k(e),"focusout"!=e.type||S||(S=a(function(){_.close()},100,!1)),"focusin"==e.type&&S&&(a.cancel(S),S=null)}function l(){_.currentActionIndex=-1}function m(){e.$watch("vm.direction",function(e,t){ +o.removeClass(n,"md-"+t),o.addClass(n,"md-"+e),l()});var t,r;e.$watch("vm.isOpen",function(e){l(),t&&r||(t=x(),r=N()),e?p():h();var i=e?"md-is-open":"",a=e?"":"md-is-open";t.attr("aria-haspopup",!0),t.attr("aria-expanded",e),r.attr("aria-hidden",!e),o.setClass(n,i,a)})}function u(){n[0].scrollHeight>0?o.addClass(n,"md-animations-ready").then(function(){n.removeClass("md-animations-waiting")}):10>H&&(a(u,100),H+=1)}function p(){n.on("keydown",g),r.nextTick(function(){t.element(document).on("click touchend",f)})}function h(){n.off("keydown",g),t.element(document).off("click touchend",f)}function f(e){if(e.target){var t=r.getClosest(e.target,"md-fab-trigger"),n=r.getClosest(e.target,"md-fab-actions");t||n||_.close()}}function g(e){switch(e.which){case i.KEY_CODE.ESCAPE:return _.close(),e.preventDefault(),!1;case i.KEY_CODE.LEFT_ARROW:return $(e),!1;case i.KEY_CODE.UP_ARROW:return y(e),!1;case i.KEY_CODE.RIGHT_ARROW:return C(e),!1;case i.KEY_CODE.DOWN_ARROW:return A(e),!1}}function b(e){v(e,-1)}function E(e){v(e,1)}function v(e,n){var o=M();_.currentActionIndex=_.currentActionIndex+n,_.currentActionIndex=Math.min(o.length-1,_.currentActionIndex),_.currentActionIndex=Math.max(0,_.currentActionIndex);var r=t.element(o[_.currentActionIndex]).children()[0];t.element(r).attr("tabindex",0),r.focus(),e.preventDefault(),e.stopImmediatePropagation()}function M(){var e=N()[0].querySelectorAll(".md-fab-action-item");return t.forEach(e,function(e){t.element(t.element(e).children()[0]).attr("tabindex",-1)}),e}function $(e){"left"===_.direction?E(e):b(e)}function y(e){"down"===_.direction?b(e):E(e)}function C(e){"left"===_.direction?b(e):E(e)}function A(e){"up"===_.direction?b(e):E(e)}function T(e){return r.getClosest(e,"md-fab-trigger")}function w(e){return r.getClosest(e,"md-fab-actions")}function k(e){T(e.target)&&_.toggle(),w(e.target)&&_.close()}function x(){return n.find("md-fab-trigger")}function N(){return n.find("md-fab-actions")}var _=this;_.open=function(){e.$evalAsync("vm.isOpen = true")},_.close=function(){e.$evalAsync("vm.isOpen = false"),n.find("md-fab-trigger")[0].focus()},_.toggle=function(){e.$evalAsync("vm.isOpen = !vm.isOpen")},d(),c(),m();var H=0;u();var S}t.module("material.components.fabShared",["material.core"]).controller("FabController",e),e.$inject=["$scope","$element","$animate","$mdUtil","$mdConstant","$timeout"]}()}(),function(){!function(){function n(){function e(e,t){t.prepend('
    ')}return{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"FabController",controllerAs:"vm",link:e}}function o(n){function o(e){n(e,i,!1)}function r(n){if(!n.hasClass("md-animations-waiting")||n.hasClass("md-animations-ready")){var o=n[0],r=n.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item"),a=o.querySelector("md-fab-trigger"),d=o.querySelector(".md-css-variables"),c=parseInt(e.getComputedStyle(d).zIndex);t.forEach(i,function(e,t){var n=e.style;n.transform=n.webkitTransform="",n.transitionDelay="",n.opacity=1,n.zIndex=i.length-t+c}),a.style.zIndex=c+i.length+1,r.isOpen||t.forEach(i,function(e,t){var n,o,i=e.style,d=(a.clientHeight-e.clientHeight)/2,c=(a.clientWidth-e.clientWidth)/2;switch(r.direction){case"up":n=e.scrollHeight*(t+1)+d,o="Y";break;case"down":n=-(e.scrollHeight*(t+1)+d),o="Y";break;case"left":n=e.scrollWidth*(t+1)+c,o="X";break;case"right":n=-(e.scrollWidth*(t+1)+c),o="X"}var s="translate"+o+"("+n+"px)";i.transform=i.webkitTransform=s})}}return{addClass:function(e,t,n){e.hasClass("md-fling")?(r(e),o(n)):n()},removeClass:function(e,t,n){r(e),o(n)}}}function r(n){function o(e){n(e,i,!1)}function r(n){var o=n[0],r=n.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item"),d=o.querySelector(".md-css-variables"),c=parseInt(e.getComputedStyle(d).zIndex);t.forEach(i,function(e,t){var n=e.style,o=t*a;n.opacity=r.isOpen?1:0,n.transform=n.webkitTransform=r.isOpen?"scale(1)":"scale(0.1)",n.transitionDelay=(r.isOpen?o:i.length-o)+"ms",n.zIndex=i.length-t+c})}var a=65;return{addClass:function(e,t,n){r(e),o(n)},removeClass:function(e,t,n){r(e),o(n)}}}var i=300;t.module("material.components.fabSpeedDial",["material.core","material.components.fabShared","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabSpeedDial",n).animation(".md-fling",o).animation(".md-scale",r).service("mdFabSpeedDialFlingAnimation",o).service("mdFabSpeedDialScaleAnimation",r),o.$inject=["$timeout"],r.$inject=["$timeout"]}()}(),function(){!function(){function n(){function e(e,t,n){t.addClass("md-fab-toolbar"),t.find("md-fab-trigger").find("button").prepend('
    ')}return{restrict:"E",transclude:!0,template:'
    ',scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"FabController",controllerAs:"vm",link:e}}function o(){function n(n,o,r){if(o){var i=n[0],a=n.controller("mdFabToolbar"),d=i.querySelector(".md-fab-toolbar-background"),c=i.querySelector("md-fab-trigger button"),s=i.querySelector("md-toolbar"),l=i.querySelector("md-fab-trigger button md-icon"),m=n.find("md-fab-actions").children();if(c&&d){var u=e.getComputedStyle(c).getPropertyValue("background-color"),p=i.offsetWidth,h=(i.offsetHeight,2*(p/c.offsetWidth));d.style.backgroundColor=u,d.style.borderRadius=p+"px",a.isOpen?(s.style.pointerEvents="initial",d.style.width=c.offsetWidth+"px",d.style.height=c.offsetHeight+"px",d.style.transform="scale("+h+")",d.style.transitionDelay="0ms",l&&(l.style.transitionDelay=".3s"),t.forEach(m,function(e,t){e.style.transitionDelay=25*(m.length-t)+"ms"})):(s.style.pointerEvents="none",d.style.transform="scale(1)",d.style.top="0",n.hasClass("md-right")&&(d.style.left="0",d.style.right=null),n.hasClass("md-left")&&(d.style.right="0",d.style.left=null),d.style.transitionDelay="200ms",l&&(l.style.transitionDelay="0ms"),t.forEach(m,function(e,t){e.style.transitionDelay=200+25*t+"ms"}))}}}return{addClass:function(e,t,o){n(e,t,o),o()},removeClass:function(e,t,o){n(e,t,o),o()}}}t.module("material.components.fabToolbar",["material.core","material.components.fabShared","material.components.fabTrigger","material.components.fabActions"]).directive("mdFabToolbar",n).animation(".md-fab-toolbar",o).service("mdFabToolbarAnimation",o)}()}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"]}}t.module("material.components.fabTrigger",["material.core"]).directive("mdFabTrigger",e)}()}(),function(){function e(e,o,r,i){function a(n,a,d,c){function s(){for(var e in o.MEDIA)i(e),i.getQuery(o.MEDIA[e]).addListener(C);return i.watchResponsiveAttributes(["md-cols","md-row-height","md-gutter"],d,m)}function l(){c.layoutDelegate=t.noop,A();for(var e in o.MEDIA)i.getQuery(o.MEDIA[e]).removeListener(C)}function m(e){null==e?c.invalidateLayout():i(e)&&c.invalidateLayout()}function u(e){var o=g(),i={tileSpans:b(o),colCount:E(),rowMode:$(),rowHeight:M(),gutter:v()};if(e||!t.equals(i,T)){var d=r(i.colCount,i.tileSpans,o).map(function(e,n){return{grid:{element:a,style:f(i.colCount,n,i.gutter,i.rowMode,i.rowHeight)},tiles:e.map(function(e,r){return{element:t.element(o[r]),style:h(e.position,e.spans,i.colCount,n,i.gutter,i.rowMode,i.rowHeight)}})}}).reflow().performance();n.mdOnLayout({$event:{performance:d}}),T=i}}function p(e){return w+e+k}function h(e,t,n,o,r,i,a){var d=1/n*100,c=(n-1)/n,s=x({share:d,gutterShare:c,gutter:r}),l={left:N({unit:s,offset:e.col,gutter:r}),width:_({unit:s,span:t.col,gutter:r}),paddingTop:"",marginTop:"",top:"",height:""};switch(i){case"fixed":l.top=N({unit:a,offset:e.row,gutter:r}),l.height=_({unit:a,span:t.row,gutter:r});break;case"ratio":var m=d/a,u=x({share:m,gutterShare:c,gutter:r});l.paddingTop=_({unit:u,span:t.row,gutter:r}),l.marginTop=N({unit:u,offset:e.row,gutter:r});break;case"fit":var p=(o-1)/o,m=1/o*100,u=x({share:m,gutterShare:p,gutter:r});l.top=N({unit:u,offset:e.row,gutter:r}),l.height=_({unit:u,span:t.row,gutter:r})}return l}function f(e,t,n,o,r){var i={};switch(o){case"fixed":i.height=_({unit:r,span:t,gutter:n}),i.paddingBottom="";break;case"ratio":var a=1===e?0:(e-1)/e,d=1/e*100,c=d*(1/r),s=x({share:c,gutterShare:a,gutter:n});i.height="",i.paddingBottom=_({unit:s,span:t,gutter:n});break;case"fit":}return i}function g(){return[].filter.call(a.children(),function(e){return"MD-GRID-TILE"==e.tagName&&!e.$$mdDestroyed})}function b(e){return[].map.call(e,function(e){var n=t.element(e).controller("mdGridTile");return{row:parseInt(i.getResponsiveAttribute(n.$attrs,"md-rowspan"),10)||1,col:parseInt(i.getResponsiveAttribute(n.$attrs,"md-colspan"),10)||1}})}function E(){var e=parseInt(i.getResponsiveAttribute(d,"md-cols"),10);if(isNaN(e))throw"md-grid-list: md-cols attribute was not found, or contained a non-numeric value";return e}function v(){return y(i.getResponsiveAttribute(d,"md-gutter")||1)}function M(){var e=i.getResponsiveAttribute(d,"md-row-height");switch($()){case"fixed":return y(e);case"ratio":var t=e.split(":");return parseFloat(t[0])/parseFloat(t[1]);case"fit":return 0}}function $(){var e=i.getResponsiveAttribute(d,"md-row-height");return"fit"==e?"fit":-1!==e.indexOf(":")?"ratio":"fixed"}function y(e){return/\D$/.test(e)?e:e+"px"}a.attr("role","list"),c.layoutDelegate=u;var C=t.bind(c,c.invalidateLayout),A=s();n.$on("$destroy",l);var T,w=e.startSymbol(),k=e.endSymbol(),x=e(p("share")+"% - ("+p("gutter")+" * "+p("gutterShare")+")"),N=e("calc(("+p("unit")+" + "+p("gutter")+") * "+p("offset")+")"),_=e("calc(("+p("unit")+") * "+p("span")+" + ("+p("span")+" - 1) * "+p("gutter")+")")}return{restrict:"E",controller:n,scope:{mdOnLayout:"&"},link:a}}function n(e){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=e.nextTick,this.layoutDelegate=t.noop}function o(e){function n(t,n){var o,a,d,c,s,l;return c=e.time(function(){a=r(t,n)}),o={layoutInfo:function(){return a},map:function(t){return s=e.time(function(){var e=o.layoutInfo();d=t(e.positioning,e.rowCount)}),o},reflow:function(t){return l=e.time(function(){var e=t||i;e(d.grid,d.tiles)}),o},performance:function(){return{tileCount:n.length,layoutTime:c,mapTime:s,reflowTime:l,totalTime:c+s+l}}}}function o(e,t){e.element.css(e.style),t.forEach(function(e){e.element.css(e.style)})}function r(e,t){function n(t,n){if(t.col>e)throw"md-grid-list: Tile at position "+n+" has a colspan ("+t.col+") that exceeds the column count ("+e+")";for(var a=0,l=0;l-a=e?o():(a=s.indexOf(0,d),-1!==a&&-1!==(l=i(a+1))?d=l+1:(a=l=0,o()));return r(a,t.col,t.row),d=a+t.col,{col:a,row:c}}function o(){d=0,c++,r(0,e,-1)}function r(e,t,n){for(var o=e;e+t>o;o++)s[o]=Math.max(s[o]+n,0)}function i(e){var t;for(t=e;tn;n++)t.push(0);return t}var d=0,c=0,s=a();return{positioning:t.map(function(e,t){return{spans:e,position:n(e,t)}}),rowCount:c+Math.max.apply(Math,s)}}var i=o;return n.animateWith=function(e){i=t.isFunction(e)?e:o},n}function r(e){function n(n,o,r,i){o.attr("role","listitem");var a=e.watchResponsiveAttributes(["md-colspan","md-rowspan"],r,t.bind(i,i.invalidateLayout));i.invalidateTiles(),n.$on("$destroy",function(){o[0].$$mdDestroyed=!0,a(),i.invalidateLayout()}),t.isDefined(n.$parent.$index)&&n.$watch(function(){return n.$parent.$index},function(e,t){e!==t&&i.invalidateTiles()})}return{restrict:"E",require:"^mdGridList",template:"
    ",transclude:!0,scope:{},controller:["$attrs",function(e){this.$attrs=e}],link:n}}function i(){return{template:"
    ",transclude:!0}}t.module("material.components.gridList",["material.core"]).directive("mdGridList",e).directive("mdGridTile",r).directive("mdGridTileFooter",i).directive("mdGridTileHeader",i).factory("$mdGridLayout",o),e.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia"],n.$inject=["$mdUtil"],n.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(t.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}},o.$inject=["$mdUtil"],r.$inject=["$mdMedia"]}(),function(){t.module("material.components.icon",["material.core"])}(),function(){function e(e){return{restrict:"E",compile:function(t){return t[0].setAttribute("role","list"),e}}}function n(e,n,o,r){var i=["md-checkbox","md-switch"];return{restrict:"E",controller:"MdListController",compile:function(a,d){function c(){for(var e,t,n=["md-switch","md-checkbox"],o=0;t=n[o];++o)if((e=a.find(t)[0])&&!e.hasAttribute("aria-label")){var r=a.find("p")[0];if(!r)return;e.setAttribute("aria-label","Toggle "+r.textContent)}}function s(e){var n;"div"==e?(n=t.element('
    '),n.append(a.contents()),a.addClass("md-proxy-focus")):(n=t.element('
    '),m(a[0],n[0]),n.children().eq(0).append(a.contents())),a[0].setAttribute("tabindex","-1"),a.append(n)}function l(){if(b&&!p(b)&&b.hasAttribute("ng-click")){e.expect(b,"aria-label");var n=t.element('');m(b,n[0]),b.setAttribute("tabindex","-1"),b.classList.remove("md-secondary"),n.append(b),b=n[0]}b&&(b.hasAttribute("ng-click")||d.ngClick&&u(b))&&(a.addClass("md-with-secondary"),a.append(b))}function m(e,n){var o=["ng-if","ng-click","aria-label","ng-disabled","ui-sref","href","ng-href","ng-attr-ui-sref"];t.forEach(o,function(t){e.hasAttribute(t)&&(n.setAttribute(t,e.getAttribute(t)),e.removeAttribute(t))})}function u(e){return-1!=i.indexOf(e.nodeName.toLowerCase())}function p(e){var t=e.nodeName.toUpperCase();return"MD-BUTTON"==t||"BUTTON"==t}function h(e,a,d,c){function s(e){for(var t=e.attributes,n=0;n0||(i[0].validity||{}).badInput)}function l(){function o(e){return f(),e}function a(){if(l.style.height=l.offsetHeight+"px",i.addClass("md-no-flex"),isNaN(u)){s.style.height="auto",s.scrollTop=0;var e=d();e&&(s.style.height=e+"px")}else{s.setAttribute("rows",1),h||(s.style.minHeight="0",h=i.prop("clientHeight"),s.style.minHeight=null);var t=Math.min(u,Math.round(s.scrollHeight/h));s.setAttribute("rows",t),s.style.height=h*t+"px"}i.removeClass("md-no-flex"),l.style.height="auto"}function d(){var e=s.scrollHeight-s.offsetHeight;return s.offsetHeight+(e>0?e:0)}function c(e){s.scrollTop=0;var t=s.scrollHeight-s.offsetHeight,n=s.offsetHeight+t;s.style.height=n+"px"}if(!t.isDefined(i.attr("md-no-autogrow"))){var s=i[0],l=m.element[0],u=NaN,h=null;s.hasAttribute("rows")&&(u=parseInt(s.getAttribute("rows")));var f=e.debounce(a,1);if(p?(p.$formatters.push(o),p.$viewChangeListeners.push(o)):f(),i.on("keydown input",f),isNaN(u)&&(i.attr("rows","1"),i.on("scroll",c)),t.element(n).on("resize",f),r.$on("$destroy",function(){t.element(n).off("resize",f)}),t.isDefined(i.attr("md-detect-hidden"))){var g=function(){var e=!1;return function(){var t=0===s.offsetHeight;t===!1&&e===!0&&a(),e=t}}();r.$watch(function(){return e.nextTick(g,!1),!0})}}}var m=d[0],u=!!d[1],p=d[1]||e.fakeNgModel(),h=t.isDefined(a.readonly);if(m){if(m.input)throw new Error(" can only have *one* , + + + + + + + + + + + + + + + + + + + + + + + + + +
    DirectiveHowSourceRendered
    ng-bind-htmlAutomatically uses $sanitize
    <div ng-bind-html="snippet">
    </div>
    ng-bind-htmlBypass $sanitize by explicitly trusting the dangerous value +
    <div ng-bind-html="deliberatelyTrustDangerousSnippet()">
    +</div>
    +
    ng-bindAutomatically escapes
    <div ng-bind="snippet">
    </div>
    +
    + + + it('should sanitize the html snippet by default', function() { + expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()). + toBe('

    an html\nclick here\nsnippet

    '); + }); + + it('should inline raw snippet if bound to a trusted value', function() { + expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()). + toBe("

    an html\n" + + "click here\n" + + "snippet

    "); + }); + + it('should escape snippet without any filter', function() { + expect(element(by.css('#bind-default div')).getInnerHtml()). + toBe("<p style=\"color:blue\">an html\n" + + "<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" + + "snippet</p>"); + }); + + it('should update', function() { + element(by.model('snippet')).clear(); + element(by.model('snippet')).sendKeys('new text'); + expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()). + toBe('new text'); + expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()).toBe( + 'new text'); + expect(element(by.css('#bind-default div')).getInnerHtml()).toBe( + "new <b onclick=\"alert(1)\">text</b>"); + }); +
    + + */ +function $SanitizeProvider() { + this.$get = ['$$sanitizeUri', function($$sanitizeUri) { + return function(html) { + var buf = []; + htmlParser(html, htmlSanitizeWriter(buf, function(uri, isImage) { + return !/^unsafe/.test($$sanitizeUri(uri, isImage)); + })); + return buf.join(''); + }; + }]; +} + +function sanitizeText(chars) { + var buf = []; + var writer = htmlSanitizeWriter(buf, angular.noop); + writer.chars(chars); + return buf.join(''); +} + + +// Regular Expressions for parsing tags and attributes +var START_TAG_REGEXP = + /^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/, + END_TAG_REGEXP = /^<\/\s*([\w:-]+)[^>]*>/, + ATTR_REGEXP = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, + BEGIN_TAG_REGEXP = /^/g, + DOCTYPE_REGEXP = /]*?)>/i, + CDATA_REGEXP = //g, + SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, + // Match everything outside of normal chars and " (quote character) + NON_ALPHANUMERIC_REGEXP = /([^\#-~| |!])/g; + + +// Good source of info about elements and attributes +// http://dev.w3.org/html5/spec/Overview.html#semantics +// http://simon.html5.org/html-elements + +// Safe Void Elements - HTML5 +// http://dev.w3.org/html5/spec/Overview.html#void-elements +var voidElements = makeMap("area,br,col,hr,img,wbr"); + +// Elements that you can, intentionally, leave open (and which close themselves) +// http://dev.w3.org/html5/spec/Overview.html#optional-tags +var optionalEndTagBlockElements = makeMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), + optionalEndTagInlineElements = makeMap("rp,rt"), + optionalEndTagElements = angular.extend({}, + optionalEndTagInlineElements, + optionalEndTagBlockElements); + +// Safe Block Elements - HTML5 +var blockElements = angular.extend({}, optionalEndTagBlockElements, makeMap("address,article," + + "aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5," + + "h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")); + +// Inline Elements - HTML5 +var inlineElements = angular.extend({}, optionalEndTagInlineElements, makeMap("a,abbr,acronym,b," + + "bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s," + + "samp,small,span,strike,strong,sub,sup,time,tt,u,var")); + +// SVG Elements +// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Elements +// Note: the elements animate,animateColor,animateMotion,animateTransform,set are intentionally omitted. +// They can potentially allow for arbitrary javascript to be executed. See #11290 +var svgElements = makeMap("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph," + + "hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline," + + "radialGradient,rect,stop,svg,switch,text,title,tspan,use"); + +// Special Elements (can contain anything) +var specialElements = makeMap("script,style"); + +var validElements = angular.extend({}, + voidElements, + blockElements, + inlineElements, + optionalEndTagElements, + svgElements); + +//Attributes that have href and hence need to be sanitized +var uriAttrs = makeMap("background,cite,href,longdesc,src,usemap,xlink:href"); + +var htmlAttrs = makeMap('abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,' + + 'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,' + + 'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,' + + 'scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,' + + 'valign,value,vspace,width'); + +// SVG attributes (without "id" and "name" attributes) +// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Attributes +var svgAttrs = makeMap('accent-height,accumulate,additive,alphabetic,arabic-form,ascent,' + + 'baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,' + + 'cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,' + + 'font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,' + + 'height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,' + + 'marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,' + + 'max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,' + + 'path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,' + + 'requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,' + + 'stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,' + + 'stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,' + + 'stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,' + + 'underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,' + + 'width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,' + + 'xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan', true); + +var validAttrs = angular.extend({}, + uriAttrs, + svgAttrs, + htmlAttrs); + +function makeMap(str, lowercaseKeys) { + var obj = {}, items = str.split(','), i; + for (i = 0; i < items.length; i++) { + obj[lowercaseKeys ? angular.lowercase(items[i]) : items[i]] = true; + } + return obj; +} + + +/** + * @example + * htmlParser(htmlString, { + * start: function(tag, attrs, unary) {}, + * end: function(tag) {}, + * chars: function(text) {}, + * comment: function(text) {} + * }); + * + * @param {string} html string + * @param {object} handler + */ +function htmlParser(html, handler) { + if (typeof html !== 'string') { + if (html === null || typeof html === 'undefined') { + html = ''; + } else { + html = '' + html; + } + } + var index, chars, match, stack = [], last = html, text; + stack.last = function() { return stack[stack.length - 1]; }; + + while (html) { + text = ''; + chars = true; + + // Make sure we're not in a script or style element + if (!stack.last() || !specialElements[stack.last()]) { + + // Comment + if (html.indexOf("", index) === index) { + if (handler.comment) handler.comment(html.substring(4, index)); + html = html.substring(index + 3); + chars = false; + } + // DOCTYPE + } else if (DOCTYPE_REGEXP.test(html)) { + match = html.match(DOCTYPE_REGEXP); + + if (match) { + html = html.replace(match[0], ''); + chars = false; + } + // end tag + } else if (BEGING_END_TAGE_REGEXP.test(html)) { + match = html.match(END_TAG_REGEXP); + + if (match) { + html = html.substring(match[0].length); + match[0].replace(END_TAG_REGEXP, parseEndTag); + chars = false; + } + + // start tag + } else if (BEGIN_TAG_REGEXP.test(html)) { + match = html.match(START_TAG_REGEXP); + + if (match) { + // We only have a valid start-tag if there is a '>'. + if (match[4]) { + html = html.substring(match[0].length); + match[0].replace(START_TAG_REGEXP, parseStartTag); + } + chars = false; + } else { + // no ending tag found --- this piece should be encoded as an entity. + text += '<'; + html = html.substring(1); + } + } + + if (chars) { + index = html.indexOf("<"); + + text += index < 0 ? html : html.substring(0, index); + html = index < 0 ? "" : html.substring(index); + + if (handler.chars) handler.chars(decodeEntities(text)); + } + + } else { + // IE versions 9 and 10 do not understand the regex '[^]', so using a workaround with [\W\w]. + html = html.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*" + stack.last() + "[^>]*>", 'i'), + function(all, text) { + text = text.replace(COMMENT_REGEXP, "$1").replace(CDATA_REGEXP, "$1"); + + if (handler.chars) handler.chars(decodeEntities(text)); + + return ""; + }); + + parseEndTag("", stack.last()); + } + + if (html == last) { + throw $sanitizeMinErr('badparse', "The sanitizer was unable to parse the following block " + + "of html: {0}", html); + } + last = html; + } + + // Clean up any remaining tags + parseEndTag(); + + function parseStartTag(tag, tagName, rest, unary) { + tagName = angular.lowercase(tagName); + if (blockElements[tagName]) { + while (stack.last() && inlineElements[stack.last()]) { + parseEndTag("", stack.last()); + } + } + + if (optionalEndTagElements[tagName] && stack.last() == tagName) { + parseEndTag("", tagName); + } + + unary = voidElements[tagName] || !!unary; + + if (!unary) { + stack.push(tagName); + } + + var attrs = {}; + + rest.replace(ATTR_REGEXP, + function(match, name, doubleQuotedValue, singleQuotedValue, unquotedValue) { + var value = doubleQuotedValue + || singleQuotedValue + || unquotedValue + || ''; + + attrs[name] = decodeEntities(value); + }); + if (handler.start) handler.start(tagName, attrs, unary); + } + + function parseEndTag(tag, tagName) { + var pos = 0, i; + tagName = angular.lowercase(tagName); + if (tagName) { + // Find the closest opened tag of the same type + for (pos = stack.length - 1; pos >= 0; pos--) { + if (stack[pos] == tagName) break; + } + } + + if (pos >= 0) { + // Close all the open elements, up the stack + for (i = stack.length - 1; i >= pos; i--) + if (handler.end) handler.end(stack[i]); + + // Remove the open elements from the stack + stack.length = pos; + } + } +} + +var hiddenPre=document.createElement("pre"); +/** + * decodes all entities into regular string + * @param value + * @returns {string} A string with decoded entities. + */ +function decodeEntities(value) { + if (!value) { return ''; } + + hiddenPre.innerHTML = value.replace(//g, '>'); +} + +/** + * create an HTML/XML writer which writes to buffer + * @param {Array} buf use buf.jain('') to get out sanitized html string + * @returns {object} in the form of { + * start: function(tag, attrs, unary) {}, + * end: function(tag) {}, + * chars: function(text) {}, + * comment: function(text) {} + * } + */ +function htmlSanitizeWriter(buf, uriValidator) { + var ignore = false; + var out = angular.bind(buf, buf.push); + return { + start: function(tag, attrs, unary) { + tag = angular.lowercase(tag); + if (!ignore && specialElements[tag]) { + ignore = tag; + } + if (!ignore && validElements[tag] === true) { + out('<'); + out(tag); + angular.forEach(attrs, function(value, key) { + var lkey=angular.lowercase(key); + var isImage = (tag === 'img' && lkey === 'src') || (lkey === 'background'); + if (validAttrs[lkey] === true && + (uriAttrs[lkey] !== true || uriValidator(value, isImage))) { + out(' '); + out(key); + out('="'); + out(encodeEntities(value)); + out('"'); + } + }); + out(unary ? '/>' : '>'); + } + }, + end: function(tag) { + tag = angular.lowercase(tag); + if (!ignore && validElements[tag] === true) { + out(''); + } + if (tag == ignore) { + ignore = false; + } + }, + chars: function(chars) { + if (!ignore) { + out(encodeEntities(chars)); + } + } + }; +} + + +// define ngSanitize module and register $sanitize service +angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider); + +/* global sanitizeText: false */ + +/** + * @ngdoc filter + * @name linky + * @kind function + * + * @description + * Finds links in text input and turns them into html links. Supports http/https/ftp/mailto and + * plain email address links. + * + * Requires the {@link ngSanitize `ngSanitize`} module to be installed. + * + * @param {string} text Input text. + * @param {string} target Window (_blank|_self|_parent|_top) or named frame to open links in. + * @returns {string} Html-linkified text. + * + * @usage + + * + * @example + + + +
    + Snippet: + + + + + + + + + + + + + + + + + + + + + +
    FilterSourceRendered
    linky filter +
    <div ng-bind-html="snippet | linky">
    </div>
    +
    +
    +
    linky target +
    <div ng-bind-html="snippetWithTarget | linky:'_blank'">
    </div>
    +
    +
    +
    no filter
    <div ng-bind="snippet">
    </div>
    + + + it('should linkify the snippet with urls', function() { + expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()). + toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' + + 'another@somewhere.org, and one more: ftp://127.0.0.1/.'); + expect(element.all(by.css('#linky-filter a')).count()).toEqual(4); + }); + + it('should not linkify snippet without the linky filter', function() { + expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()). + toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' + + 'another@somewhere.org, and one more: ftp://127.0.0.1/.'); + expect(element.all(by.css('#escaped-html a')).count()).toEqual(0); + }); + + it('should update', function() { + element(by.model('snippet')).clear(); + element(by.model('snippet')).sendKeys('new http://link.'); + expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()). + toBe('new http://link.'); + expect(element.all(by.css('#linky-filter a')).count()).toEqual(1); + expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()) + .toBe('new http://link.'); + }); + + it('should work with the target property', function() { + expect(element(by.id('linky-target')). + element(by.binding("snippetWithTarget | linky:'_blank'")).getText()). + toBe('http://angularjs.org/'); + expect(element(by.css('#linky-target a')).getAttribute('target')).toEqual('_blank'); + }); + + + */ +angular.module('ngSanitize').filter('linky', ['$sanitize', function($sanitize) { + var LINKY_URL_REGEXP = + /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i, + MAILTO_REGEXP = /^mailto:/i; + + return function(text, target) { + if (!text) return text; + var match; + var raw = text; + var html = []; + var url; + var i; + while ((match = raw.match(LINKY_URL_REGEXP))) { + // We can not end in these as they are sometimes found at the end of the sentence + url = match[0]; + // if we did not match ftp/http/www/mailto then assume mailto + if (!match[2] && !match[4]) { + url = (match[3] ? 'http://' : 'mailto:') + url; + } + i = match.index; + addText(raw.substr(0, i)); + addLink(url, match[0].replace(MAILTO_REGEXP, '')); + raw = raw.substring(i + match[0].length); + } + addText(raw); + return $sanitize(html.join('')); + + function addText(text) { + if (!text) { + return; + } + html.push(sanitizeText(text)); + } + + function addLink(url, text) { + html.push(''); + addText(text); + html.push(''); + } + }; +}]); + + +})(window, window.angular); diff --git a/platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js b/platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js new file mode 100644 index 0000000..f6b349e --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js @@ -0,0 +1,16 @@ +/* + AngularJS v1.4.7 + (c) 2010-2015 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(n,h,p){'use strict';function E(a){var f=[];r(f,h.noop).chars(a);return f.join("")}function g(a,f){var d={},c=a.split(","),b;for(b=0;b=c;d--)f.end&&f.end(e[d]);e.length=c}}"string"!==typeof a&&(a=null===a||"undefined"===typeof a?"":""+a);var b,k,e=[],m=a,l;for(e.last=function(){return e[e.length-1]};a;){l="";k=!0;if(e.last()&&w[e.last()])a=a.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+e.last()+"[^>]*>","i"),function(a,b){b=b.replace(H,"$1").replace(I,"$1");f.chars&&f.chars(q(b));return""}),c("",e.last());else{if(0===a.indexOf("\x3c!--"))b=a.indexOf("--",4),0<=b&&a.lastIndexOf("--\x3e", +b)===b&&(f.comment&&f.comment(a.substring(4,b)),a=a.substring(b+3),k=!1);else if(x.test(a)){if(b=a.match(x))a=a.replace(b[0],""),k=!1}else if(J.test(a)){if(b=a.match(y))a=a.substring(b[0].length),b[0].replace(y,c),k=!1}else K.test(a)&&((b=a.match(z))?(b[4]&&(a=a.substring(b[0].length),b[0].replace(z,d)),k=!1):(l+="<",a=a.substring(1)));k&&(b=a.indexOf("<"),l+=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b),f.chars&&f.chars(q(l)))}if(a==m)throw L("badparse",a);m=a}c()}function q(a){if(!a)return"";A.innerHTML= +a.replace(//g,">")}function r(a,f){var d=!1,c=h.bind(a,a.push);return{start:function(a,k,e){a=h.lowercase(a);!d&&w[a]&&(d=a);d||!0!==C[a]||(c("<"),c(a),h.forEach(k,function(d,e){var k=h.lowercase(e),g="img"===a&&"src"===k|| +"background"===k;!0!==O[k]||!0===D[k]&&!f(d,g)||(c(" "),c(e),c('="'),c(B(d)),c('"'))}),c(e?"/>":">"))},end:function(a){a=h.lowercase(a);d||!0!==C[a]||(c(""));a==d&&(d=!1)},chars:function(a){d||c(B(a))}}}var L=h.$$minErr("$sanitize"),z=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,y=/^<\/\s*([\w:-]+)[^>]*>/,G=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,K=/^]*?)>/i, +I=/"\u201d\u2019]/i,d=/^mailto:/i;return function(c,b){function k(a){a&&g.push(E(a))}function e(a, +c){g.push("');k(c);g.push("")}if(!c)return c;for(var m,l=c,g=[],n,p;m=l.match(f);)n=m[0],m[2]||m[4]||(n=(m[3]?"http://":"mailto:")+n),p=m.index,k(l.substr(0,p)),e(n,m[0].replace(d,"")),l=l.substring(p+m[0].length);k(l);return a(g.join(""))}}])})(window,window.angular); +//# sourceMappingURL=angular-sanitize.min.js.map diff --git a/platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js.map b/platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js.map new file mode 100644 index 0000000..2f360f4 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/js/angular/angular-sanitize.min.js.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"angular-sanitize.min.js", +"lineCount":15, +"mappings":"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", +"sources":["angular-sanitize.js"], +"names":["window","angular","undefined","sanitizeText","chars","buf","htmlSanitizeWriter","writer","noop","join","makeMap","str","lowercaseKeys","obj","items","split","i","length","lowercase","htmlParser","html","handler","parseStartTag","tag","tagName","rest","unary","blockElements","stack","last","inlineElements","parseEndTag","optionalEndTagElements","voidElements","push","attrs","replace","ATTR_REGEXP","match","name","doubleQuotedValue","singleQuotedValue","unquotedValue","decodeEntities","start","pos","end","index","text","stack.last","specialElements","RegExp","all","COMMENT_REGEXP","CDATA_REGEXP","indexOf","lastIndexOf","comment","substring","DOCTYPE_REGEXP","test","BEGING_END_TAGE_REGEXP","END_TAG_REGEXP","BEGIN_TAG_REGEXP","START_TAG_REGEXP","$sanitizeMinErr","value","hiddenPre","innerHTML","textContent","encodeEntities","SURROGATE_PAIR_REGEXP","hi","charCodeAt","low","NON_ALPHANUMERIC_REGEXP","uriValidator","ignore","out","bind","validElements","forEach","key","lkey","isImage","validAttrs","uriAttrs","$$minErr","optionalEndTagBlockElements","optionalEndTagInlineElements","extend","svgElements","htmlAttrs","svgAttrs","document","createElement","module","provider","$SanitizeProvider","$get","$$sanitizeUri","uri","filter","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","target","addText","addLink","url","isDefined","raw","substr"] +} diff --git a/platforms/android/assets/www/lib/ionic/js/angular/angular-scenario.js b/platforms/android/assets/www/lib/ionic/js/angular/angular-scenario.js new file mode 100644 index 0000000..473f302 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/js/angular/angular-scenario.js @@ -0,0 +1,40324 @@ +/*! + * jQuery JavaScript Library v2.1.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-05-01T17:11Z + */ + +(function( global, factory ) {'use strict'; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper window is present, + // execute the factory and get jQuery + // For environments that do not inherently posses a window with a document + // (such as Node.js), expose a jQuery-making factory as module.exports + // This accentuates the need for the creation of a real window + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +// + +var arr = []; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + + version = "2.1.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; + }, + + isPlainObject: function( obj ) { + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.constructor && + !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { + return false; + } + + // If the function hasn't returned already, we're confident that + // |obj| is a plain object, created by {} or constructed with new Object + return true; + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + // Support: Android < 4.0, iOS < 6 (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call(obj) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + var script, + indirect = eval; + + code = jQuery.trim( code ); + + if ( code ) { + // If the code includes a valid, prologue position + // strict mode pragma, execute code by injecting a + // script tag into the document. + if ( code.indexOf("use strict") === 1 ) { + script = document.createElement("script"); + script.text = code; + document.head.appendChild( script ).parentNode.removeChild( script ); + } else { + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + indirect( code ); + } + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Support: Android<4.1 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v1.10.19 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-04-18 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + characterEncoding + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document (jQuery #6963) + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== strundefined && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, + doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent !== parent.top ) { + // IE11 does not have attachEvent, so all must suffer + if ( parent.addEventListener ) { + parent.addEventListener( "unload", function() { + setDocument(); + }, false ); + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", function() { + setDocument(); + }); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { + div.innerHTML = "
    "; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowclip^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (oldCache = outerCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + outerCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context !== document && context; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is no seed and only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) >= 0 ) !== not; + }); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); +}; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + len = this.length, + ret = [], + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +}); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return typeof rootjQuery.ready !== "undefined" ? + rootjQuery.ready( selector ) : + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.extend({ + dir: function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; + }, + + sibling: function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; + } +}); + +jQuery.fn.extend({ + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter(function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.unique( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.unique( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +}); +var rnotwhite = (/\S+/g); + + + +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend({ + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +}); + +/** + * The ready event handler and self cleanup method + */ +function completed() { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + jQuery.ready(); +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + } else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + } + } + return readyList.promise( obj ); +}; + +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[0], key ) : emptyGet; +}; + + +/** + * Determines whether an object can have data + */ +jQuery.acceptData = function( owner ) { + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + /* jshint -W018 */ + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + +function Data() { + // Support: Android < 4, + // Old WebKit does not have Object.preventExtensions/freeze method, + // return new empty object instead with no [[set]] accessor + Object.defineProperty( this.cache = {}, 0, { + get: function() { + return {}; + } + }); + + this.expando = jQuery.expando + Math.random(); +} + +Data.uid = 1; +Data.accepts = jQuery.acceptData; + +Data.prototype = { + key: function( owner ) { + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return the key for a frozen object. + if ( !Data.accepts( owner ) ) { + return 0; + } + + var descriptor = {}, + // Check if the owner object already has a cache key + unlock = owner[ this.expando ]; + + // If not, create one + if ( !unlock ) { + unlock = Data.uid++; + + // Secure it in a non-enumerable, non-writable property + try { + descriptor[ this.expando ] = { value: unlock }; + Object.defineProperties( owner, descriptor ); + + // Support: Android < 4 + // Fallback to a less secure definition + } catch ( e ) { + descriptor[ this.expando ] = unlock; + jQuery.extend( owner, descriptor ); + } + } + + // Ensure the cache object + if ( !this.cache[ unlock ] ) { + this.cache[ unlock ] = {}; + } + + return unlock; + }, + set: function( owner, data, value ) { + var prop, + // There may be an unlock assigned to this node, + // if there is no entry for this "owner", create one inline + // and set the unlock as though an owner entry had always existed + unlock = this.key( owner ), + cache = this.cache[ unlock ]; + + // Handle: [ owner, key, value ] args + if ( typeof data === "string" ) { + cache[ data ] = value; + + // Handle: [ owner, { properties } ] args + } else { + // Fresh assignments by object are shallow copied + if ( jQuery.isEmptyObject( cache ) ) { + jQuery.extend( this.cache[ unlock ], data ); + // Otherwise, copy the properties one-by-one to the cache object + } else { + for ( prop in data ) { + cache[ prop ] = data[ prop ]; + } + } + } + return cache; + }, + get: function( owner, key ) { + // Either a valid cache is found, or will be created. + // New caches will be created and the unlock returned, + // allowing direct access to the newly created + // empty data object. A valid owner object must be provided. + var cache = this.cache[ this.key( owner ) ]; + + return key === undefined ? + cache : cache[ key ]; + }, + access: function( owner, key, value ) { + var stored; + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ((key && typeof key === "string") && value === undefined) ) { + + stored = this.get( owner, key ); + + return stored !== undefined ? + stored : this.get( owner, jQuery.camelCase(key) ); + } + + // [*]When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, name, camel, + unlock = this.key( owner ), + cache = this.cache[ unlock ]; + + if ( key === undefined ) { + this.cache[ unlock ] = {}; + + } else { + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = key.concat( key.map( jQuery.camelCase ) ); + } else { + camel = jQuery.camelCase( key ); + // Try the string as a key before any manipulation + if ( key in cache ) { + name = [ key, camel ]; + } else { + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + name = camel; + name = name in cache ? + [ name ] : ( name.match( rnotwhite ) || [] ); + } + } + + i = name.length; + while ( i-- ) { + delete cache[ name[ i ] ]; + } + } + }, + hasData: function( owner ) { + return !jQuery.isEmptyObject( + this.cache[ owner[ this.expando ] ] || {} + ); + }, + discard: function( owner ) { + if ( owner[ this.expando ] ) { + delete this.cache[ owner[ this.expando ] ]; + } + } +}; +var data_priv = new Data(); + +var data_user = new Data(); + + + +/* + Implementation Summary + + 1. Enforce API surface and semantic compatibility with 1.9.x branch + 2. Improve the module's maintainability by reducing the storage + paths to a single mechanism. + 3. Use the same single mechanism to support "private" and "user" data. + 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) + 5. Avoid exposing implementation details on user objects (eg. expando properties) + 6. Provide a clear path for implementation upgrade to WeakMap in 2014 +*/ +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /([A-Z])/g; + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + data_user.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend({ + hasData: function( elem ) { + return data_user.hasData( elem ) || data_priv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return data_user.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + data_user.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to data_priv methods, these can be deprecated. + _data: function( elem, name, data ) { + return data_priv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + data_priv.remove( elem, name ); + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = data_user.get( elem ); + + if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + data_priv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + data_user.set( this, key ); + }); + } + + return access( this, function( value ) { + var data, + camelKey = jQuery.camelCase( key ); + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + // Attempt to get data from the cache + // with the key as-is + data = data_user.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to get data from the cache + // with the key camelized + data = data_user.get( elem, camelKey ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, camelKey, undefined ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each(function() { + // First, attempt to store a copy or reference of any + // data that might've been store with a camelCased key. + var data = data_user.get( this, camelKey ); + + // For HTML5 data-* attribute interop, we have to + // store property names with dashes in a camelCase form. + // This might not apply to all properties...* + data_user.set( this, camelKey, value ); + + // *... In the case of properties that might _actually_ + // have dashes, we need to also store a copy of that + // unchanged property. + if ( key.indexOf("-") !== -1 && data !== undefined ) { + data_user.set( this, key, value ); + } + }); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each(function() { + data_user.remove( this, key ); + }); + } +}); + + +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = data_priv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = data_priv.access( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return data_priv.get( elem, key ) || data_priv.access( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + data_priv.remove( elem, [ type + "queue", key ] ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = data_priv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); + }; + +var rcheckableType = (/^(?:checkbox|radio)$/i); + + + +(function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // #11217 - WebKit loses check when the name is after the checked attribute + // Support: Windows Web Apps (WWA) + // `name` and `type` need .setAttribute for WWA + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 + // old WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Make sure textarea (and checkbox) defaultValue is properly cloned + // Support: IE9-IE11+ + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +})(); +var strundefined = typeof undefined; + + + +support.focusinBubbles = "onfocusin" in window; + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = data_priv.get( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = data_priv.hasData( elem ) && data_priv.get( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + data_priv.remove( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && jQuery.acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.disabled !== true || event.type !== "click" ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't + if ( !event.target ) { + event.target = document; + } + + // Support: Safari 6.0+, Chrome < 28 + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + this.focus(); + return false; + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } +}; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + // Support: Android < 4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && e.preventDefault ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && e.stopPropagation ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// Support: Chrome 15+ +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// Create "bubbling" focus and blur events +// Support: Firefox, Chrome, Safari +if ( !support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + data_priv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = data_priv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + data_priv.remove( doc, fix ); + + } else { + data_priv.access( doc, fix, attaches ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); + + +var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + + // Support: IE 9 + option: [ 1, "" ], + + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] + }; + +// Support: IE 9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: 1.x compatibility +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute("type"); + } + + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + data_priv.set( + elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" ) + ); + } +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( data_priv.hasData( src ) ) { + pdataOld = data_priv.access( src ); + pdataCur = data_priv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( data_user.hasData( src ) ) { + udataOld = data_user.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + data_user.set( dest, udataCur ); + } +} + +function getAll( context, tag ) { + var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : + context.querySelectorAll ? context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + +// Support: IE >= 9 +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Support: IE >= 9 + // Fix Cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Fixes #12346 + // Support: Webkit, IE + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; + }, + + cleanData: function( elems ) { + var data, elem, type, key, + special = jQuery.event.special, + i = 0; + + for ( ; (elem = elems[ i ]) !== undefined; i++ ) { + if ( jQuery.acceptData( elem ) ) { + key = elem[ data_priv.expando ]; + + if ( key && (data = data_priv.cache[ key ]) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + if ( data_priv.cache[ key ] ) { + // Discard any remaining `private` data + delete data_priv.cache[ key ]; + } + } + } + // Discard any remaining `user` data + delete data_user.cache[ elem[ data_user.expando ] ]; + } + } +}); + +jQuery.fn.extend({ + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each(function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + }); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + remove: function( selector, keepData /* Internal Use Only */ ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map(function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var arg = arguments[ 0 ]; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + arg = this.parentNode; + + jQuery.cleanData( getAll( this ) ); + + if ( arg ) { + arg.replaceChild( elem, this ); + } + }); + + // Force removal if there was no new content (e.g., from empty arguments) + return arg && (arg.length || arg.nodeType) ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + self.domManip( args, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + // Support: QtWebKit + // jQuery.merge because push.apply(_, arraylike) throws + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } + } + } + + return this; + } +}); + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + + +var iframe, + elemdisplay = {}; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var style, + elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + // getDefaultComputedStyle might be reliably used only on attached element + display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? + + // Use of this method is a temporary fix (more like optmization) until something better comes along, + // since it was removed from specification and supported only in FF + style.display : jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = (iframe || jQuery( " + * + * @param {string=} name A view name. The name should be unique amongst the other views in the + * same state. You can have views of the same name that live in different states. For more + * information, see ui-router's + * [ui-view documentation](http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.directive:ui-view). + */ +IonicModule +.directive('ionNavView', [ + '$state', + '$ionicConfig', +function($state, $ionicConfig) { + // IONIC's fork of Angular UI Router, v0.2.10 + // the navView handles registering views in the history and how to transition between them + return { + restrict: 'E', + terminal: true, + priority: 2000, + transclude: true, + controller: '$ionicNavView', + compile: function(tElement, tAttrs, transclude) { + + // a nav view element is a container for numerous views + tElement.addClass('view-container'); + ionic.DomUtil.cachedAttr(tElement, 'nav-view-transition', $ionicConfig.views.transition()); + + return function($scope, $element, $attr, navViewCtrl) { + var latestLocals; + + // Put in the compiled initial view + transclude($scope, function(clone) { + $element.append(clone); + }); + + var viewData = navViewCtrl.init(); + + // listen for $stateChangeSuccess + $scope.$on('$stateChangeSuccess', function() { + updateView(false); + }); + $scope.$on('$viewContentLoading', function() { + updateView(false); + }); + + // initial load, ready go + updateView(true); + + + function updateView(firstTime) { + // get the current local according to the $state + var viewLocals = $state.$current && $state.$current.locals[viewData.name]; + + // do not update THIS nav-view if its is not the container for the given state + // if the viewLocals are the same as THIS latestLocals, then nothing to do + if (!viewLocals || (!firstTime && viewLocals === latestLocals)) return; + + // update the latestLocals + latestLocals = viewLocals; + viewData.state = viewLocals.$$state; + + // register, update and transition to the new view + navViewCtrl.register(viewLocals); + } + + }; + } + }; +}]); + +IonicModule + +.config(['$provide', function($provide) { + $provide.decorator('ngClickDirective', ['$delegate', function($delegate) { + // drop the default ngClick directive + $delegate.shift(); + return $delegate; + }]); +}]) + +/** + * @private + */ +.factory('$ionicNgClick', ['$parse', function($parse) { + return function(scope, element, clickExpr) { + var clickHandler = angular.isFunction(clickExpr) ? + clickExpr : + $parse(clickExpr); + + element.on('click', function(event) { + scope.$apply(function() { + clickHandler(scope, {$event: (event)}); + }); + }); + + // Hack for iOS Safari's benefit. It goes searching for onclick handlers and is liable to click + // something else nearby. + element.onclick = noop; + }; +}]) + +.directive('ngClick', ['$ionicNgClick', function($ionicNgClick) { + return function(scope, element, attr) { + $ionicNgClick(scope, element, attr.ngClick); + }; +}]) + +.directive('ionStopEvent', function() { + return { + restrict: 'A', + link: function(scope, element, attr) { + element.bind(attr.ionStopEvent, eventStopPropagation); + } + }; +}); +function eventStopPropagation(e) { + e.stopPropagation(); +} + + +/** + * @ngdoc directive + * @name ionPane + * @module ionic + * @restrict E + * + * @description A simple container that fits content, with no side effects. Adds the 'pane' class to the element. + */ +IonicModule +.directive('ionPane', function() { + return { + restrict: 'E', + link: function(scope, element) { + element.addClass('pane'); + } + }; +}); + +/* + * We don't document the ionPopover directive, we instead document + * the $ionicPopover service + */ +IonicModule +.directive('ionPopover', [function() { + return { + restrict: 'E', + transclude: true, + replace: true, + controller: [function() {}], + template: '
    ' + + '
    ' + + '
    ' + }; +}]); + +IonicModule +.directive('ionPopoverView', function() { + return { + restrict: 'E', + compile: function(element) { + element.append(jqLite('
    ')); + element.addClass('popover'); + } + }; +}); + +/** + * @ngdoc directive + * @name ionRadio + * @module ionic + * @restrict E + * @codepen saoBG + * @description + * The radio directive is no different than the HTML radio input, except it's styled differently. + * + * Radio behaves like [AngularJS radio](http://docs.angularjs.org/api/ng/input/input[radio]). + * + * @usage + * ```html + * Choose A + * Choose B + * Choose C + * ``` + * + * @param {string=} name The name of the radio input. + * @param {expression=} value The value of the radio input. + * @param {boolean=} disabled The state of the radio input. + * @param {string=} icon The icon to use when the radio input is selected. + * @param {expression=} ng-value Angular equivalent of the value attribute. + * @param {expression=} ng-model The angular model for the radio input. + * @param {boolean=} ng-disabled Angular equivalent of the disabled attribute. + * @param {expression=} ng-change Triggers given expression when radio input's model changes + */ +IonicModule +.directive('ionRadio', function() { + return { + restrict: 'E', + replace: true, + require: '?ngModel', + transclude: true, + template: + '', + + compile: function(element, attr) { + if (attr.icon) { + var iconElm = element.find('i'); + iconElm.removeClass('ion-checkmark').addClass(attr.icon); + } + + var input = element.find('input'); + forEach({ + 'name': attr.name, + 'value': attr.value, + 'disabled': attr.disabled, + 'ng-value': attr.ngValue, + 'ng-model': attr.ngModel, + 'ng-disabled': attr.ngDisabled, + 'ng-change': attr.ngChange, + 'ng-required': attr.ngRequired, + 'required': attr.required + }, function(value, name) { + if (isDefined(value)) { + input.attr(name, value); + } + }); + + return function(scope, element, attr) { + scope.getValue = function() { + return scope.ngValue || attr.value; + }; + }; + } + }; +}); + + +/** + * @ngdoc directive + * @name ionRefresher + * @module ionic + * @restrict E + * @parent ionic.directive:ionContent, ionic.directive:ionScroll + * @description + * Allows you to add pull-to-refresh to a scrollView. + * + * Place it as the first child of your {@link ionic.directive:ionContent} or + * {@link ionic.directive:ionScroll} element. + * + * When refreshing is complete, $broadcast the 'scroll.refreshComplete' event + * from your controller. + * + * @usage + * + * ```html + * + * + * + * + * + * + * + * ``` + * ```js + * angular.module('testApp', ['ionic']) + * .controller('MyController', function($scope, $http) { + * $scope.items = [1,2,3]; + * $scope.doRefresh = function() { + * $http.get('/new-items') + * .success(function(newItems) { + * $scope.items = newItems; + * }) + * .finally(function() { + * // Stop the ion-refresher from spinning + * $scope.$broadcast('scroll.refreshComplete'); + * }); + * }; + * }); + * ``` + * + * @param {expression=} on-refresh Called when the user pulls down enough and lets go + * of the refresher. + * @param {expression=} on-pulling Called when the user starts to pull down + * on the refresher. + * @param {string=} pulling-text The text to display while the user is pulling down. + * @param {string=} pulling-icon The icon to display while the user is pulling down. + * Default: 'ion-android-arrow-down'. + * @param {string=} spinner The {@link ionic.directive:ionSpinner} icon to display + * after user lets go of the refresher. The SVG {@link ionic.directive:ionSpinner} + * is now the default, replacing rotating font icons. Set to `none` to disable both the + * spinner and the icon. + * @param {string=} refreshing-icon The font icon to display after user lets go of the + * refresher. This is depreicated in favor of the SVG {@link ionic.directive:ionSpinner}. + * @param {boolean=} disable-pulling-rotation Disables the rotation animation of the pulling + * icon when it reaches its activated threshold. To be used with a custom `pulling-icon`. + * + */ +IonicModule +.directive('ionRefresher', [function() { + return { + restrict: 'E', + replace: true, + require: ['?^$ionicScroll', 'ionRefresher'], + controller: '$ionicRefresher', + template: + '', + link: function($scope, $element, $attrs, ctrls) { + + // JS Scrolling uses the scroll controller + var scrollCtrl = ctrls[0], + refresherCtrl = ctrls[1]; + if (!scrollCtrl || scrollCtrl.isNative()) { + // Kick off native scrolling + refresherCtrl.init(); + } else { + $element[0].classList.add('js-scrolling'); + scrollCtrl._setRefresher( + $scope, + $element[0], + refresherCtrl.getRefresherDomMethods() + ); + + $scope.$on('scroll.refreshComplete', function() { + $scope.$evalAsync(function() { + scrollCtrl.scrollView.finishPullToRefresh(); + }); + }); + } + + } + }; +}]); + +/** + * @ngdoc directive + * @name ionScroll + * @module ionic + * @delegate ionic.service:$ionicScrollDelegate + * @codepen mwFuh + * @restrict E + * + * @description + * Creates a scrollable container for all content inside. + * + * @usage + * + * Basic usage: + * + * ```html + * + *
    + *
    + * ``` + * + * Note that it's important to set the height of the scroll box as well as the height of the inner + * content to enable scrolling. This makes it possible to have full control over scrollable areas. + * + * If you'd just like to have a center content scrolling area, use {@link ionic.directive:ionContent} instead. + * + * @param {string=} delegate-handle The handle used to identify this scrollView + * with {@link ionic.service:$ionicScrollDelegate}. + * @param {string=} direction Which way to scroll. 'x' or 'y' or 'xy'. Default 'y'. + * @param {boolean=} locking Whether to lock scrolling in one direction at a time. Useful to set to false when zoomed in or scrolling in two directions. Default true. + * @param {boolean=} paging Whether to scroll with paging. + * @param {expression=} on-refresh Called on pull-to-refresh, triggered by an {@link ionic.directive:ionRefresher}. + * @param {expression=} on-scroll Called whenever the user scrolls. + * @param {boolean=} scrollbar-x Whether to show the horizontal scrollbar. Default true. + * @param {boolean=} scrollbar-y Whether to show the vertical scrollbar. Default true. + * @param {boolean=} zooming Whether to support pinch-to-zoom + * @param {integer=} min-zoom The smallest zoom amount allowed (default is 0.5) + * @param {integer=} max-zoom The largest zoom amount allowed (default is 3) + * @param {boolean=} has-bouncing Whether to allow scrolling to bounce past the edges + * of the content. Defaults to true on iOS, false on Android. + */ +IonicModule +.directive('ionScroll', [ + '$timeout', + '$controller', + '$ionicBind', + '$ionicConfig', +function($timeout, $controller, $ionicBind, $ionicConfig) { + return { + restrict: 'E', + scope: true, + controller: function() {}, + compile: function(element, attr) { + element.addClass('scroll-view ionic-scroll'); + + //We cannot transclude here because it breaks element.data() inheritance on compile + var innerElement = jqLite('
    '); + innerElement.append(element.contents()); + element.append(innerElement); + + var nativeScrolling = attr.overflowScroll !== "false" && (attr.overflowScroll === "true" || !$ionicConfig.scrolling.jsScrolling()); + + return { pre: prelink }; + function prelink($scope, $element, $attr) { + $ionicBind($scope, $attr, { + direction: '@', + paging: '@', + $onScroll: '&onScroll', + scroll: '@', + scrollbarX: '@', + scrollbarY: '@', + zooming: '@', + minZoom: '@', + maxZoom: '@' + }); + $scope.direction = $scope.direction || 'y'; + + if (isDefined($attr.padding)) { + $scope.$watch($attr.padding, function(newVal) { + innerElement.toggleClass('padding', !!newVal); + }); + } + if ($scope.$eval($scope.paging) === true) { + innerElement.addClass('scroll-paging'); + } + + if (!$scope.direction) { $scope.direction = 'y'; } + var isPaging = $scope.$eval($scope.paging) === true; + + if (nativeScrolling) { + $element.addClass('overflow-scroll'); + } + + $element.addClass('scroll-' + $scope.direction); + + var scrollViewOptions = { + el: $element[0], + delegateHandle: $attr.delegateHandle, + locking: ($attr.locking || 'true') === 'true', + bouncing: $scope.$eval($attr.hasBouncing), + paging: isPaging, + scrollbarX: $scope.$eval($scope.scrollbarX) !== false, + scrollbarY: $scope.$eval($scope.scrollbarY) !== false, + scrollingX: $scope.direction.indexOf('x') >= 0, + scrollingY: $scope.direction.indexOf('y') >= 0, + zooming: $scope.$eval($scope.zooming) === true, + maxZoom: $scope.$eval($scope.maxZoom) || 3, + minZoom: $scope.$eval($scope.minZoom) || 0.5, + preventDefault: true, + nativeScrolling: nativeScrolling + }; + + if (isPaging) { + scrollViewOptions.speedMultiplier = 0.8; + scrollViewOptions.bouncing = false; + } + + $controller('$ionicScroll', { + $scope: $scope, + scrollViewOptions: scrollViewOptions + }); + } + } + }; +}]); + +/** + * @ngdoc directive + * @name ionSideMenu + * @module ionic + * @restrict E + * @parent ionic.directive:ionSideMenus + * + * @description + * A container for a side menu, sibling to an {@link ionic.directive:ionSideMenuContent} directive. + * + * @usage + * ```html + * + * + * ``` + * For a complete side menu example, see the + * {@link ionic.directive:ionSideMenus} documentation. + * + * @param {string} side Which side the side menu is currently on. Allowed values: 'left' or 'right'. + * @param {boolean=} is-enabled Whether this side menu is enabled. + * @param {number=} width How many pixels wide the side menu should be. Defaults to 275. + */ +IonicModule +.directive('ionSideMenu', function() { + return { + restrict: 'E', + require: '^ionSideMenus', + scope: true, + compile: function(element, attr) { + angular.isUndefined(attr.isEnabled) && attr.$set('isEnabled', 'true'); + angular.isUndefined(attr.width) && attr.$set('width', '275'); + + element.addClass('menu menu-' + attr.side); + + return function($scope, $element, $attr, sideMenuCtrl) { + $scope.side = $attr.side || 'left'; + + var sideMenu = sideMenuCtrl[$scope.side] = new ionic.views.SideMenu({ + width: attr.width, + el: $element[0], + isEnabled: true + }); + + $scope.$watch($attr.width, function(val) { + var numberVal = +val; + if (numberVal && numberVal == val) { + sideMenu.setWidth(+val); + } + }); + $scope.$watch($attr.isEnabled, function(val) { + sideMenu.setIsEnabled(!!val); + }); + }; + } + }; +}); + + +/** + * @ngdoc directive + * @name ionSideMenuContent + * @module ionic + * @restrict E + * @parent ionic.directive:ionSideMenus + * + * @description + * A container for the main visible content, sibling to one or more + * {@link ionic.directive:ionSideMenu} directives. + * + * @usage + * ```html + * + * + * ``` + * For a complete side menu example, see the + * {@link ionic.directive:ionSideMenus} documentation. + * + * @param {boolean=} drag-content Whether the content can be dragged. Default true. + * @param {boolean|number=} edge-drag-threshold Whether the content drag can only start if it is below a certain threshold distance from the edge of the screen. Default false. Accepts three types of values: + * - If a non-zero number is given, that many pixels is used as the maximum allowed distance from the edge that starts dragging the side menu. + * - If true is given, the default number of pixels (25) is used as the maximum allowed distance. + * - If false or 0 is given, the edge drag threshold is disabled, and dragging from anywhere on the content is allowed. + * + */ +IonicModule +.directive('ionSideMenuContent', [ + '$timeout', + '$ionicGesture', + '$window', +function($timeout, $ionicGesture, $window) { + + return { + restrict: 'EA', //DEPRECATED 'A' + require: '^ionSideMenus', + scope: true, + compile: function(element, attr) { + element.addClass('menu-content pane'); + + return { pre: prelink }; + function prelink($scope, $element, $attr, sideMenuCtrl) { + var startCoord = null; + var primaryScrollAxis = null; + + if (isDefined(attr.dragContent)) { + $scope.$watch(attr.dragContent, function(value) { + sideMenuCtrl.canDragContent(value); + }); + } else { + sideMenuCtrl.canDragContent(true); + } + + if (isDefined(attr.edgeDragThreshold)) { + $scope.$watch(attr.edgeDragThreshold, function(value) { + sideMenuCtrl.edgeDragThreshold(value); + }); + } + + // Listen for taps on the content to close the menu + function onContentTap(gestureEvt) { + if (sideMenuCtrl.getOpenAmount() !== 0) { + sideMenuCtrl.close(); + gestureEvt.gesture.srcEvent.preventDefault(); + startCoord = null; + primaryScrollAxis = null; + } else if (!startCoord) { + startCoord = ionic.tap.pointerCoord(gestureEvt.gesture.srcEvent); + } + } + + function onDragX(e) { + if (!sideMenuCtrl.isDraggableTarget(e)) return; + + if (getPrimaryScrollAxis(e) == 'x') { + sideMenuCtrl._handleDrag(e); + e.gesture.srcEvent.preventDefault(); + } + } + + function onDragY(e) { + if (getPrimaryScrollAxis(e) == 'x') { + e.gesture.srcEvent.preventDefault(); + } + } + + function onDragRelease(e) { + sideMenuCtrl._endDrag(e); + startCoord = null; + primaryScrollAxis = null; + } + + function getPrimaryScrollAxis(gestureEvt) { + // gets whether the user is primarily scrolling on the X or Y + // If a majority of the drag has been on the Y since the start of + // the drag, but the X has moved a little bit, it's still a Y drag + + if (primaryScrollAxis) { + // we already figured out which way they're scrolling + return primaryScrollAxis; + } + + if (gestureEvt && gestureEvt.gesture) { + + if (!startCoord) { + // get the starting point + startCoord = ionic.tap.pointerCoord(gestureEvt.gesture.srcEvent); + + } else { + // we already have a starting point, figure out which direction they're going + var endCoord = ionic.tap.pointerCoord(gestureEvt.gesture.srcEvent); + + var xDistance = Math.abs(endCoord.x - startCoord.x); + var yDistance = Math.abs(endCoord.y - startCoord.y); + + var scrollAxis = (xDistance < yDistance ? 'y' : 'x'); + + if (Math.max(xDistance, yDistance) > 30) { + // ok, we pretty much know which way they're going + // let's lock it in + primaryScrollAxis = scrollAxis; + } + + return scrollAxis; + } + } + return 'y'; + } + + var content = { + element: element[0], + onDrag: function() {}, + endDrag: function() {}, + setCanScroll: function(canScroll) { + var c = $element[0].querySelector('.scroll'); + + if (!c) { + return; + } + + var content = angular.element(c.parentElement); + if (!content) { + return; + } + + // freeze our scroll container if we have one + var scrollScope = content.scope(); + scrollScope.scrollCtrl && scrollScope.scrollCtrl.freezeScrollShut(!canScroll); + }, + getTranslateX: function() { + return $scope.sideMenuContentTranslateX || 0; + }, + setTranslateX: ionic.animationFrameThrottle(function(amount) { + var xTransform = content.offsetX + amount; + $element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(' + xTransform + 'px,0,0)'; + $timeout(function() { + $scope.sideMenuContentTranslateX = amount; + }); + }), + setMarginLeft: ionic.animationFrameThrottle(function(amount) { + if (amount) { + amount = parseInt(amount, 10); + $element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(' + amount + 'px,0,0)'; + $element[0].style.width = ($window.innerWidth - amount) + 'px'; + content.offsetX = amount; + } else { + $element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(0,0,0)'; + $element[0].style.width = ''; + content.offsetX = 0; + } + }), + setMarginRight: ionic.animationFrameThrottle(function(amount) { + if (amount) { + amount = parseInt(amount, 10); + $element[0].style.width = ($window.innerWidth - amount) + 'px'; + content.offsetX = amount; + } else { + $element[0].style.width = ''; + content.offsetX = 0; + } + // reset incase left gets grabby + $element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(0,0,0)'; + }), + setMarginLeftAndRight: ionic.animationFrameThrottle(function(amountLeft, amountRight) { + amountLeft = amountLeft && parseInt(amountLeft, 10) || 0; + amountRight = amountRight && parseInt(amountRight, 10) || 0; + + var amount = amountLeft + amountRight; + + if (amount > 0) { + $element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(' + amountLeft + 'px,0,0)'; + $element[0].style.width = ($window.innerWidth - amount) + 'px'; + content.offsetX = amountLeft; + } else { + $element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(0,0,0)'; + $element[0].style.width = ''; + content.offsetX = 0; + } + // reset incase left gets grabby + //$element[0].style[ionic.CSS.TRANSFORM] = 'translate3d(0,0,0)'; + }), + enableAnimation: function() { + $scope.animationEnabled = true; + $element[0].classList.add('menu-animated'); + }, + disableAnimation: function() { + $scope.animationEnabled = false; + $element[0].classList.remove('menu-animated'); + }, + offsetX: 0 + }; + + sideMenuCtrl.setContent(content); + + // add gesture handlers + var gestureOpts = { stop_browser_behavior: false }; + gestureOpts.prevent_default_directions = ['left', 'right']; + var contentTapGesture = $ionicGesture.on('tap', onContentTap, $element, gestureOpts); + var dragRightGesture = $ionicGesture.on('dragright', onDragX, $element, gestureOpts); + var dragLeftGesture = $ionicGesture.on('dragleft', onDragX, $element, gestureOpts); + var dragUpGesture = $ionicGesture.on('dragup', onDragY, $element, gestureOpts); + var dragDownGesture = $ionicGesture.on('dragdown', onDragY, $element, gestureOpts); + var releaseGesture = $ionicGesture.on('release', onDragRelease, $element, gestureOpts); + + // Cleanup + $scope.$on('$destroy', function() { + if (content) { + content.element = null; + content = null; + } + $ionicGesture.off(dragLeftGesture, 'dragleft', onDragX); + $ionicGesture.off(dragRightGesture, 'dragright', onDragX); + $ionicGesture.off(dragUpGesture, 'dragup', onDragY); + $ionicGesture.off(dragDownGesture, 'dragdown', onDragY); + $ionicGesture.off(releaseGesture, 'release', onDragRelease); + $ionicGesture.off(contentTapGesture, 'tap', onContentTap); + }); + } + } + }; +}]); + +IonicModule + +/** + * @ngdoc directive + * @name ionSideMenus + * @module ionic + * @delegate ionic.service:$ionicSideMenuDelegate + * @restrict E + * + * @description + * A container element for side menu(s) and the main content. Allows the left and/or right side menu + * to be toggled by dragging the main content area side to side. + * + * To automatically close an opened menu, you can add the {@link ionic.directive:menuClose} attribute + * directive. The `menu-close` attribute is usually added to links and buttons within + * `ion-side-menu-content`, so that when the element is clicked, the opened side menu will + * automatically close. + * + * "Burger Icon" toggles can be added to the header with the {@link ionic.directive:menuToggle} + * attribute directive. Clicking the toggle will open and close the side menu like the `menu-close` + * directive. The side menu will automatically hide on child pages, but can be overridden with the + * enable-menu-with-back-views attribute mentioned below. + * + * By default, side menus are hidden underneath their side menu content and can be opened by swiping + * the content left or right or by toggling a button to show the side menu. Additionally, by adding the + * {@link ionic.directive:exposeAsideWhen} attribute directive to an + * {@link ionic.directive:ionSideMenu} element directive, a side menu can be given instructions about + * "when" the menu should be exposed (always viewable). + * + * ![Side Menu](http://ionicframework.com.s3.amazonaws.com/docs/controllers/sidemenu.gif) + * + * For more information on side menus, check out: + * + * - {@link ionic.directive:ionSideMenuContent} + * - {@link ionic.directive:ionSideMenu} + * - {@link ionic.directive:menuToggle} + * - {@link ionic.directive:menuClose} + * - {@link ionic.directive:exposeAsideWhen} + * + * @usage + * To use side menus, add an `` parent element. This will encompass all pages that have a + * side menu, and have at least 2 child elements: 1 `` for the center content, + * and one or more `` directives for each side menu(left/right) that you wish to place. + * + * ```html + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * ``` + * ```js + * function ContentController($scope, $ionicSideMenuDelegate) { + * $scope.toggleLeft = function() { + * $ionicSideMenuDelegate.toggleLeft(); + * }; + * } + * ``` + * + * @param {bool=} enable-menu-with-back-views Determines whether the side menu is enabled when the + * back button is showing. When set to `false`, any {@link ionic.directive:menuToggle} will be hidden, + * and the user cannot swipe to open the menu. When going back to the root page of the side menu (the + * page without a back button visible), then any menuToggle buttons will show again, and menus will be + * enabled again. + * @param {string=} delegate-handle The handle used to identify this side menu + * with {@link ionic.service:$ionicSideMenuDelegate}. + * + */ +.directive('ionSideMenus', ['$ionicBody', function($ionicBody) { + return { + restrict: 'ECA', + controller: '$ionicSideMenus', + compile: function(element, attr) { + attr.$set('class', (attr['class'] || '') + ' view'); + + return { pre: prelink }; + function prelink($scope, $element, $attrs, ctrl) { + + ctrl.enableMenuWithBackViews($scope.$eval($attrs.enableMenuWithBackViews)); + + $scope.$on('$ionicExposeAside', function(evt, isAsideExposed) { + if (!$scope.$exposeAside) $scope.$exposeAside = {}; + $scope.$exposeAside.active = isAsideExposed; + $ionicBody.enableClass(isAsideExposed, 'aside-open'); + }); + + $scope.$on('$ionicView.beforeEnter', function(ev, d) { + if (d.historyId) { + $scope.$activeHistoryId = d.historyId; + } + }); + + $scope.$on('$destroy', function() { + $ionicBody.removeClass('menu-open', 'aside-open'); + }); + + } + } + }; +}]); + + +/** + * @ngdoc directive + * @name ionSlideBox + * @module ionic + * @deprecated will be removed in the next Ionic release in favor of the new ion-slides component. + * Don't depend on the internal behavior of this widget. + * @delegate ionic.service:$ionicSlideBoxDelegate + * @restrict E + * @description + * The Slide Box is a multi-page container where each page can be swiped or dragged between: + * + * ![SlideBox](http://ionicframework.com.s3.amazonaws.com/docs/controllers/slideBox.gif) + * + * @usage + * ```html + * + * + *

    BLUE

    + *
    + * + *

    YELLOW

    + *
    + * + *

    PINK

    + *
    + *
    + * ``` + * + * @param {string=} delegate-handle The handle used to identify this slideBox + * with {@link ionic.service:$ionicSlideBoxDelegate}. + * @param {boolean=} does-continue Whether the slide box should loop. + * @param {boolean=} auto-play Whether the slide box should automatically slide. Default true if does-continue is true. + * @param {number=} slide-interval How many milliseconds to wait to change slides (if does-continue is true). Defaults to 4000. + * @param {boolean=} show-pager Whether a pager should be shown for this slide box. Accepts expressions via `show-pager="{{shouldShow()}}"`. Defaults to true. + * @param {expression=} pager-click Expression to call when a pager is clicked (if show-pager is true). Is passed the 'index' variable. + * @param {expression=} on-slide-changed Expression called whenever the slide is changed. Is passed an '$index' variable. + * @param {expression=} active-slide Model to bind the current slide index to. + */ +IonicModule +.directive('ionSlideBox', [ + '$animate', + '$timeout', + '$compile', + '$ionicSlideBoxDelegate', + '$ionicHistory', + '$ionicScrollDelegate', +function($animate, $timeout, $compile, $ionicSlideBoxDelegate, $ionicHistory, $ionicScrollDelegate) { + return { + restrict: 'E', + replace: true, + transclude: true, + scope: { + autoPlay: '=', + doesContinue: '@', + slideInterval: '@', + showPager: '@', + pagerClick: '&', + disableScroll: '@', + onSlideChanged: '&', + activeSlide: '=?', + bounce: '@' + }, + controller: ['$scope', '$element', '$attrs', function($scope, $element, $attrs) { + var _this = this; + + var continuous = $scope.$eval($scope.doesContinue) === true; + var bouncing = ($scope.$eval($scope.bounce) !== false); //Default to true + var shouldAutoPlay = isDefined($attrs.autoPlay) ? !!$scope.autoPlay : false; + var slideInterval = shouldAutoPlay ? $scope.$eval($scope.slideInterval) || 4000 : 0; + + var slider = new ionic.views.Slider({ + el: $element[0], + auto: slideInterval, + continuous: continuous, + startSlide: $scope.activeSlide, + bouncing: bouncing, + slidesChanged: function() { + $scope.currentSlide = slider.currentIndex(); + + // Try to trigger a digest + $timeout(function() {}); + }, + callback: function(slideIndex) { + $scope.currentSlide = slideIndex; + $scope.onSlideChanged({ index: $scope.currentSlide, $index: $scope.currentSlide}); + $scope.$parent.$broadcast('slideBox.slideChanged', slideIndex); + $scope.activeSlide = slideIndex; + // Try to trigger a digest + $timeout(function() {}); + }, + onDrag: function() { + freezeAllScrolls(true); + }, + onDragEnd: function() { + freezeAllScrolls(false); + } + }); + + function freezeAllScrolls(shouldFreeze) { + if (shouldFreeze && !_this.isScrollFreeze) { + $ionicScrollDelegate.freezeAllScrolls(shouldFreeze); + + } else if (!shouldFreeze && _this.isScrollFreeze) { + $ionicScrollDelegate.freezeAllScrolls(false); + } + _this.isScrollFreeze = shouldFreeze; + } + + slider.enableSlide($scope.$eval($attrs.disableScroll) !== true); + + $scope.$watch('activeSlide', function(nv) { + if (isDefined(nv)) { + slider.slide(nv); + } + }); + + $scope.$on('slideBox.nextSlide', function() { + slider.next(); + }); + + $scope.$on('slideBox.prevSlide', function() { + slider.prev(); + }); + + $scope.$on('slideBox.setSlide', function(e, index) { + slider.slide(index); + }); + + //Exposed for testing + this.__slider = slider; + + var deregisterInstance = $ionicSlideBoxDelegate._registerInstance( + slider, $attrs.delegateHandle, function() { + return $ionicHistory.isActiveScope($scope); + } + ); + $scope.$on('$destroy', function() { + deregisterInstance(); + slider.kill(); + }); + + this.slidesCount = function() { + return slider.slidesCount(); + }; + + this.onPagerClick = function(index) { + $scope.pagerClick({index: index}); + }; + + $timeout(function() { + slider.load(); + }); + }], + template: '
    ' + + '
    ' + + '
    ' + + '
    ', + + link: function($scope, $element, $attr) { + // Disable ngAnimate for slidebox and its children + $animate.enabled(false, $element); + + // if showPager is undefined, show the pager + if (!isDefined($attr.showPager)) { + $scope.showPager = true; + getPager().toggleClass('hide', !true); + } + + $attr.$observe('showPager', function(show) { + if (show === undefined) return; + show = $scope.$eval(show); + getPager().toggleClass('hide', !show); + }); + + var pager; + function getPager() { + if (!pager) { + var childScope = $scope.$new(); + pager = jqLite(''); + $element.append(pager); + pager = $compile(pager)(childScope); + } + return pager; + } + } + }; +}]) +.directive('ionSlide', function() { + return { + restrict: 'E', + require: '?^ionSlideBox', + compile: function(element) { + element.addClass('slider-slide'); + } + }; +}) + +.directive('ionPager', function() { + return { + restrict: 'E', + replace: true, + require: '^ionSlideBox', + template: '
    ', + link: function($scope, $element, $attr, slideBox) { + var selectPage = function(index) { + var children = $element[0].children; + var length = children.length; + for (var i = 0; i < length; i++) { + if (i == index) { + children[i].classList.add('active'); + } else { + children[i].classList.remove('active'); + } + } + }; + + $scope.pagerClick = function(index) { + slideBox.onPagerClick(index); + }; + + $scope.numSlides = function() { + return new Array(slideBox.slidesCount()); + }; + + $scope.$watch('currentSlide', function(v) { + selectPage(v); + }); + } + }; + +}); + + +/** + * @ngdoc directive + * @name ionSlides + * @module ionic + * @delegate ionic.service:$ionicSlideBoxDelegate + * @restrict E + * @description + * The Slides component is a powerful multi-page container where each page can be swiped or dragged between. + * + * Note: this is a new version of the Ionic Slide Box based on the [Swiper](http://www.idangero.us/swiper/#.Vmc1J-ODFBc) widget from + * [idangerous](http://www.idangero.us/). + * + * ![SlideBox](http://ionicframework.com.s3.amazonaws.com/docs/controllers/slideBox.gif) + * + * @usage + * ```html + * + * + *

    BLUE

    + *
    + * + *

    YELLOW

    + *
    + * + *

    PINK

    + *
    + *
    + * ``` + * + * @param {string=} delegate-handle The handle used to identify this slideBox + * with {@link ionic.service:$ionicSlideBoxDelegate}. + * @param {object=} options to pass to the widget. See the full ist here: [http://www.idangero.us/swiper/api/](http://www.idangero.us/swiper/api/) + */ +IonicModule +.directive('ionSlides', [ + '$animate', + '$timeout', + '$compile', +function($animate, $timeout, $compile) { + return { + restrict: 'E', + transclude: true, + scope: { + options: '=', + slider: '=' + }, + template: '
    ' + + '
    ' + + '
    ' + + '
    ' + + '
    ', + controller: ['$scope', '$element', function($scope, $element) { + var _this = this; + + this.update = function() { + $timeout(function() { + if (!_this.__slider) { + return; + } + + _this.__slider.update(); + if (_this._options.loop) { + _this.__slider.createLoop(); + } + + // Don't allow pager to show with > 10 slides + if (_this.__slider.slides.length > 10) { + $scope.showPager = false; + } + }); + }; + + this.rapidUpdate = ionic.debounce(function() { + _this.update(); + }, 50); + + this.getSlider = function() { + return _this.__slider; + }; + + var options = $scope.options || {}; + + var newOptions = angular.extend({ + pagination: '.swiper-pagination', + paginationClickable: true, + lazyLoading: true, + preloadImages: false + }, options); + + this._options = newOptions; + + $timeout(function() { + var slider = new ionic.views.Swiper($element.children()[0], newOptions, $scope, $compile); + + _this.__slider = slider; + $scope.slider = _this.__slider; + + $scope.$on('$destroy', function() { + slider.destroy(); + }); + }); + + }], + + + link: function($scope) { + $scope.showPager = true; + // Disable ngAnimate for slidebox and its children + //$animate.enabled(false, $element); + } + }; +}]) +.directive('ionSlidePage', [function() { + return { + restrict: 'E', + require: '?^ionSlides', + transclude: true, + replace: true, + template: '
    ', + link: function($scope, $element, $attr, ionSlidesCtrl) { + ionSlidesCtrl.rapidUpdate(); + } + }; +}]); + +/** +* @ngdoc directive +* @name ionSpinner +* @module ionic +* @restrict E + * + * @description + * The `ionSpinner` directive provides a variety of animated spinners. + * Spinners enables you to give your users feedback that the app is + * processing/thinking/waiting/chillin' out, or whatever you'd like it to indicate. + * By default, the {@link ionic.directive:ionRefresher} feature uses this spinner, rather + * than rotating font icons (previously included in [ionicons](http://ionicons.com/)). + * While font icons are great for simple or stationary graphics, they're not suited to + * provide great animations, which is why Ionic uses SVG instead. + * + * Ionic offers ten spinners out of the box, and by default, it will use the appropriate spinner + * for the platform on which it's running. Under the hood, the `ionSpinner` directive dynamically + * builds the required SVG element, which allows Ionic to provide all ten of the animated SVGs + * within 3KB. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    + * android + * + * + *
    + * ios + * + * + *
    + * ios-small + * + * + *
    + * bubbles + * + * + *
    + * circles + * + * + *
    + * crescent + * + * + *
    + * dots + * + * + *
    + * lines + * + * + *
    + * ripple + * + * + *
    + * spiral + * + * + *
    + * + * Each spinner uses SVG with SMIL animations, however, the Android spinner also uses JavaScript + * so it also works on Android 4.0-4.3. Additionally, each spinner can be styled with CSS, + * and scaled to any size. + * + * + * @usage + * The following code would use the default spinner for the platform it's running from. If it's neither + * iOS or Android, it'll default to use `ios`. + * + * ```html + * + * ``` + * + * By setting the `icon` attribute, you can specify which spinner to use, no matter what + * the platform is. + * + * ```html + * + * ``` + * + * ## Spinner Colors + * Like with most of Ionic's other components, spinners can also be styled using + * Ionic's standard color naming convention. For example: + * + * ```html + * + * ``` + * + * + * ## Styling SVG with CSS + * One cool thing about SVG is its ability to be styled with CSS! Some of the properties + * have different names, for example, SVG uses the term `stroke` instead of `border`, and + * `fill` instead of `background-color`. + * + * ```css + * .spinner svg { + * width: 28px; + * height: 28px; + * stroke: #444; + * fill: #444; + * } + * ``` + * +*/ +IonicModule +.directive('ionSpinner', function() { + return { + restrict: 'E', + controller: '$ionicSpinner', + link: function($scope, $element, $attrs, ctrl) { + var spinnerName = ctrl.init(); + $element.addClass('spinner spinner-' + spinnerName); + + $element.on('$destroy', function onDestroy() { + ctrl.stop(); + }); + } + }; +}); + +/** + * @ngdoc directive + * @name ionTab + * @module ionic + * @restrict E + * @parent ionic.directive:ionTabs + * + * @description + * Contains a tab's content. The content only exists while the given tab is selected. + * + * Each ionTab has its own view history. + * + * @usage + * ```html + * + * + * ``` + * For a complete, working tab bar example, see the {@link ionic.directive:ionTabs} documentation. + * + * @param {string} title The title of the tab. + * @param {string=} href The link that this tab will navigate to when tapped. + * @param {string=} icon The icon of the tab. If given, this will become the default for icon-on and icon-off. + * @param {string=} icon-on The icon of the tab while it is selected. + * @param {string=} icon-off The icon of the tab while it is not selected. + * @param {expression=} badge The badge to put on this tab (usually a number). + * @param {expression=} badge-style The style of badge to put on this tab (eg: badge-positive). + * @param {expression=} on-select Called when this tab is selected. + * @param {expression=} on-deselect Called when this tab is deselected. + * @param {expression=} ng-click By default, the tab will be selected on click. If ngClick is set, it will not. You can explicitly switch tabs using {@link ionic.service:$ionicTabsDelegate#select $ionicTabsDelegate.select()}. + * @param {expression=} hidden Whether the tab is to be hidden or not. + * @param {expression=} disabled Whether the tab is to be disabled or not. + */ +IonicModule +.directive('ionTab', [ + '$compile', + '$ionicConfig', + '$ionicBind', + '$ionicViewSwitcher', +function($compile, $ionicConfig, $ionicBind, $ionicViewSwitcher) { + + //Returns ' key="value"' if value exists + function attrStr(k, v) { + return isDefined(v) ? ' ' + k + '="' + v + '"' : ''; + } + return { + restrict: 'E', + require: ['^ionTabs', 'ionTab'], + controller: '$ionicTab', + scope: true, + compile: function(element, attr) { + + //We create the tabNavTemplate in the compile phase so that the + //attributes we pass down won't be interpolated yet - we want + //to pass down the 'raw' versions of the attributes + var tabNavTemplate = ''; + + //Remove the contents of the element so we can compile them later, if tab is selected + var tabContentEle = document.createElement('div'); + for (var x = 0; x < element[0].children.length; x++) { + tabContentEle.appendChild(element[0].children[x].cloneNode(true)); + } + var childElementCount = tabContentEle.childElementCount; + element.empty(); + + var navViewName, isNavView; + if (childElementCount) { + if (tabContentEle.children[0].tagName === 'ION-NAV-VIEW') { + // get the name if it's a nav-view + navViewName = tabContentEle.children[0].getAttribute('name'); + tabContentEle.children[0].classList.add('view-container'); + isNavView = true; + } + if (childElementCount === 1) { + // make the 1 child element the primary tab content container + tabContentEle = tabContentEle.children[0]; + } + if (!isNavView) tabContentEle.classList.add('pane'); + tabContentEle.classList.add('tab-content'); + } + + return function link($scope, $element, $attr, ctrls) { + var childScope; + var childElement; + var tabsCtrl = ctrls[0]; + var tabCtrl = ctrls[1]; + var isTabContentAttached = false; + $scope.$tabSelected = false; + + $ionicBind($scope, $attr, { + onSelect: '&', + onDeselect: '&', + title: '@', + uiSref: '@', + href: '@' + }); + + tabsCtrl.add($scope); + $scope.$on('$destroy', function() { + if (!$scope.$tabsDestroy) { + // if the containing ionTabs directive is being destroyed + // then don't bother going through the controllers remove + // method, since remove will reset the active tab as each tab + // is being destroyed, causing unnecessary view loads and transitions + tabsCtrl.remove($scope); + } + tabNavElement.isolateScope().$destroy(); + tabNavElement.remove(); + tabNavElement = tabContentEle = childElement = null; + }); + + //Remove title attribute so browser-tooltip does not apear + $element[0].removeAttribute('title'); + + if (navViewName) { + tabCtrl.navViewName = $scope.navViewName = navViewName; + } + $scope.$on('$stateChangeSuccess', selectIfMatchesState); + selectIfMatchesState(); + function selectIfMatchesState() { + if (tabCtrl.tabMatchesState()) { + tabsCtrl.select($scope, false); + } + } + + var tabNavElement = jqLite(tabNavTemplate); + tabNavElement.data('$ionTabsController', tabsCtrl); + tabNavElement.data('$ionTabController', tabCtrl); + tabsCtrl.$tabsElement.append($compile(tabNavElement)($scope)); + + + function tabSelected(isSelected) { + if (isSelected && childElementCount) { + // this tab is being selected + + // check if the tab is already in the DOM + // only do this if the tab has child elements + if (!isTabContentAttached) { + // tab should be selected and is NOT in the DOM + // create a new scope and append it + childScope = $scope.$new(); + childElement = jqLite(tabContentEle); + $ionicViewSwitcher.viewEleIsActive(childElement, true); + tabsCtrl.$element.append(childElement); + $compile(childElement)(childScope); + isTabContentAttached = true; + } + + // remove the hide class so the tabs content shows up + $ionicViewSwitcher.viewEleIsActive(childElement, true); + + } else if (isTabContentAttached && childElement) { + // this tab should NOT be selected, and it is already in the DOM + + if ($ionicConfig.views.maxCache() > 0) { + // keep the tabs in the DOM, only css hide it + $ionicViewSwitcher.viewEleIsActive(childElement, false); + + } else { + // do not keep tabs in the DOM + destroyTab(); + } + + } + } + + function destroyTab() { + childScope && childScope.$destroy(); + isTabContentAttached && childElement && childElement.remove(); + tabContentEle.innerHTML = ''; + isTabContentAttached = childScope = childElement = null; + } + + $scope.$watch('$tabSelected', tabSelected); + + $scope.$on('$ionicView.afterEnter', function() { + $ionicViewSwitcher.viewEleIsActive(childElement, $scope.$tabSelected); + }); + + $scope.$on('$ionicView.clearCache', function() { + if (!$scope.$tabSelected) { + destroyTab(); + } + }); + + }; + } + }; +}]); + +IonicModule +.directive('ionTabNav', [function() { + return { + restrict: 'E', + replace: true, + require: ['^ionTabs', '^ionTab'], + template: + '' + + '{{badge}}' + + '' + + '' + + '' + + '', + scope: { + title: '@', + icon: '@', + iconOn: '@', + iconOff: '@', + badge: '=', + hidden: '@', + disabled: '&', + badgeStyle: '@', + 'class': '@' + }, + link: function($scope, $element, $attrs, ctrls) { + var tabsCtrl = ctrls[0], + tabCtrl = ctrls[1]; + + //Remove title attribute so browser-tooltip does not apear + $element[0].removeAttribute('title'); + + $scope.selectTab = function(e) { + e.preventDefault(); + tabsCtrl.select(tabCtrl.$scope, true); + }; + if (!$attrs.ngClick) { + $element.on('click', function(event) { + $scope.$apply(function() { + $scope.selectTab(event); + }); + }); + } + + $scope.isHidden = function() { + if ($attrs.hidden === 'true' || $attrs.hidden === true) return true; + return false; + }; + + $scope.getIconOn = function() { + return $scope.iconOn || $scope.icon; + }; + $scope.getIconOff = function() { + return $scope.iconOff || $scope.icon; + }; + + $scope.isTabActive = function() { + return tabsCtrl.selectedTab() === tabCtrl.$scope; + }; + } + }; +}]); + +/** + * @ngdoc directive + * @name ionTabs + * @module ionic + * @delegate ionic.service:$ionicTabsDelegate + * @restrict E + * @codepen odqCz + * + * @description + * Powers a multi-tabbed interface with a Tab Bar and a set of "pages" that can be tabbed + * through. + * + * Assign any [tabs class](/docs/components#tabs) to the element to define + * its look and feel. + * + * For iOS, tabs will appear at the bottom of the screen. For Android, tabs will be at the top + * of the screen, below the nav-bar. This follows each OS's design specification, but can be + * configured with the {@link ionic.provider:$ionicConfigProvider}. + * + * See the {@link ionic.directive:ionTab} directive's documentation for more details on + * individual tabs. + * + * Note: do not place ion-tabs inside of an ion-content element; it has been known to cause a + * certain CSS bug. + * + * @usage + * ```html + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * ``` + * + * @param {string=} delegate-handle The handle used to identify these tabs + * with {@link ionic.service:$ionicTabsDelegate}. + */ + +IonicModule +.directive('ionTabs', [ + '$ionicTabsDelegate', + '$ionicConfig', +function($ionicTabsDelegate, $ionicConfig) { + return { + restrict: 'E', + scope: true, + controller: '$ionicTabs', + compile: function(tElement) { + //We cannot use regular transclude here because it breaks element.data() + //inheritance on compile + var innerElement = jqLite('
    '); + innerElement.append(tElement.contents()); + + tElement.append(innerElement) + .addClass('tabs-' + $ionicConfig.tabs.position() + ' tabs-' + $ionicConfig.tabs.style()); + + return { pre: prelink, post: postLink }; + function prelink($scope, $element, $attr, tabsCtrl) { + var deregisterInstance = $ionicTabsDelegate._registerInstance( + tabsCtrl, $attr.delegateHandle, tabsCtrl.hasActiveScope + ); + + tabsCtrl.$scope = $scope; + tabsCtrl.$element = $element; + tabsCtrl.$tabsElement = jqLite($element[0].querySelector('.tabs')); + + $scope.$watch(function() { return $element[0].className; }, function(value) { + var isTabsTop = value.indexOf('tabs-top') !== -1; + var isHidden = value.indexOf('tabs-item-hide') !== -1; + $scope.$hasTabs = !isTabsTop && !isHidden; + $scope.$hasTabsTop = isTabsTop && !isHidden; + $scope.$emit('$ionicTabs.top', $scope.$hasTabsTop); + }); + + function emitLifecycleEvent(ev, data) { + ev.stopPropagation(); + var previousSelectedTab = tabsCtrl.previousSelectedTab(); + if (previousSelectedTab) { + previousSelectedTab.$broadcast(ev.name.replace('NavView', 'Tabs'), data); + } + } + + $scope.$on('$ionicNavView.beforeLeave', emitLifecycleEvent); + $scope.$on('$ionicNavView.afterLeave', emitLifecycleEvent); + $scope.$on('$ionicNavView.leave', emitLifecycleEvent); + + $scope.$on('$destroy', function() { + // variable to inform child tabs that they're all being blown away + // used so that while destorying an individual tab, each one + // doesn't select the next tab as the active one, which causes unnecessary + // loading of tab views when each will eventually all go away anyway + $scope.$tabsDestroy = true; + deregisterInstance(); + tabsCtrl.$tabsElement = tabsCtrl.$element = tabsCtrl.$scope = innerElement = null; + delete $scope.$hasTabs; + delete $scope.$hasTabsTop; + }); + } + + function postLink($scope, $element, $attr, tabsCtrl) { + if (!tabsCtrl.selectedTab()) { + // all the tabs have been added + // but one hasn't been selected yet + tabsCtrl.select(0); + } + } + } + }; +}]); + +/** +* @ngdoc directive +* @name ionTitle +* @module ionic +* @restrict E +* +* Used for titles in header and nav bars. New in 1.2 +* +* Identical to
    but with future compatibility for Ionic 2 +* +* @usage +* +* ```html +* +* Hello +* +* ``` +*/ +IonicModule +.directive('ionTitle', [function() { + return { + restrict: 'E', + compile: function(element) { + element.addClass('title'); + } + }; +}]); + +/** + * @ngdoc directive + * @name ionToggle + * @module ionic + * @codepen tfAzj + * @restrict E + * + * @description + * A toggle is an animated switch which binds a given model to a boolean. + * + * Allows dragging of the switch's nub. + * + * The toggle behaves like any [AngularJS checkbox](http://docs.angularjs.org/api/ng/input/input[checkbox]) otherwise. + * + * @param toggle-class {string=} Sets the CSS class on the inner `label.toggle` element created by the directive. + * + * @usage + * Below is an example of a toggle directive which is wired up to the `airplaneMode` model + * and has the `toggle-calm` CSS class assigned to the inner element. + * + * ```html + * Airplane Mode + * ``` + */ +IonicModule +.directive('ionToggle', [ + '$timeout', + '$ionicConfig', +function($timeout, $ionicConfig) { + + return { + restrict: 'E', + replace: true, + require: '?ngModel', + transclude: true, + template: + '
    ' + + '
    ' + + '' + + '
    ', + + compile: function(element, attr) { + var input = element.find('input'); + forEach({ + 'name': attr.name, + 'ng-value': attr.ngValue, + 'ng-model': attr.ngModel, + 'ng-checked': attr.ngChecked, + 'ng-disabled': attr.ngDisabled, + 'ng-true-value': attr.ngTrueValue, + 'ng-false-value': attr.ngFalseValue, + 'ng-change': attr.ngChange, + 'ng-required': attr.ngRequired, + 'required': attr.required + }, function(value, name) { + if (isDefined(value)) { + input.attr(name, value); + } + }); + + if (attr.toggleClass) { + element[0].getElementsByTagName('label')[0].classList.add(attr.toggleClass); + } + + element.addClass('toggle-' + $ionicConfig.form.toggle()); + + return function($scope, $element) { + var el = $element[0].getElementsByTagName('label')[0]; + var checkbox = el.children[0]; + var track = el.children[1]; + var handle = track.children[0]; + + var ngModelController = jqLite(checkbox).controller('ngModel'); + + $scope.toggle = new ionic.views.Toggle({ + el: el, + track: track, + checkbox: checkbox, + handle: handle, + onChange: function() { + if (ngModelController) { + ngModelController.$setViewValue(checkbox.checked); + $scope.$apply(); + } + } + }); + + $scope.$on('$destroy', function() { + $scope.toggle.destroy(); + }); + }; + } + + }; +}]); + +/** + * @ngdoc directive + * @name ionView + * @module ionic + * @restrict E + * @parent ionNavView + * + * @description + * A container for view content and any navigational and header bar information. When a view + * enters and exits its parent {@link ionic.directive:ionNavView}, the view also emits view + * information, such as its title, whether the back button should be displayed or not, whether the + * corresponding {@link ionic.directive:ionNavBar} should be displayed or not, which transition the view + * should use to animate, and which direction to animate. + * + * *Views are cached to improve performance.* When a view is navigated away from, its element is + * left in the DOM, and its scope is disconnected from the `$watch` cycle. When navigating to a + * view that is already cached, its scope is reconnected, and the existing element, which was + * left in the DOM, becomes active again. This can be disabled, or the maximum number of cached + * views changed in {@link ionic.provider:$ionicConfigProvider}, in the view's `$state` configuration, or + * as an attribute on the view itself (see below). + * + * @usage + * Below is an example where our page will load with a {@link ionic.directive:ionNavBar} containing + * "My Page" as the title. + * + * ```html + * + * + * + * + * Hello! + * + * + * + * ``` + * + * ## View LifeCycle and Events + * + * Views can be cached, which means ***controllers normally only load once***, which may + * affect your controller logic. To know when a view has entered or left, events + * have been added that are emitted from the view's scope. These events also + * contain data about the view, such as the title and whether the back button should + * show. Also contained is transition data, such as the transition type and + * direction that will be or was used. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    $ionicView.loadedThe view has loaded. This event only happens once per + * view being created and added to the DOM. If a view leaves but is cached, + * then this event will not fire again on a subsequent viewing. The loaded event + * is good place to put your setup code for the view; however, it is not the + * recommended event to listen to when a view becomes active.
    $ionicView.enterThe view has fully entered and is now the active view. + * This event will fire, whether it was the first load or a cached view.
    $ionicView.leaveThe view has finished leaving and is no longer the + * active view. This event will fire, whether it is cached or destroyed.
    $ionicView.beforeEnterThe view is about to enter and become the active view.
    $ionicView.beforeLeaveThe view is about to leave and no longer be the active view.
    $ionicView.afterEnterThe view has fully entered and is now the active view.
    $ionicView.afterLeaveThe view has finished leaving and is no longer the active view.
    $ionicView.unloadedThe view's controller has been destroyed and its element has been + * removed from the DOM.
    + * + * ## Caching + * + * Caching can be disabled and enabled in multiple ways. By default, Ionic will + * cache a maximum of 10 views. You can optionally choose to disable caching at + * either an individual view basis, or by global configuration. Please see the + * _Caching_ section in {@link ionic.directive:ionNavView} for more info. + * + * @param {string=} view-title A text-only title to display on the parent {@link ionic.directive:ionNavBar}. + * For an HTML title, such as an image, see {@link ionic.directive:ionNavTitle} instead. + * @param {boolean=} cache-view If this view should be allowed to be cached or not. + * Please see the _Caching_ section in {@link ionic.directive:ionNavView} for + * more info. Default `true` + * @param {boolean=} can-swipe-back If this view should be allowed to use the swipe to go back gesture or not. + * This does not enable the swipe to go back feature if it is not available for the platform it's running + * from, or there isn't a previous view. Default `true` + * @param {boolean=} hide-back-button Whether to hide the back button on the parent + * {@link ionic.directive:ionNavBar} by default. + * @param {boolean=} hide-nav-bar Whether to hide the parent + * {@link ionic.directive:ionNavBar} by default. + */ +IonicModule +.directive('ionView', function() { + return { + restrict: 'EA', + priority: 1000, + controller: '$ionicView', + compile: function(tElement) { + tElement.addClass('pane'); + tElement[0].removeAttribute('title'); + return function link($scope, $element, $attrs, viewCtrl) { + viewCtrl.init(); + }; + } + }; +}); + +})(); \ No newline at end of file diff --git a/platforms/android/assets/www/lib/ionic/js/ionic-angular.min.js b/platforms/android/assets/www/lib/ionic/js/ionic-angular.min.js new file mode 100644 index 0000000..c913df7 --- /dev/null +++ b/platforms/android/assets/www/lib/ionic/js/ionic-angular.min.js @@ -0,0 +1,18 @@ +/*! + * Copyright 2015 Drifty Co. + * http://drifty.com/ + * + * Ionic, v1.2.4 + * A powerful HTML5 mobile app framework. + * http://ionicframework.com/ + * + * By @maxlynch, @benjsperry, @adamdbradley <3 + * + * Licensed under the MIT license. Please see LICENSE for more information. + * + */ + +!function(){function e(e,t,n,i,o,r){function a(i,a,c,s,u){function d(){N.resizeRequiresRefresh(w.__clientWidth,w.__clientHeight)&&g()}function f(){var e;return e={dataLength:0,width:0,height:0,resizeRequiresRefresh:function(t,n){var i=e.dataLength&&t&&n&&(t!==e.width||n!==e.height);return e.width=t,e.height=n,!!i},dataChangeRequiresRefresh:function(t){var n=t.length>0||t.length'),w.options.scrollingX&&e.addClass("horizontal"),e.append(n),w.__content.appendChild(e[0])}return e}function v(){L?m(L,A):A.computed=!0,R?m(R,E):E.computed=!0}function g(){var e=P.length>0;if(e&&(A.computed||E.computed)&&$(),e&&A.computed){if(A.value=V.height,!A.value)throw new Error('collection-repeat tried to compute the height of repeated elements "'+k+'", but was unable to. Please provide the "item-height" attribute. http://ionicframework.com/docs/api/directive/collectionRepeat/')}else!A.dynamic&&A.getValue&&(A.value=A.getValue());if(e&&E.computed){if(E.value=V.width,!E.value)throw new Error('collection-repeat tried to compute the width of repeated elements "'+k+'", but was unable to. Please provide the "item-width" attribute. http://ionicframework.com/docs/api/directive/collectionRepeat/')}else!E.dynamic&&E.getValue&&(E.value=E.getValue());h().refreshLayout()}function m(e,n){if(e){var i;try{i=t(e)}catch(o){e.trim().match(/\d+(px|%)$/)&&(e='"'+e+'"'),i=t(e)}var r=e.replace(/(\'|\"|px|%)/g,"").trim(),a=r.length&&!/([a-zA-Z]|\$|:|\?)/.test(r);if(n.attrValue=e,a)if(e.indexOf("%")>-1){var c=parseFloat(i())/100;n.getValue=n===A?function(){return Math.floor(c*w.__clientHeight)}:function(){return Math.floor(c*w.__clientWidth)}}else n.value=parseInt(i());else n.dynamic=!0,n.getValue=n===A?function(e,t){var n=i(e,t);return n.charAt&&"%"===n.charAt(n.length-1)?Math.floor(parseFloat(n)/100*w.__clientHeight):parseInt(n)}:function(e,t){var n=i(e,t);return n.charAt&&"%"===n.charAt(n.length-1)?Math.floor(parseFloat(n)/100*w.__clientWidth):parseInt(n)}}}function $(){O||u(H=i.$new(),function(e){e[0].removeAttribute("collection-repeat"),O=e[0]}),H[B]=(x(i)||[])[0],o.$$phase||H.$digest(),S.appendChild(O);var e=n.getComputedStyle(O);V.width=parseInt(e.width),V.height=parseInt(e.height),S.removeChild(O)}var w=s.scrollView,b=a[0],S=angular.element('
    ')[0];if(b.parentNode.replaceChild(S,b),w.options.scrollingX&&w.options.scrollingY)throw new Error("collection-repeat expected a parent x or y scrollView, not an xy scrollView.");var k=c.collectionRepeat,C=k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!C)throw new Error("collection-repeat expected expression in form of '_item_ in _collection_[ track by _id_]' but got '"+c.collectionRepeat+"'.");var T,B=C[1],I=C[2],x=t(I),A={},E={},V={},P=[],_=c.itemRenderBuffer||c.collectionBufferSize,D=angular.isDefined(_)?parseInt(_):y,L=c.itemHeight||c.collectionItemHeight,R=c.itemWidth||c.collectionItemWidth,M=p(),N=f();v(),s.$element.on("scroll-resize",g),angular.element(n).on("resize",d);var z=o.$on("$ionicExposeAside",ionic.animationFrameThrottle(function(){s.scrollView.resize(),d()}));r(g,0,!1),i.$watchCollection(x,function(e){if(P=e||(e=[]),!angular.isArray(e))throw new Error("collection-repeat expected an array for '"+I+"', but got a "+typeof value);i.$$postDigest(function(){h().setData(P),N.dataChangeRequiresRefresh(P)&&g()})}),i.$on("$destroy",function(){angular.element(n).off("resize",d),z(),s.$element&&s.$element.off("scroll-resize",g),O&&O.parentNode&&O.parentNode.removeChild(O),H&&H.$destroy(),H=O=null,T&&T.destroy(),T=null});var O,H}return{restrict:"A",priority:1e3,transclude:"element",$$tlb:!0,require:"^^$ionicScroll",link:a}}function t(e,t,n){var i={primaryPos:0,secondaryPos:0,primarySize:0,secondarySize:0,rowPrimarySize:0};return function(o){function r(){return a(!0)}function a(t){if(!a.destroyed){var n,o,r,l,u,d=ee.getScrollValue(),f=d+ee.scrollPrimarySize;ee.updateRenderRange(d,f),F=Math.max(0,F-T),W=Math.min(A.length-1,W+T);for(n in Z)(F>n||n>W)&&(r=Z[n],delete Z[n],G.push(r),r.isShown=!1);for(n=F;W>=n;n++)n>=A.length||Z[n]&&!t||(r=Z[n]||(Z[n]=G.length?G.pop():j.length?j.shift():new s),K.push(r),r.isShown=!0,u=r.scope,u.$index=n,u[C]=A[n],u.$first=0===n,u.$last=n===A.length-1,u.$middle=!(u.$first||u.$last),u.$odd=!(u.$even=0===(1&n)),u.$$disconnected&&ionic.Utils.reconnectScope(r.scope),l=ee.getDimensions(n),(r.secondaryPos!==l.secondaryPos||r.primaryPos!==l.primaryPos)&&(r.node.style[ionic.CSS.TRANSFORM]=O.replace(N,r.primaryPos=l.primaryPos).replace(z,r.secondaryPos=l.secondaryPos)),(r.secondarySize!==l.secondarySize||r.primarySize!==l.primarySize)&&(r.node.style.cssText=r.node.style.cssText.replace(b,H.replace(N,(r.primarySize=l.primarySize)+1).replace(z,r.secondarySize=l.secondarySize))));for(W===A.length-1&&(l=ee.getDimensions(A.length-1)||i,m.style[ionic.CSS.TRANSFORM]=O.replace(N,l.primaryPos+l.primarySize).replace(z,0));G.length;)r=G.pop(),r.scope.$broadcast("$collectionRepeatLeave"),ionic.Utils.disconnectScope(r.scope),j.push(r),r.node.style[ionic.CSS.TRANSFORM]="translate3d(-9999px,-9999px,0)",r.primaryPos=r.secondaryPos=null;if(y)for(n=0,o=K.length;o>n&&(r=K[n]);n++)if(r.images)for(var h,p=0,v=r.images.length;v>p&&(h=r.images[p]);p++){var g=h.src;h.src=w,h.src=g}if(t)for(var $=e.$$phase;K.length;)r=K.pop(),$||r.scope.$digest();else c()}}function c(){var t;c.running||(c.running=!0,n(function(){for(var n=e.$$phase;K.length;)t=K.pop(),t.isShown&&(n||t.scope.$digest());c.running=!1}))}function s(){var e=this;this.scope=B.$new(),this.id="item"+J++,x(this.scope,function(t){e.element=t,e.element.data("$$collectionRepeatItem",e),e.node=t[0],e.node.style[ionic.CSS.TRANSFORM]="translate3d(-9999px,-9999px,0)",e.node.style.cssText+=" height: 0px; width: 0px;",ionic.Utils.disconnectScope(e.scope),$.appendChild(e.node),e.images=t[0].getElementsByTagName("img")})}function l(){this.getItemPrimarySize=P,this.getItemSecondarySize=D,this.getScrollValue=function(){return Math.max(0,Math.min(I.__scrollTop-q,I.__maxScrollTop-q-U))},this.refreshDirection=function(){this.scrollPrimarySize=I.__clientHeight,this.scrollSecondarySize=I.__clientWidth,this.estimatedPrimarySize=v,this.estimatedSecondarySize=g,this.estimatedItemsAcross=R&&Math.floor(I.__clientWidth/g)||1}}function u(){this.getItemPrimarySize=D,this.getItemSecondarySize=P,this.getScrollValue=function(){return Math.max(0,Math.min(I.__scrollLeft-q,I.__maxScrollLeft-q-U))},this.refreshDirection=function(){this.scrollPrimarySize=I.__clientWidth,this.scrollSecondarySize=I.__clientHeight,this.estimatedPrimarySize=g,this.estimatedSecondarySize=v,this.estimatedItemsAcross=R&&Math.floor(I.__clientHeight/v)||1}}function d(){this.getEstimatedSecondaryPos=function(e){return e%this.estimatedItemsAcross*this.estimatedSecondarySize},this.getEstimatedPrimaryPos=function(e){return Math.floor(e/this.estimatedItemsAcross)*this.estimatedPrimarySize},this.getEstimatedIndex=function(e){return Math.floor(e/this.estimatedPrimarySize)*this.estimatedItemsAcross}}function f(){this.getEstimatedSecondaryPos=function(){return 0},this.getEstimatedPrimaryPos=function(e){return e*this.estimatedPrimarySize},this.getEstimatedIndex=function(e){return Math.floor(e/this.estimatedPrimarySize)}}function h(){this.getContentSize=function(){return this.getEstimatedPrimaryPos(A.length-1)+this.estimatedPrimarySize+q+U};var e={};this.getDimensions=function(t){return e.primaryPos=this.getEstimatedPrimaryPos(t),e.secondaryPos=this.getEstimatedSecondaryPos(t),e.primarySize=this.estimatedPrimarySize,e.secondarySize=this.estimatedSecondarySize,e},this.updateRenderRange=function(e,t){F=Math.max(0,this.getEstimatedIndex(e)),W=Math.min(A.length-1,this.getEstimatedIndex(t)+this.estimatedItemsAcross-1),Y=Math.max(0,this.getEstimatedPrimaryPos(F)),X=this.getEstimatedPrimaryPos(W)+this.estimatedPrimarySize}}function p(){function e(e){var t,r,a;for(t=Math.max(0,n);e>=t&&(a=c[t]);t++)r=c[t-1]||i,a.primarySize=o.getItemPrimarySize(t,A[t]),a.secondarySize=o.scrollSecondarySize,a.primaryPos=r.primaryPos+r.primarySize,a.secondaryPos=0}function t(e){var t,r,a;for(t=Math.max(n,0);e>=t&&(a=c[t]);t++)r=c[t-1]||i,a.secondarySize=Math.min(o.getItemSecondarySize(t,A[t]),o.scrollSecondarySize),a.secondaryPos=r.secondaryPos+r.secondarySize,0===t||a.secondaryPos+a.secondarySize>o.scrollSecondarySize?(a.secondaryPos=0,a.primarySize=o.getItemPrimarySize(t,A[t]),a.primaryPos=r.primaryPos+r.rowPrimarySize,a.rowStartIndex=t,a.rowPrimarySize=a.primarySize):(a.primarySize=o.getItemPrimarySize(t,A[t]),a.primaryPos=r.primaryPos,a.rowStartIndex=r.rowStartIndex,c[a.rowStartIndex].rowPrimarySize=a.rowPrimarySize=Math.max(c[a.rowStartIndex].rowPrimarySize,a.primarySize),a.rowPrimarySize=Math.max(a.primarySize,a.rowPrimarySize))}var n,o=this,r=ionic.debounce(Q,25,!0),a=R?t:e,c=[];this.getContentSize=function(){var e=c[n]||i;return(e.primaryPos+e.primarySize||0)+this.getEstimatedPrimaryPos(A.length-n-1)+q+U},this.onDestroy=function(){c.length=0},this.onRefreshData=function(){var e,t;for(e=c.length,t=A.length;t>e;e++)c.push({});n=-1},this.onRefreshLayout=function(){n=-1},this.getDimensions=function(e){return e=Math.min(e,A.length-1),e>n&&(e>.9*A.length?(a(A.length-1),n=A.length-1,Q()):(a(e),n=e,r())),c[e]};var s=-1,l=-1;this.updateRenderRange=function(e,t){var n,i,o;if(this.getDimensions(2*this.getEstimatedIndex(t)),-1===s||0===e)n=0;else if(e>=l)for(n=s,i=A.length;i>n&&!((o=this.getDimensions(n))&&o.primaryPos+o.rowPrimarySize>=e);n++);else for(n=s;n>=0;n--)if((o=this.getDimensions(n))&&o.primaryPos<=e){n=R?o.rowStartIndex:n;break}F=Math.min(Math.max(0,n),A.length-1),Y=-1!==F?this.getDimensions(F).primaryPos:-1;var r;for(n=F+1,i=A.length;i>n;n++)if((o=this.getDimensions(n))&&o.primaryPos+o.rowPrimarySize>t){if(R)for(r=o;i-1>n&&(o=this.getDimensions(n+1)).primaryPos===r.primaryPos;)n++;break}W=Math.min(n,A.length-1),X=-1!==W?(o=this.getDimensions(W)).primaryPos+(o.rowPrimarySize||o.primarySize):-1,l=e,s=F}}var v,g,m=o.afterItemsNode,$=o.containerNode,y=o.forceRefreshImages,S=o.heightData,k=o.widthData,C=o.keyExpression,T=o.renderBuffer,B=o.scope,I=o.scrollView,x=o.transclude,A=[],E={},V=S.getValue||function(){return S.value},P=function(e,t){return E[C]=t,E.$index=e,V(B,E)},_=k.getValue||function(){return k.value},D=function(e,t){return E[C]=t,E.$index=e,_(B,E)},L=!!I.options.scrollingY,R=L?k.dynamic||k.value!==I.__clientWidth:S.dynamic||S.value!==I.__clientHeight,M=!S.dynamic&&!k.dynamic,N="PRIMARY",z="SECONDARY",O=L?"translate3d(SECONDARYpx,PRIMARYpx,0)":"translate3d(PRIMARYpx,SECONDARYpx,0)",H=L?"height: PRIMARYpx; width: SECONDARYpx;":"height: SECONDARYpx; width: PRIMARYpx;",q=0,U=0,F=-1,W=-1,X=-1,Y=-1,j=[],G=[],K=[],Z={},J=0,Q=L?function(){I.setDimensions(null,null,null,ee.getContentSize(),!0)}:function(){I.setDimensions(null,null,ee.getContentSize(),null,!0)},ee=L?new l:new u;(R?d:f).call(ee),(M?h:p).call(ee);var te=L?"getContentHeight":"getContentWidth",ne=I.options[te];I.options[te]=angular.bind(ee,ee.getContentSize),I.__$callback=I.__callback,I.__callback=function(e,t,n,i){var o=ee.getScrollValue();(-1===F||o+ee.scrollPrimarySize>X||Y>o)&&a(),I.__$callback(e,t,n,i)};var ie=!1,oe=!1;this.refreshLayout=function(){A.length?(v=P(0,A[0]),g=D(0,A[0])):(v=100,g=100);var e=getComputedStyle(m)||{},n=m.firstElementChild&&getComputedStyle(m.firstElementChild)||{},i=m.lastElementChild&&getComputedStyle(m.lastElementChild)||{};U=(parseInt(e[L?"height":"width"])||0)+(n&&parseInt(n[L?"marginTop":"marginLeft"])||0)+(i&&parseInt(i[L?"marginBottom":"marginRight"])||0),q=0;var o=$;do q+=o[L?"offsetTop":"offsetLeft"];while(ionic.DomUtil.contains(I.__content,o=o.offsetParent));var a=$.previousElementSibling,c=a?t.getComputedStyle(a):{},l=parseInt(c[L?"marginBottom":"marginRight"]||0);if($.style[ionic.CSS.TRANSFORM]=O.replace(N,-l).replace(z,0),q-=l,I.__clientHeight&&I.__clientWidth||(I.__clientWidth=I.__container.clientWidth,I.__clientHeight=I.__container.clientHeight),(ee.onRefreshLayout||angular.noop)(),ee.refreshDirection(),Q(),!ie)for(var u=Math.max(20,3*T),d=0;u>d;d++)j.push(new s);ie=!0,ie&&oe&&((I.__scrollLeft>I.__maxScrollLeft||I.__scrollTop>I.__maxScrollTop)&&I.resize(),r(!0))},this.setData=function(e){A=e,(ee.onRefreshData||angular.noop)(),oe=!0},this.destroy=function(){a.destroyed=!0,j.forEach(function(e){e.scope.$destroy(),e.scope=e.element=e.node=e.images=null}),j.length=K.length=G.length=0,Z={},I.options[te]=ne,I.__callback=I.__$callback,I.resize(),(ee.onDestroy||angular.noop)()}}}function n(e){return["$ionicGesture","$parse",function(t,n){var i=e.substr(2).toLowerCase();return function(o,r,a){var c=n(a[e]),s=function(e){o.$apply(function(){c(o,{$event:e})})},l=t.on(i,s,r);o.$on("$destroy",function(){t.off(l,i,s)})}}]}function i(e){return["$document","$timeout",function(t,n){return{restrict:"E",controller:"$ionicHeaderBar",compile:function(i){function o(t,n,i,o){e?(t.$watch(function(){return n[0].className},function(e){var n=-1===e.indexOf("ng-hide"),i=-1!==e.indexOf("bar-subheader");t.$hasHeader=n&&!i,t.$hasSubheader=n&&i,t.$emit("$ionicSubheader",t.$hasSubheader)}),t.$on("$destroy",function(){delete t.$hasHeader,delete t.$hasSubheader}),o.align(),t.$on("$ionicHeader.align",function(){ionic.requestAnimationFrame(function(){o.align()})})):(t.$watch(function(){return n[0].className},function(e){var n=-1===e.indexOf("ng-hide"),i=-1!==e.indexOf("bar-subfooter");t.$hasFooter=n&&!i,t.$hasSubfooter=n&&i}),t.$on("$destroy",function(){delete t.$hasFooter,delete t.$hasSubfooter}),t.$watch("$hasTabs",function(e){n.toggleClass("has-tabs",!!e)}),o.align(),t.$on("$ionicFooter.align",function(){ionic.requestAnimationFrame(function(){o.align()})}))}return i.addClass(e?"bar bar-header":"bar bar-footer"),n(function(){e&&t[0].getElementsByClassName("tabs-top").length&&i.addClass("has-tabs-top")}),{pre:o}}}}]}function o(e){return e.clientHeight}function r(e){e.stopPropagation()}var a=angular.module("ionic",["ngAnimate","ngSanitize","ui.router","ngIOS9UIWebViewPatch"]),c=angular.extend,s=angular.forEach,l=angular.isDefined,u=angular.isNumber,d=angular.isString,f=angular.element,h=angular.noop;a.factory("$ionicActionSheet",["$rootScope","$compile","$animate","$timeout","$ionicTemplateLoader","$ionicPlatform","$ionicBody","IONIC_BACK_PRIORITY",function(e,t,n,i,o,r,a,s){function l(o){function l(e){e&&/icon/.test(e)&&(u.$actionSheetHasIcon=!0)}var u=e.$new(!0);c(u,{cancel:h,destructiveButtonClicked:h,buttonClicked:h,$deregisterBackButton:h,buttons:[],cancelOnStateChange:!0},o||{});for(var d=0;d')(u),v=f(p[0].querySelector(".action-sheet-wrapper")),g=u.cancelOnStateChange?e.$on("$stateChangeSuccess",function(){u.cancel()}):h;return u.removeSheet=function(e){u.removed||(u.removed=!0,v.removeClass("action-sheet-up"),i(function(){a.removeClass("action-sheet-open")},400),u.$deregisterBackButton(),g(),n.removeClass(p,"active").then(function(){u.$destroy(),p.remove(),u.cancel.$scope=v=null,(e||h)(o.buttons)}))},u.showSheet=function(e){u.removed||(a.append(p).addClass("action-sheet-open"),n.addClass(p,"active").then(function(){u.removed||(e||h)()}),i(function(){u.removed||v.addClass("action-sheet-up")},20,!1))},u.$deregisterBackButton=r.registerBackButtonAction(function(){i(u.cancel)},s.actionSheet),u.cancel=function(){u.removeSheet(o.cancel)},u.buttonClicked=function(e){o.buttonClicked(e,o.buttons[e])===!0&&u.removeSheet()},u.destructiveButtonClicked=function(){o.destructiveButtonClicked()===!0&&u.removeSheet()},u.showSheet(),u.cancel.$scope=u,u.cancel}return{show:l}}]),f.prototype.addClass=function(e){var t,n,i,o,r,a;if(e&&"ng-scope"!=e&&"ng-isolate-scope"!=e)for(t=0;t=1&&c.addClass("active")}))}function r(){1===s&&(c.removeClass("active"),i.$broadcast("backdrop.hidden"),t(function(){0===s&&c.removeClass("visible")},400,!1)),s=Math.max(0,s-1)}function a(){return c}var c=f('
    '),s=0;return e[0].body.appendChild(c[0]),{retain:o,release:r,getElement:a,_element:c}}]),a.factory("$ionicBind",["$parse","$interpolate",function(e,t){var n=/^\s*([@=&])(\??)\s*(\w*)\s*$/;return function(i,o,r){s(r||{},function(r,a){var c,s,l=r.match(n)||[],u=l[3]||a,d=l[1];switch(d){case"@":if(!o[u])return;o.$observe(u,function(e){i[a]=e}),o[u]&&(i[a]=t(o[u])(i));break;case"=":if(!o[u])return;s=i.$watch(o[u],function(e){i[a]=e}),i.$on("$destroy",s);break;case"&":if(o[u]&&o[u].match(RegExp(a+"(.*?)")))throw new Error('& expression binding "'+a+'" looks like it will recursively call "'+o[u]+'" and cause a stack overflow! Please choose a different scopeName.');c=e(o[u]),i[a]=function(e){return c(i,e)}}})}}]),a.factory("$ionicBody",["$document",function(e){return{addClass:function(){for(var t=0;t-1&&d.stack.length>0&&d.cursor=N.index;a--){var W=i.stack[a];W&&W.destroy&&W.destroy(),i.stack.splice(a)}q=N.historyId}d.historyId===$.historyId?H=E:$.historyId!==d.historyId&&(H=V,i=f($.historyId),i&&i.parentHistoryId===d.parentHistoryId?H=_:(i=f(i.parentHistoryId),i&&i.historyId===d.historyId&&(H=P)))}else O=T;2>L&&(H=D),R.views[z]=this.createView({viewId:z,index:d.stack.length,historyId:d.historyId,backViewId:$&&$.viewId?$.viewId:null,forwardViewId:null,stateId:l,stateName:this.currentStateName(),stateParams:m(),url:U,canSwipeBack:w(c,t)}),d.stack.push(R.views[z])}if(S&&S(),o.cancel(k),y){if(y.disableAnimate&&(H=D),y.disableBack&&(R.views[z].backViewId=null),y.historyRoot){for(a=0;a0&&(d.stack[a-1].forwardViewId=null),R.forwardView=null,R.currentView.index=R.backView.index,R.currentView.backViewId=R.backView.backViewId,R.backView=u(R.backView),d.stack.splice(a,1);break}return d.cursor=R.currentView.index,{viewId:z,action:O,direction:H,historyId:q,enableBack:this.enabledBack(R.currentView),isHistoryRoot:0===R.currentView.index,ele:c}},registerHistory:function(e){e.$historyId=ionic.Utils.nextUid()},createView:function(e){var t=new M;return t.initialize(e)},getViewById:s,viewHistory:function(){return R},currentView:function(e){return arguments.length&&(R.currentView=e),R.currentView},currentHistoryId:function(){return R.currentView?R.currentView.historyId:null},currentTitle:function(e){return R.currentView?(arguments.length&&(R.currentView.title=e),R.currentView.title):void 0},backView:function(e){return arguments.length&&(R.backView=e),R.backView},backTitle:function(e){var t=e&&s(e.backViewId)||R.backView;return t&&t.title},forwardView:function(e){return arguments.length&&(R.forwardView=e),R.forwardView},currentStateName:function(){return t&&t.current?t.current.name:null},isCurrentStateNavView:function(e){return!!(t&&t.current&&t.current.views&&t.current.views[e])},goToHistoryRoot:function(e){if(e){var t=f(e);if(t&&t.stack.length){if(R.currentView&&R.currentView.viewId===t.stack[0].viewId)return;C={viewId:t.stack[0].viewId,action:I,direction:A},t.stack[0].go()}}},goBack:function(e){if(l(e)&&-1!==e){if(e>-1)return;var t=R.histories[this.currentHistoryId()],n=t.cursor+e+1;1>n&&(n=1),t.cursor=n,v(t.stack[n].viewId);for(var i=n-1,r=[],a=s(t.stack[i].forwardViewId);a&&(r.push(a.stateId||a.viewId),i++,!(i>=t.stack.length));)a=s(t.stack[i].forwardViewId);var c=this;r.length&&o(function(){c.clearCache(r)},600)}R.backView&&R.backView.go()},enabledBack:function(e){var t=u(e);return!(!t||t.historyId!==e.historyId)},clearHistory:function(){var e=R.histories,t=R.currentView;if(e)for(var n in e)e[n].stack&&(e[n].stack=[],e[n].cursor=-1),t&&t.historyId===n?(t.backViewId=t.forwardViewId=null,e[n].stack.push(t)):e[n].destroy&&e[n].destroy();for(var i in R.views)i!==t.viewId&&delete R.views[i];t&&v(t.viewId)},clearCache:function(e){return o(function(){a._instances.forEach(function(t){t.clearCache(e)})})},nextViewOptions:function(t){return S&&S(),arguments.length&&(o.cancel(k),null===t?y=t:(y=y||{},c(y,t),y.expire&&(S=e.$on("$stateChangeSuccess",function(){k=o(function(){y=null},y.expire)})))),y},isAbstractEle:function(e,t){return t&&t.$$state&&t.$$state.self["abstract"]?!0:!(!e||!$(e)&&!$(e.children()))},isActiveScope:function(e){if(!e)return!1;for(var t,n=e,i=this.currentHistoryId();n;){if(n.$$disconnected)return!1;if(!t&&n.hasOwnProperty("$historyId")&&(t=!0),i){if(n.hasOwnProperty("$historyId")&&i==n.$historyId)return!0;if(n.hasOwnProperty("$activeHistoryId")&&i==n.$activeHistoryId){if(n.hasOwnProperty("$historyId"))return!0;if(!t)return!0}}t&&n.hasOwnProperty("$activeHistoryId")&&(t=!1),n=n.$parent}return i?"root"==i:!0}}}]).run(["$rootScope","$state","$location","$document","$ionicPlatform","$ionicHistory","IONIC_BACK_PRIORITY",function(e,t,n,i,o,r,a){function c(e){var t=r.backView();return t?t.go():ionic.Platform.exitApp(),e.preventDefault(),!1}e.$on("$ionicView.beforeEnter",function(){ionic.keyboard&&ionic.keyboard.hide&&ionic.keyboard.hide()}),e.$on("$ionicHistory.change",function(e,i){if(!i)return null;var o=r.viewHistory(),a=i.historyId?o.histories[i.historyId]:null;if(a&&a.cursor>-1&&a.cursor-1&&(o.boxShadow="0 0 10px rgba(0,0,0,"+(r.shouldAnimate?.45*i:.3)+")"),o[ionic.CSS.TRANSFORM]="translate3d("+n+"%,0,0)",ionic.DomUtil.cachedStyles(e,o)}var r={run:function(i){"forward"==n?(o(e,1,99*(1-i),1-i),o(t,1-.1*i,-33*i,-1)):"back"==n?(o(e,1-.1*(1-i),-33*(1-i),-1),o(t,1,100*i,1-i)):(o(e,1,0,-1),o(t,0,0,-1))},shouldAnimate:i&&("forward"==n||"back"==n)};return r},o.transitions.navBar.ios=function(e,t,n,i){function o(e,t,n,i){var o={};o[ionic.CSS.TRANSITION_DURATION]=c.shouldAnimate?"":"0ms",o.opacity=1===t?"":t,e.setCss("buttons-left",o),e.setCss("buttons-right",o),e.setCss("back-button",o),o[ionic.CSS.TRANSFORM]="translate3d("+i+"px,0,0)",e.setCss("back-text",o),o[ionic.CSS.TRANSFORM]="translate3d("+n+"px,0,0)",e.setCss("title",o)}function r(e,t,n){if(e&&t){var i=(e.titleTextX()+e.titleWidth())*(1-n),r=t&&(t.titleTextX()-e.backButtonTextLeft())*(1-n)||0;o(e,n,i,r)}}function a(e,t,n){if(e&&t){var i=(-(e.titleTextX()-t.backButtonTextLeft())-e.titleLeftRight())*n;o(e,1-n,i,0)}}var c={run:function(n){var i=e.controller(),o=t&&t.controller();"back"==c.direction?(a(i,o,1-n),r(o,i,1-n)):(r(i,o,n),a(o,i,n))},direction:n,shouldAnimate:i&&("forward"==n||"back"==n)};return c},o.transitions.views.android=function(e,t,n,i){function o(e,t){var n={};n[ionic.CSS.TRANSITION_DURATION]=r.shouldAnimate?"":0,n[ionic.CSS.TRANSFORM]="translate3d("+t+"%,0,0)",ionic.DomUtil.cachedStyles(e,n)}i=i&&("forward"==n||"back"==n);var r={run:function(i){"forward"==n?(o(e,99*(1-i)),o(t,-100*i)):"back"==n?(o(e,-100*(1-i)),o(t,100*i)):(o(e,0),o(t,0))},shouldAnimate:i};return r},o.transitions.navBar.android=function(e,t,n,i){function o(e,t){if(e){var n={};n.opacity=1===t?"":t,e.setCss("buttons-left",n),e.setCss("buttons-right",n),e.setCss("back-button",n),e.setCss("back-text",n),e.setCss("title",n)}}return{run:function(n){o(e.controller(),n),o(t&&t.controller(),1-n)},shouldAnimate:i&&("forward"==n||"back"==n)}},o.transitions.views.none=function(e,t){return{run:function(n){o.transitions.views.android(e,t,!1,!1).run(n)},shouldAnimate:!1}},o.transitions.navBar.none=function(e,t){return{run:function(n){o.transitions.navBar.ios(e,t,!1,!1).run(n),o.transitions.navBar.android(e,t,!1,!1).run(n)},shouldAnimate:!1}},o.setPlatformConfig=e,o.$get=function(){return o}}).config(["$compileProvider",function(e){e.aHrefSanitizationWhitelist(/^\s*(https?|sms|tel|geo|ftp|mailto|file|ghttps?|ms-appx-web|ms-appx|x-wmapp0):/),e.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|content|blob|ms-appx|ms-appx-web|x-wmapp0):|data:image\//); +}]);var p='
    ',v="$ionicLoading instance.hide() has been deprecated. Use $ionicLoading.hide().",g="$ionicLoading instance.show() has been deprecated. Use $ionicLoading.show().",m="$ionicLoading instance.setContent() has been deprecated. Use $ionicLoading.show({ template: 'my content' }).";a.constant("$ionicLoadingConfig",{template:""}).factory("$ionicLoading",["$ionicLoadingConfig","$ionicBody","$ionicTemplateLoader","$ionicBackdrop","$timeout","$q","$log","$compile","$ionicPlatform","$rootScope","IONIC_BACK_PRIORITY",function(e,t,n,i,o,r,a,s,l,u,d){function f(){return b||(b=n.compile({template:p,appendTo:t.get()}).then(function(e){return e.show=function(a){var c=a.templateUrl?n.load(a.templateUrl):r.when(a.template||a.content||"");e.scope=a.scope||e.scope,e.isShown||(e.hasBackdrop=!a.noBackdrop&&a.showBackdrop!==!1,e.hasBackdrop&&(i.retain(),i.getElement().addClass("backdrop-loading"))),a.duration&&(o.cancel(e.durationTimeout),e.durationTimeout=o(angular.bind(e,e.hide),+a.duration)),y(),y=l.registerBackButtonAction(h,d.loading),c.then(function(n){if(n){var i=e.element.children();i.html(n),s(i.contents())(e.scope)}e.isShown&&(e.element.addClass("visible"),ionic.requestAnimationFrame(function(){e.isShown&&(e.element.addClass("active"),t.addClass("loading-active"))}))}),e.isShown=!0},e.hide=function(){y(),e.isShown&&(e.hasBackdrop&&(i.release(),i.getElement().removeClass("backdrop-loading")),e.element.removeClass("active"),t.removeClass("loading-active"),e.element.removeClass("visible"),ionic.requestAnimationFrame(function(){!e.isShown&&e.element.removeClass("visible")})),o.cancel(e.durationTimeout),e.isShown=!1;var n=e.element.children();n.html("")},e})),b}function $(t){t=c({},e||{},t||{});var n=t.delay||t.showDelay||0;return S(),k(),t.hideOnStateChange&&(S=u.$on("$stateChangeSuccess",w),k=u.$on("$stateChangeError",w)),o.cancel(C),C=o(h,n),C.then(f).then(function(e){return e.show(t)}),{hide:function(){return a.error(v),w.apply(this,arguments)},show:function(){return a.error(g),$.apply(this,arguments)},setContent:function(e){return a.error(m),f().then(function(t){t.show({template:e})})}}}function w(){S(),k(),o.cancel(C),f().then(function(e){e.hide()})}var b,y=h,S=h,k=h,C=r.when();return{show:$,hide:w,_getLoader:f}}]),a.factory("$ionicModal",["$rootScope","$ionicBody","$compile","$timeout","$ionicPlatform","$ionicTemplateLoader","$$q","$log","$ionicClickBlock","$window","IONIC_BACK_PRIORITY",function(e,t,n,i,o,r,a,s,l,u,d){var p=ionic.views.Modal.inherit({initialize:function(e){ionic.views.Modal.prototype.initialize.call(this,e),this.animation=e.animation||"slide-in-up"},show:function(e){var n=this;if(n.scope.$$destroyed)return s.error("Cannot call "+n.viewType+".show() after remove(). Please create a new "+n.viewType+" instance."),a.when();l.show(600),m.add(n);var r=f(n.modalEl);n.el.classList.remove("hide"),i(function(){n._isShown&&t.addClass(n.viewType+"-open")},400,!1),n.el.parentElement||(r.addClass(n.animation),t.append(n.el));var c=r.data("$$ionicScrollController");return c&&c.resize(),e&&n.positionView&&(n.positionView(e,r),n._onWindowResize=function(){n._isShown&&n.positionView(e,r)},ionic.on("resize",n._onWindowResize,window)),r.addClass("ng-enter active").removeClass("ng-leave ng-leave-active"),n._isShown=!0,n._deregisterBackButton=o.registerBackButtonAction(n.hardwareBackButtonClose?angular.bind(n,n.hide):h,d.modal),ionic.views.Modal.prototype.show.call(n),i(function(){n._isShown&&(r.addClass("ng-enter-active"),ionic.trigger("resize"),n.scope.$parent&&n.scope.$parent.$broadcast(n.viewType+".shown",n),n.el.classList.add("active"),n.scope.$broadcast("$ionicHeader.align"),n.scope.$broadcast("$ionicFooter.align"))},20),i(function(){n._isShown&&(n.$el.on("touchmove",function(e){var t=ionic.DomUtil.getParentOrSelfWithClass(e.target,"scroll");t||e.preventDefault()}),n.$el.on("click",function(e){n.backdropClickToClose&&e.target===n.el&&m.isHighest(n)&&n.hide()}))},400)},hide:function(){var e=this,n=f(e.modalEl);return l.show(600),m.remove(e),e.el.classList.remove("active"),n.addClass("ng-leave"),i(function(){e._isShown||n.addClass("ng-leave-active").removeClass("ng-enter ng-enter-active active")},20,!1),e.$el.off("click"),e._isShown=!1,e.scope.$parent&&e.scope.$parent.$broadcast(e.viewType+".hidden",e),e._deregisterBackButton&&e._deregisterBackButton(),ionic.views.Modal.prototype.hide.call(e),e.positionView&&ionic.off("resize",e._onWindowResize,window),i(function(){t.removeClass(e.viewType+"-open"),e.el.classList.add("hide")},e.hideDelay||320)},remove:function(){var e=this;return e.scope.$parent&&e.scope.$parent.$broadcast(e.viewType+".removed",e),e.hide().then(function(){e.scope.$destroy(),e.$el.remove()})},isShown:function(){return!!this._isShown}}),v=function(t,i){var o=i.scope&&i.scope.$new()||e.$new(!0);i.viewType=i.viewType||"modal",c(o,{$hasHeader:!1,$hasSubheader:!1,$hasFooter:!1,$hasSubfooter:!1,$hasTabs:!1,$hasTabsTop:!1});var r=n(""+t+"")(o);i.$el=r,i.el=r[0],i.modalEl=i.el.querySelector("."+i.viewType);var a=new p(i);return a.scope=o,i.scope||(o[i.viewType]=a),a},g=[],m={add:function(e){g.push(e)},remove:function(e){var t=g.indexOf(e);t>-1&&t-1&&t===g.length-1}};return{fromTemplate:function(e,t){var n=v(e,t||{});return n},fromTemplateUrl:function(e,t,n){var i;return angular.isFunction(t)&&(i=t,t=n),r.load(e).then(function(e){var n=v(e,t||{});return i&&i(n),n})},stack:m}}]),a.service("$ionicNavBarDelegate",ionic.DelegateService(["align","showBackButton","showBar","title","changeTitle","setTitle","getTitle","back","getPreviousTitle"])),a.service("$ionicNavViewDelegate",ionic.DelegateService(["clearCache"])),a.constant("IONIC_BACK_PRIORITY",{view:100,sideMenu:150,modal:200,actionSheet:300,popup:400,loading:500}).provider("$ionicPlatform",function(){return{$get:["$q","$ionicScrollDelegate",function(e,t){var n={onHardwareBackButton:function(e){ionic.Platform.ready(function(){document.addEventListener("backbutton",e,!1)})},offHardwareBackButton:function(e){ionic.Platform.ready(function(){document.removeEventListener("backbutton",e)})},$backButtonActions:{},registerBackButtonAction:function(e,t,i){n._hasBackButtonHandler||(n.$backButtonActions={},n.onHardwareBackButton(n.hardwareBackButtonClick),n._hasBackButtonHandler=!0);var o={id:i?i:ionic.Utils.nextUid(),priority:t?t:0,fn:e};return n.$backButtonActions[o.id]=o,function(){delete n.$backButtonActions[o.id]}},hardwareBackButtonClick:function(e){var t,i;for(i in n.$backButtonActions)(!t||n.$backButtonActions[i].priority>=t.priority)&&(t=n.$backButtonActions[i]);return t?(t.fn(e),t):void 0},is:function(e){return ionic.Platform.is(e)},on:function(e,t){return ionic.Platform.ready(function(){document.addEventListener(e,t,!1)}),function(){ionic.Platform.ready(function(){document.removeEventListener(e,t)})}},ready:function(t){var n=e.defer();return ionic.Platform.ready(function(){n.resolve(),t&&t()}),n.promise}};return window.addEventListener("statusTap",function(){t.scrollTop(!0)}),n}]}}),a.factory("$ionicPopover",["$ionicModal","$ionicPosition","$document","$window",function(e,t,n,i){function o(e,n){var o=f(e.target||e),a=t.offset(o),c=n.prop("offsetWidth"),s=n.prop("offsetHeight"),l=i.innerWidth,u=i.innerHeight,d={left:a.left+a.width/2-c/2},h=f(n[0].querySelector(".popover-arrow"));d.leftl&&(d.left=l-c-r),a.top+a.height+s>u&&a.top-s>0?(d.top=a.top-s,n.addClass("popover-bottom")):(d.top=a.top+a.height,n.removeClass("popover-bottom")),h.css({left:a.left+a.width/2-h.prop("offsetWidth")/2-d.left+"px"}),n.css({top:d.top+"px",left:d.left+"px",marginLeft:"0",opacity:"1"})}var r=6,a={viewType:"popover",hideDelay:1,animation:"none",positionView:o};return{fromTemplate:function(t,n){return e.fromTemplate(t,ionic.Utils.extend({},a,n))},fromTemplateUrl:function(t,n){return e.fromTemplateUrl(t,ionic.Utils.extend({},a,n))}}}]);var $='';a.factory("$ionicPopup",["$ionicTemplateLoader","$ionicBackdrop","$q","$timeout","$rootScope","$ionicBody","$compile","$ionicPlatform","$ionicModal","IONIC_BACK_PRIORITY",function(e,t,n,i,o,r,a,s,l,u){function d(t){t=c({scope:null,title:"",buttons:[]},t||{});var s={};return s.scope=(t.scope||o).$new(),s.element=f($),s.responseDeferred=n.defer(),r.get().appendChild(s.element[0]),a(s.element)(s.scope),c(s.scope,{title:t.title,buttons:t.buttons,subTitle:t.subTitle,cssClass:t.cssClass,$buttonTapped:function(e,t){var n=(e.onTap||h).apply(s,[t]);t=t.originalEvent||t,t.defaultPrevented||s.responseDeferred.resolve(n)}}),n.when(t.templateUrl?e.load(t.templateUrl):t.template||t.content||"").then(function(e){var t=f(s.element[0].querySelector(".popup-body"));e?(t.html(e),a(t.contents())(s.scope)):t.remove()}),s.show=function(){s.isShown||s.removed||(l.stack.add(s),s.isShown=!0,ionic.requestAnimationFrame(function(){s.isShown&&(s.element.removeClass("popup-hidden"),s.element.addClass("popup-showing active"),g(s.element))}))},s.hide=function(e){return e=e||h,s.isShown?(l.stack.remove(s),s.isShown=!1,s.element.removeClass("active"),s.element.addClass("popup-hidden"),void i(e,250,!1)):e()},s.remove=function(){s.removed||(s.hide(function(){s.element.remove(),s.scope.$destroy()}),s.removed=!0)},s}function p(){var e=S[S.length-1];e&&e.responseDeferred.resolve()}function v(e){function n(){S.push(o),i(o.show,a,!1),o.responseDeferred.promise.then(function(e){var n=S.indexOf(o);return-1!==n&&S.splice(n,1),o.remove(),S.length>0?S[S.length-1].show():(t.release(),i(function(){S.length||r.removeClass("popup-open")},400,!1),(k._backButtonActionDone||h)()),e})}var o=k._createPopup(e),a=0;return S.length>0?(a=y.stackPushDelay,i(S[S.length-1].hide,a,!1)):(r.addClass("popup-open"),t.retain(),k._backButtonActionDone=s.registerBackButtonAction(p,u.popup)),o.responseDeferred.promise.close=function(e){o.removed||o.responseDeferred.resolve(e)},o.responseDeferred.notify({close:o.responseDeferred.close}),n(),o.responseDeferred.promise}function g(e){var t=e[0].querySelector("[autofocus]");t&&t.focus()}function m(e){return v(c({buttons:[{text:e.okText||"OK",type:e.okType||"button-positive",onTap:function(){return!0}}]},e||{}))}function w(e){return v(c({buttons:[{text:e.cancelText||"Cancel",type:e.cancelType||"button-default",onTap:function(){return!1}},{text:e.okText||"OK",type:e.okType||"button-positive",onTap:function(){return!0}}]},e||{}))}function b(e){var t=o.$new(!0);t.data={},t.data.fieldtype=e.inputType?e.inputType:"text",t.data.response=e.defaultText?e.defaultText:"",t.data.placeholder=e.inputPlaceholder?e.inputPlaceholder:"",t.data.maxlength=e.maxLength?parseInt(e.maxLength):"";var n="";return e.template&&/<[a-z][\s\S]*>/i.test(e.template)===!1&&(n=""+e.template+"",delete e.template),v(c({template:n+'',scope:t,buttons:[{text:e.cancelText||"Cancel",type:e.cancelType||"button-default",onTap:function(){}},{text:e.okText||"OK",type:e.okType||"button-positive",onTap:function(){return t.data.response||""}}]},e||{}))}var y={stackPushDelay:75},S=[],k={show:v,alert:m,confirm:w,prompt:b,_createPopup:d,_popupStack:S};return k}]),a.factory("$ionicPosition",["$document","$window",function(e,t){function n(e,n){return e.currentStyle?e.currentStyle[n]:t.getComputedStyle?t.getComputedStyle(e)[n]:e.style[n]}function i(e){return"static"===(n(e,"position")||"static")}var o=function(t){for(var n=e[0],o=t.offsetParent||n;o&&o!==n&&i(o);)o=o.offsetParent;return o||n};return{position:function(t){var n=this.offset(t),i={top:0,left:0},r=o(t[0]);r!=e[0]&&(i=this.offset(f(r)),i.top+=r.clientTop-r.scrollTop,i.left+=r.clientLeft-r.scrollLeft);var a=t[0].getBoundingClientRect();return{width:a.width||t.prop("offsetWidth"),height:a.height||t.prop("offsetHeight"),top:n.top-i.top,left:n.left-i.left}},offset:function(n){var i=n[0].getBoundingClientRect();return{width:i.width||n.prop("offsetWidth"),height:i.height||n.prop("offsetHeight"),top:i.top+(t.pageYOffset||e[0].documentElement.scrollTop),left:i.left+(t.pageXOffset||e[0].documentElement.scrollLeft)}}}}]),a.service("$ionicScrollDelegate",ionic.DelegateService(["resize","scrollTop","scrollBottom","scrollTo","scrollBy","zoomTo","zoomBy","getScrollPosition","anchorScroll","freezeScroll","freezeAllScrolls","getScrollView"])),a.service("$ionicSideMenuDelegate",ionic.DelegateService(["toggleLeft","toggleRight","getOpenRatio","isOpen","isOpenLeft","isOpenRight","canDragContent","edgeDragThreshold"])),a.service("$ionicSlideBoxDelegate",ionic.DelegateService(["update","slide","select","enableSlide","previous","next","stop","autoPlay","start","currentIndex","selected","slidesCount","count","loop"])),a.service("$ionicTabsDelegate",ionic.DelegateService(["select","selectedIndex","showBar"])),function(){var e=[];a.factory("$ionicTemplateCache",["$http","$templateCache","$timeout",function(t,n,i){function o(e){return"undefined"==typeof e?r():(d(e)&&(e=[e]),s(e,function(e){c.push(e)}),void(a&&r()))}function r(){var e;if(o._runCount++,a=!0,0!==c.length){for(var s=0;4>s&&(e=c.pop());)d(e)&&t.get(e,{cache:n}),s++;c.length&&i(r,1e3)}}var a,c=e;return o._runCount=0,o}]).config(["$stateProvider","$ionicConfigProvider",function(t,n){var i=t.state;t.state=function(o,r){if("object"==typeof r){var a=r.prefetchTemplate!==!1&&e.length").html(i).contents();return n.controller&&(r=t(n.controller,c(n.locals,{$scope:a})),s.children().data("$ngControllerController",r)),n.appendTo&&f(n.appendTo).append(s),e(s)(a),{element:s,scope:a}})}return{load:a,compile:s}}]),a.factory("$ionicViewService",["$ionicHistory","$log",function(e,t){function n(e,n){t.warn("$ionicViewService"+e+" is deprecated, please use $ionicHistory"+n+" instead: http://ionicframework.com/docs/nightly/api/service/$ionicHistory/")}n("","");var i={getCurrentView:"currentView",getBackView:"backView",getForwardView:"forwardView",getCurrentStateName:"currentStateName",nextViewOptions:"nextViewOptions",clearHistory:"clearHistory"};return s(i,function(t,o){i[o]=function(){return n("."+o,"."+t),e[t].apply(this,arguments)}}),i}]),a.factory("$ionicViewSwitcher",["$timeout","$document","$q","$ionicClickBlock","$ionicConfig","$ionicNavBarDelegate",function(e,t,n,i,o,r){function a(e,t){return u(e)["abstract"]?u(e).name:t?t.stateId||t.viewId:ionic.Utils.nextUid()}function u(e){return e&&e.$$state&&e.$$state.self||{}}function d(e,t,n,i){var r=u(e),a=g||V(t,"view-transition")||r.viewTransition||o.views.transition()||"ios",s=o.navBar.transition();return n=m||V(t,"view-direction")||r.viewDirection||n||"none",c(h(i),{transition:a,navBarTransition:"view"===s?a:s,direction:n,shouldAnimate:"none"!==a&&"none"!==n})}function h(e){return e=e||{},{viewId:e.viewId,historyId:e.historyId,stateId:e.stateId,stateName:e.stateName,stateParams:e.stateParams}}function p(e,t){return arguments.length>1?void V(e,T,t):V(e,T)}function v(e){if(e&&e.length){var t=e.scope();t&&(t.$emit("$ionicView.unloaded",e.data(C)),t.$destroy()),e.remove()}}var g,m,$="webkitTransitionEnd transitionend",w="$noCache",b="$destroyEle",y="$eleId",S="$accessed",k="$fallbackTimer",C="$viewData",T="nav-view",B="active",I="cached",x="stage",A=0;ionic.transition=ionic.transition||{},ionic.transition.isActive=!1;var E,V=ionic.DomUtil.cachedAttr,P=[],_=1100,D={create:function(t,s,f,T,E,L){var R,M,N,z=++A,O={init:function(e,t){D.isTransitioning(!0),O.loadViewElements(e),O.render(e,function(){t&&t()})},loadViewElements:function(e){var n,i,o,r=t.getViewElements(),c=a(s,f),u=t.activeEleId();for(n=0,i=r.length;i>n&&(o=r.eq(n),o.data(y)===c?o.data(w)?(o.data(y,c+ionic.Utils.nextUid()),o.data(b,!0)):R=o:l(u)&&o.data(y)===u&&(M=o),!R||!M);n++);N=!!R,N||(R=e.ele||D.createViewEle(s),R.data(y,c)),L&&t.activeEleId(c),e.ele=null},render:function(e,n){if(N)ionic.Utils.reconnectScope(R.scope());else{p(R,x);var i=d(s,R,e.direction,f),r=o.transitions.views[i.transition]||o.transitions.views.none;r(R,null,i.direction,!0).run(0),R.data(C,{viewId:i.viewId,historyId:i.historyId,stateName:i.stateName,stateParams:i.stateParams}),(u(s).cache===!1||"false"===u(s).cache||"false"==R.attr("cache-view")||0===o.views.maxCache())&&R.data(w,!0);var a=t.appendViewElement(R,s);delete i.direction,delete i.transition,a.$emit("$ionicView.loaded",i)}R.data(S,Date.now()),n&&n()},transition:function(a,l,u){function v(){p(R,F.shouldAnimate?"entering":B),p(M,F.shouldAnimate?"leaving":I),F.run(1),r._instances.forEach(function(e){e.triggerTransitionStart(z)}),F.shouldAnimate||b()}function w(e){e.target===this&&b()}function b(){b.x||(b.x=!0,R.off($,w),e.cancel(R.data(k)),M&&e.cancel(M.data(k)),C&&C.resolve(t),z===A&&(n.all(P).then(D.transitionEnd),O.emit("after",H,q),O.cleanup(H)),r._instances.forEach(function(e){e.triggerTransitionEnd()}),g=m=f=T=R=M=null)}function y(e){e.target===this&&S()}function S(){p(R,I),p(M,B),R.off($,y),e.cancel(R.data(k)),D.transitionEnd([t])}var C,H=d(s,R,a,f),q=c(c({},H),h(T));H.transitionId=q.transitionId=z,H.fromCache=!!N,H.enableBack=!!l,H.renderStart=E,H.renderEnd=L,V(R.parent(),"nav-view-transition",H.transition),V(R.parent(),"nav-view-direction",H.direction),e.cancel(R.data(k));var U=o.transitions.views[H.transition]||o.transitions.views.none,F=U(R,M,H.direction,H.shouldAnimate&&u&&L);if(F.shouldAnimate&&(R.on($,w),R.data(k,e(b,_)),i.show(_)),E&&(O.emit("before",H,q),p(R,x),F.run(0)),L&&(C=n.defer(),P.push(C.promise)),E&&L)e(function(){ionic.requestAnimationFrame(v)});else{if(!L)return p(R,"entering"),p(M,"leaving"),{run:F.run,cancel:function(t){t?(R.on($,y),R.data(k,e(S,_)),i.show(_)):S(),F.shouldAnimate=t,F.run(0),F=null}};L&&v()}},emit:function(e,t,n){var i=R.scope(),o=M&&M.scope();"after"==e&&(i&&i.$emit("$ionicView.enter",t),o?o.$emit("$ionicView.leave",n):i&&n&&n.viewId&&i.$emit("$ionicNavView.leave",n)),i&&i.$emit("$ionicView."+e+"Enter",t),o?o.$emit("$ionicView."+e+"Leave",n):i&&n&&n.viewId&&i.$emit("$ionicNavView."+e+"Leave",n)},cleanup:function(e){M&&"back"==e.direction&&!o.views.forwardCache()&&v(M);var n,i,r,a=t.getViewElements(),c=a.length,s=c-1>o.views.maxCache(),l=Date.now();for(n=0;c>n;n++)i=a.eq(n),s&&i.data(S)0&&t(function(){var e=document.querySelector(".scroll-content");e&&(e.scrollTop=0)},0,!1),e.__hash(n)},e}e.decorator("$location",["$delegate","$timeout",t])}]),a.controller("$ionicHeaderBar",["$scope","$element","$attrs","$q","$ionicConfig","$ionicHistory",function(e,t,n,i,o,r){function a(e){return C[e]||(C[e]=t[0].querySelector("."+e)),C[e]}var c="title",s="back-text",l="back-button",u="default-title",d="previous-title",f="hide",h=this,p="",v="",g=0,m=0,$="",w=!1,b=!0,y=!0,S=!1,k=0;h.beforeEnter=function(t){e.$broadcast("$ionicView.beforeEnter",t)},h.title=function(e){return arguments.length&&e!==p&&(a(c).innerHTML=e,p=e,k=0),p},h.enableBack=function(e,t){return arguments.length&&(w=e,t||h.updateBackButton()),w},h.showBack=function(e,t){return arguments.length&&(b=e,t||h.updateBackButton()),b},h.showNavBack=function(e){y=e,h.updateBackButton()},h.updateBackButton=function(){var e;(b&&y&&w)!==S&&(S=b&&y&&w,e=a(l),e&&e.classList[S?"remove":"add"](f)),w&&(e=e||a(l),e&&(h.backButtonIcon!==o.backButton.icon()&&(e=a(l+" .icon"),e&&(h.backButtonIcon=o.backButton.icon(),e.className="icon "+h.backButtonIcon)),h.backButtonText!==o.backButton.text()&&(e=a(l+" .back-text"),e&&(e.textContent=h.backButtonText=o.backButton.text()))))},h.titleTextWidth=function(){if(!k){var e=ionic.DomUtil.getTextBounds(a(c));k=Math.min(e&&e.width||30)}return k},h.titleWidth=function(){var e=h.titleTextWidth(),t=a(c).offsetWidth;return e>t&&(e=t+(g-m-5)),e},h.titleTextX=function(){return t[0].offsetWidth/2-h.titleWidth()/2},h.titleLeftRight=function(){return g-m},h.backButtonTextLeft=function(){for(var e=0,t=a(s);t;)e+=t.offsetLeft,t=t.parentElement;return e},h.resetBackButton=function(e){if(o.backButton.previousTitleText()){var t=a(d);if(t){t.classList.remove(f);var n=e&&r.getViewById(e.viewId),i=r.backTitle(n);i!==v&&(v=t.innerHTML=i)}var c=a(u);c&&c.classList.remove(f)}},h.align=function(e){var i=a(c);e=e||n.alignTitle||o.navBar.alignTitle();var r=h.calcWidths(e,!1);if(b&&v&&o.backButton.previousTitleText()){var s=h.calcWidths(e,!0),l=t[0].offsetWidth-s.titleLeft-s.titleRight;h.titleTextWidth()<=l&&(r=s)}return h.updatePositions(i,r.titleLeft,r.titleRight,r.buttonsLeft,r.buttonsRight,r.css,r.showPrevTitle)},h.calcWidths=function(e,n){var i,o,r,h,p,v,g,m,$,w=a(c),y=a(l),S=t[0].childNodes,k=0,C=0,T=0,B=0,I="",x=0;for(i=0;i10&&(T=B=A)}return{backButtonWidth:x,buttonsLeft:k,buttonsRight:C,titleLeft:T,titleRight:B,showPrevTitle:n,css:I}},h.updatePositions=function(e,n,r,c,s,l,p){var v=i.defer();if(e&&(n!==g&&(e.style.left=n?n+"px":"",g=n),r!==m&&(e.style.right=r?r+"px":"",m=r),l!==$&&(l&&e.classList.add(l),$&&e.classList.remove($),$=l)),o.backButton.previousTitleText()){var w=a(d),b=a(u);w&&w.classList[p?"remove":"add"](f),b&&b.classList[p?"add":"remove"](f)}return ionic.requestAnimationFrame(function(){if(e&&e.offsetWidth+10i?n:i,r!==m&&(e.style.right=r+"px",m=r)}v.resolve()}),v.promise},h.setCss=function(e,t){ionic.DomUtil.cachedStyles(a(e),t)};var C={};e.$on("$destroy",function(){for(var e in C)C[e]=null})}]),a.controller("$ionInfiniteScroll",["$scope","$attrs","$element","$timeout",function(e,t,n,i){function o(){ionic.requestAnimationFrame(function(){n[0].classList.add("active")}),s.isLoading=!0,e.$parent&&e.$parent.$apply(t.onInfinite||"")}function r(){ionic.requestAnimationFrame(function(){n[0].classList.remove("active")}),i(function(){s.jsScrolling&&s.scrollView.resize(),(s.jsScrolling&&s.scrollView.__container&&s.scrollView.__container.offsetHeight>0||!s.jsScrolling)&&s.checkBounds()},30,!1),s.isLoading=!1}function a(){if(!s.isLoading){var e={};if(s.jsScrolling){e=s.getJSMaxScroll();var t=s.scrollView.getValues();(-1!==e.left&&t.left>=e.left||-1!==e.top&&t.top>=e.top)&&o()}else e=s.getNativeMaxScroll(),(-1!==e.left&&s.scrollEl.scrollLeft>=e.left-s.scrollEl.clientWidth||-1!==e.top&&s.scrollEl.scrollTop>=e.top-s.scrollEl.clientHeight)&&o()}}function c(e){var n=(t.distance||"2.5%").trim(),i=-1!==n.indexOf("%");return i?e*(1-parseFloat(n)/100):e-parseFloat(n)}var s=this;s.isLoading=!1,e.icon=function(){return l(t.icon)?t.icon:"ion-load-d"},e.spinner=function(){return l(t.spinner)?t.spinner:""},e.$on("scroll.infiniteScrollComplete",function(){r()}),e.$on("$destroy",function(){s.scrollCtrl&&s.scrollCtrl.$element&&s.scrollCtrl.$element.off("scroll",s.checkBounds),s.scrollEl&&s.scrollEl.removeEventListener&&s.scrollEl.removeEventListener("scroll",s.checkBounds)}),s.checkBounds=ionic.Utils.throttle(a,300),s.getJSMaxScroll=function(){var e=s.scrollView.getScrollMax();return{left:s.scrollView.options.scrollingX?c(e.left):-1,top:s.scrollView.options.scrollingY?c(e.top):-1}},s.getNativeMaxScroll=function(){var e={left:s.scrollEl.scrollWidth,top:s.scrollEl.scrollHeight},t=window.getComputedStyle(s.scrollEl)||{};return{left:!e.left||"scroll"!==t.overflowX&&"auto"!==t.overflowX&&"scroll"!==s.scrollEl.style["overflow-x"]?-1:c(e.left),top:!e.top||"scroll"!==t.overflowY&&"auto"!==t.overflowY&&"scroll"!==s.scrollEl.style["overflow-y"]?-1:c(e.top)}},s.__finishInfiniteScroll=r}]),a.service("$ionicListDelegate",ionic.DelegateService(["showReorder","showDelete","canSwipeItems","closeOptionButtons"])).controller("$ionicList",["$scope","$attrs","$ionicListDelegate","$ionicHistory",function(e,t,n,i){var o=this,r=!0,a=!1,c=!1,s=n._registerInstance(o,t.delegateHandle,function(){return i.isActiveScope(e)});e.$on("$destroy",s),o.showReorder=function(e){return arguments.length&&(a=!!e),a},o.showDelete=function(e){return arguments.length&&(c=!!e),c},o.canSwipeItems=function(e){return arguments.length&&(r=!!e),r},o.closeOptionButtons=function(){o.listView&&o.listView.clearDragEffects()}}]),a.controller("$ionicNavBar",["$scope","$element","$attrs","$compile","$timeout","$ionicNavBarDelegate","$ionicConfig","$ionicHistory",function(e,t,n,i,o,r,a,c){function u(e,t){var n=console.warn||console.log;n&&n.call(console,"navBarController."+e+" is deprecated, please use "+t+" instead")}function d(e){return x[e]?f(x[e]):void 0}function h(){for(var e=0;e'),h.append(v)),t==k?v.append(e):v.prepend(e)):(p||(p=f('
    '),m[C]?m[C].after(p):h.prepend(p)),t==k?p.append(e):p.prepend(e)))}var c=f('
  • @FHUiu&=5w(f-3S1h*&)&h2 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 + + + + +Created by FontForge 20120731 at Thu Dec 4 09:51:48 2014 + By Adam Bradley +Created by Adam Bradley with FontForge 2.0 (http://fontforge.sf.net) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platforms/android/assets/www/lib/ionic/fonts/ionicons.ttf b/platforms/android/assets/www/lib/ionic/fonts/ionicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c4e4632486d863337c1c73478ddb3c20726c55a0 GIT binary patch literal 188508 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