From 5d409f19e3b367fe3daff8a5e0bed724b829a75a Mon Sep 17 00:00:00 2001 From: Martin Donnelly Date: Tue, 7 Jun 2016 11:44:09 +0100 Subject: [PATCH] =?UTF-8?q?=E2=80=9D2016-06-07=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sensortoy/sensortoy/.gitignore | 47 + .../js/device/CC2650/cc2650_accelerometer.js | 408 +- .../app/js/device/CC2650/cc2650_humidity.js | 2 +- sensortoy/sensortoy/app/js/index.js | 35 +- .../bluetooth_company_identifiers.js | 6 +- .../sensortoy/app/js/standards/capability.js | 123 +- sensortoy/sensortoy/config.xml | 2 +- .../2.2.1/taskArtifacts/cache.properties.lock | Bin 17 -> 17 bytes .../2.2.1/taskArtifacts/fileHashes.bin | Bin 148596 -> 148764 bytes .../2.2.1/taskArtifacts/fileSnapshots.bin | Bin 10918810 -> 10918810 bytes .../2.2.1/taskArtifacts/taskArtifacts.bin | Bin 61031 -> 61031 bytes .../platforms/android/assets/www/css/app.css | 262 +- .../android/assets/www/css/custom.scss | 15 + .../android/assets/www/css/index.css | 115 + .../android/assets/www/css/material-icons.css | 15 + .../platforms/android/assets/www/css/mui.css | 1912 ++++++ .../android/assets/www/css/mui.custom.css | 1912 ++++++ .../android/assets/www/css/mui.min.css | 1 + .../android/assets/www/css/progress.css | 94 + .../android/assets/www/css/ripple.css | 195 + .../www/fonts/Material_Icons-normal-400.woff | Bin 0 -> 58804 bytes .../android/assets/www/fonts/fonts.css | 7 + .../platforms/android/assets/www/index.html | 126 +- .../js/device/CC2650/cc2650_accelerometer.js | 363 ++ .../www/js/device/CC2650/cc2650_barometer.js | 164 + .../www/js/device/CC2650/cc2650_humidity.js | 170 + .../www/js/device/CC2650/cc2650_luxometer.js | 113 + .../www/js/device/CC2650/cc2650_thermopile.js | 167 + .../platforms/android/assets/www/js/index.js | 599 ++ .../android/assets/www/js/mandecoder.js | 112 + .../assets/www/js/standards/battery.js | 61 + .../bluetooth_company_identifiers.js | 3240 ++++++++++ .../android/assets/www/js/standards/button.js | 99 + .../assets/www/js/standards/capability.js | 320 + .../android/assets/www/js/standards/gadget.js | 21 + .../android/assets/www/libs/bluebird/API.md | 1 + .../assets/www/libs/bluebird/CONTRIBUTING.md | 9 + .../android/assets/www/libs/bluebird/LICENSE | 21 + .../assets/www/libs/bluebird/README.md | 51 + .../android/assets/www/libs/bluebird/bench | 37 + .../assets/www/libs/bluebird/bower.json | 34 + .../android/assets/www/libs/bluebird/build | 2 + .../assets/www/libs/bluebird/changelog.md | 1 + .../www/libs/bluebird/deprecated_apis.md | 1 + .../assets/www/libs/bluebird/docs/Gemfile | 8 + .../assets/www/libs/bluebird/docs/README.md | 5 + .../assets/www/libs/bluebird/docs/_config.yml | 35 + .../www/libs/bluebird/docs/_layouts/api.html | 9 + .../libs/bluebird/docs/_layouts/default.html | 136 + .../www/libs/bluebird/docs/_layouts/page.html | 14 + .../www/libs/bluebird/docs/_plugins/mdate.rb | 19 + .../www/libs/bluebird/docs/_plugins/plugin.rb | 55 + .../www/libs/bluebird/docs/css/main.css | 181 + .../www/libs/bluebird/docs/css/mono-blue.css | 80 + .../libs/bluebird/docs/docs/anti-patterns.md | 172 + .../libs/bluebird/docs/docs/api-reference.md | 95 + .../bluebird/docs/docs/api/aggregateerror.md | 49 + .../www/libs/bluebird/docs/docs/api/all.md | 31 + .../www/libs/bluebird/docs/docs/api/any.md | 31 + .../libs/bluebird/docs/docs/api/ascallback.md | 114 + .../www/libs/bluebird/docs/docs/api/bind.md | 31 + .../docs/docs/api/built-in-error-types.md | 31 + .../www/libs/bluebird/docs/docs/api/call.md | 101 + .../www/libs/bluebird/docs/docs/api/cancel.md | 33 + .../bluebird/docs/docs/api/cancellation.md | 112 + .../docs/docs/api/cancellationerror.md | 32 + .../www/libs/bluebird/docs/docs/api/catch.md | 227 + .../bluebird/docs/docs/api/catchreturn.md | 43 + .../libs/bluebird/docs/docs/api/catchthrow.md | 43 + .../bluebird/docs/docs/api/collections.md | 32 + .../www/libs/bluebird/docs/docs/api/core.md | 27 + .../docs/docs/api/deferred-migration.md | 44 + .../www/libs/bluebird/docs/docs/api/delay.md | 31 + .../libs/bluebird/docs/docs/api/disposer.md | 158 + .../www/libs/bluebird/docs/docs/api/done.md | 37 + .../www/libs/bluebird/docs/docs/api/each.md | 51 + .../docs/docs/api/environment-variables.md | 41 + .../api/error-management-configuration.md | 107 + .../www/libs/bluebird/docs/docs/api/error.md | 101 + .../www/libs/bluebird/docs/docs/api/filter.md | 34 + .../libs/bluebird/docs/docs/api/finally.md | 97 + .../libs/bluebird/docs/docs/api/generators.md | 27 + .../www/libs/bluebird/docs/docs/api/get.md | 59 + .../bluebird/docs/docs/api/iscancelled.md | 31 + .../bluebird/docs/docs/api/isfulfilled.md | 31 + .../libs/bluebird/docs/docs/api/ispending.md | 32 + .../libs/bluebird/docs/docs/api/isrejected.md | 31 + .../www/libs/bluebird/docs/docs/api/map.md | 34 + .../libs/bluebird/docs/docs/api/mapseries.md | 31 + .../bluebird/docs/docs/api/new-promise.md | 79 + .../docs/docs/api/operationalerror.md | 35 + .../docs/docs/api/progression-migration.md | 105 + .../bluebird/docs/docs/api/promise.all.md | 47 + .../bluebird/docs/docs/api/promise.any.md | 31 + .../bluebird/docs/docs/api/promise.bind.md | 177 + .../bluebird/docs/docs/api/promise.config.md | 84 + .../api/promise.coroutine.addyieldhandler.md | 122 + .../docs/docs/api/promise.coroutine.md | 76 + .../bluebird/docs/docs/api/promise.delay.md | 47 + .../bluebird/docs/docs/api/promise.each.md | 42 + .../bluebird/docs/docs/api/promise.filter.md | 74 + .../docs/docs/api/promise.fromcallback.md | 80 + .../bluebird/docs/docs/api/promise.join.md | 87 + .../docs/docs/api/promise.longstacktraces.md | 93 + .../bluebird/docs/docs/api/promise.map.md | 138 + .../docs/docs/api/promise.mapseries.md | 57 + .../bluebird/docs/docs/api/promise.method.md | 72 + .../docs/docs/api/promise.noconflict.md | 47 + .../promise.onpossiblyunhandledrejection.md | 42 + .../promise.onunhandledrejectionhandled.md | 53 + .../docs/docs/api/promise.promisify.md | 78 + .../docs/docs/api/promise.promisifyall.md | 262 + .../bluebird/docs/docs/api/promise.props.md | 108 + .../bluebird/docs/docs/api/promise.race.md | 33 + .../bluebird/docs/docs/api/promise.reduce.md | 53 + .../bluebird/docs/docs/api/promise.reject.md | 32 + .../bluebird/docs/docs/api/promise.resolve.md | 47 + .../docs/docs/api/promise.setscheduler.md | 54 + .../bluebird/docs/docs/api/promise.some.md | 62 + .../bluebird/docs/docs/api/promise.try.md | 50 + .../bluebird/docs/docs/api/promise.using.md | 116 + .../docs/docs/api/promiseinspection.md | 38 + .../bluebird/docs/docs/api/promisification.md | 150 + .../www/libs/bluebird/docs/docs/api/props.md | 31 + .../www/libs/bluebird/docs/docs/api/race.md | 31 + .../www/libs/bluebird/docs/docs/api/reason.md | 36 + .../www/libs/bluebird/docs/docs/api/reduce.md | 34 + .../libs/bluebird/docs/docs/api/reflect.md | 66 + .../docs/docs/api/resource-management.md | 67 + .../www/libs/bluebird/docs/docs/api/return.md | 75 + .../www/libs/bluebird/docs/docs/api/some.md | 31 + .../www/libs/bluebird/docs/docs/api/spread.md | 69 + .../docs/api/suppressunhandledrejections.md | 82 + .../docs/docs/api/synchronous-inspection.md | 72 + .../www/libs/bluebird/docs/docs/api/tap.md | 63 + .../www/libs/bluebird/docs/docs/api/then.md | 35 + .../www/libs/bluebird/docs/docs/api/throw.md | 45 + .../libs/bluebird/docs/docs/api/timeout.md | 54 + .../bluebird/docs/docs/api/timeouterror.md | 32 + .../www/libs/bluebird/docs/docs/api/timers.md | 29 + .../libs/bluebird/docs/docs/api/utility.md | 29 + .../www/libs/bluebird/docs/docs/api/value.md | 34 + .../libs/bluebird/docs/docs/async-dialogs.md | 6 + .../bluebird/docs/docs/beginners-guide.md | 6 + .../www/libs/bluebird/docs/docs/benchmarks.md | 115 + .../www/libs/bluebird/docs/docs/changelog.md | 1884 ++++++ .../docs/docs/coming-from-other-languages.md | 86 + .../docs/docs/coming-from-other-libraries.md | 320 + .../www/libs/bluebird/docs/docs/contribute.md | 144 + .../bluebird/docs/docs/deprecated-apis.md | 106 + .../bluebird/docs/docs/deprecated_apis.md | 102 + .../docs/docs/download-api-reference.md | 6 + .../bluebird/docs/docs/error-explanations.md | 360 ++ .../www/libs/bluebird/docs/docs/features.md | 311 + .../bluebird/docs/docs/getting-started.md | 34 + .../www/libs/bluebird/docs/docs/install.md | 90 + .../bluebird/docs/docs/new-in-bluebird-3.md | 64 + .../www/libs/bluebird/docs/docs/support.md | 26 + .../docs/docs/warning-explanations.md | 85 + .../docs/docs/what-about-generators.md | 6 + .../libs/bluebird/docs/docs/why-bluebird.md | 22 + .../bluebird/docs/docs/why-performance.md | 6 + .../libs/bluebird/docs/docs/why-promises.md | 127 + .../docs/docs/working-with-callbacks.md | 463 ++ .../assets/www/libs/bluebird/docs/helpers.rb | 16 + .../www/libs/bluebird/docs/img/favicon.png | Bin 0 -> 4807 bytes .../www/libs/bluebird/docs/img/logo.png | Bin 0 -> 8883 bytes .../assets/www/libs/bluebird/docs/index.html | 8 + .../www/libs/bluebird/issue_template.md | 12 + .../libs/bluebird/js/browser/bluebird.core.js | 3652 +++++++++++ .../bluebird/js/browser/bluebird.core.min.js | 31 + .../www/libs/bluebird/js/browser/bluebird.js | 5474 +++++++++++++++++ .../libs/bluebird/js/browser/bluebird.min.js | 31 + .../assets/www/libs/bluebird/package.json | 76 + .../assets/www/libs/bluebird/src/any.js | 25 + .../assets/www/libs/bluebird/src/assert.js | 55 + .../assets/www/libs/bluebird/src/async.js | 174 + .../assets/www/libs/bluebird/src/bind.js | 67 + .../assets/www/libs/bluebird/src/bluebird.js | 11 + .../assets/www/libs/bluebird/src/call_get.js | 123 + .../assets/www/libs/bluebird/src/cancel.js | 132 + .../www/libs/bluebird/src/catch_filter.js | 42 + .../assets/www/libs/bluebird/src/constants.js | 149 + .../assets/www/libs/bluebird/src/context.js | 69 + .../www/libs/bluebird/src/debuggability.js | 887 +++ .../www/libs/bluebird/src/direct_resolve.js | 46 + .../assets/www/libs/bluebird/src/each.js | 29 + .../assets/www/libs/bluebird/src/errors.js | 117 + .../assets/www/libs/bluebird/src/es5.js | 80 + .../assets/www/libs/bluebird/src/filter.js | 12 + .../assets/www/libs/bluebird/src/finally.js | 111 + .../www/libs/bluebird/src/generators.js | 226 + .../assets/www/libs/bluebird/src/join.js | 149 + .../assets/www/libs/bluebird/src/map.js | 181 + .../assets/www/libs/bluebird/src/method.js | 57 + .../assets/www/libs/bluebird/src/nodeback.js | 51 + .../assets/www/libs/bluebird/src/nodeify.js | 62 + .../assets/www/libs/bluebird/src/promise.js | 773 +++ .../www/libs/bluebird/src/promise_array.js | 201 + .../assets/www/libs/bluebird/src/promisify.js | 326 + .../assets/www/libs/bluebird/src/props.js | 125 + .../assets/www/libs/bluebird/src/queue.js | 96 + .../assets/www/libs/bluebird/src/race.js | 50 + .../assets/www/libs/bluebird/src/reduce.js | 168 + .../assets/www/libs/bluebird/src/schedule.js | 76 + .../assets/www/libs/bluebird/src/settle.js | 51 + .../assets/www/libs/bluebird/src/some.js | 159 + .../bluebird/src/synchronous_inspection.js | 96 + .../assets/www/libs/bluebird/src/thenables.js | 89 + .../assets/www/libs/bluebird/src/timers.js | 92 + .../assets/www/libs/bluebird/src/using.js | 226 + .../assets/www/libs/bluebird/src/util.js | 381 ++ .../android/assets/www/libs/bluebird/tests | 2 + .../assets/www/libs/bluebird/tools/README.md | 19 + .../www/libs/bluebird/tools/ast_passes.js | 708 +++ .../bluebird/tools/browser_test_generator.js | 51 + .../bluebird/tools/browser_test_runner.js | 97 + .../assets/www/libs/bluebird/tools/build.js | 337 + .../bluebird/tools/job-runner/job-runner.js | 557 ++ .../assets/www/libs/bluebird/tools/jshint.js | 20 + .../libs/bluebird/tools/jshintrc_generator.js | 52 + .../www/libs/bluebird/tools/mocha_runner.js | 143 + .../libs/bluebird/tools/saucelabs_runner.js | 198 + .../assets/www/libs/bluebird/tools/test.js | 301 + .../assets/www/libs/bluebird/tools/utils.js | 218 + .../assets/www/libs/jquery/AUTHORS.txt | 278 + .../assets/www/libs/jquery/LICENSE.txt | 36 + .../android/assets/www/libs/jquery/README.md | 65 + .../android/assets/www/libs/jquery/bower.json | 14 + .../assets/www/libs/jquery/sizzle/LICENSE.txt | 36 + .../assets/www/libs/jquery/src/ajax.js | 845 +++ .../assets/www/libs/jquery/src/ajax/jsonp.js | 100 + .../assets/www/libs/jquery/src/ajax/load.js | 83 + .../www/libs/jquery/src/ajax/parseJSON.js | 13 + .../www/libs/jquery/src/ajax/parseXML.js | 27 + .../assets/www/libs/jquery/src/ajax/script.js | 68 + .../www/libs/jquery/src/ajax/var/location.js | 3 + .../www/libs/jquery/src/ajax/var/nonce.js | 5 + .../www/libs/jquery/src/ajax/var/rquery.js | 3 + .../assets/www/libs/jquery/src/ajax/xhr.js | 167 + .../assets/www/libs/jquery/src/attributes.js | 11 + .../www/libs/jquery/src/attributes/attr.js | 142 + .../www/libs/jquery/src/attributes/classes.js | 177 + .../www/libs/jquery/src/attributes/prop.js | 125 + .../www/libs/jquery/src/attributes/support.js | 36 + .../www/libs/jquery/src/attributes/val.js | 177 + .../assets/www/libs/jquery/src/callbacks.js | 232 + .../assets/www/libs/jquery/src/core.js | 494 ++ .../www/libs/jquery/src/core/DOMEval.js | 14 + .../assets/www/libs/jquery/src/core/access.js | 65 + .../assets/www/libs/jquery/src/core/init.js | 134 + .../www/libs/jquery/src/core/parseHTML.js | 41 + .../assets/www/libs/jquery/src/core/ready.js | 103 + .../www/libs/jquery/src/core/support.js | 18 + .../libs/jquery/src/core/var/rsingleTag.js | 5 + .../android/assets/www/libs/jquery/src/css.js | 515 ++ .../www/libs/jquery/src/css/addGetHookIf.js | 24 + .../www/libs/jquery/src/css/adjustCSS.js | 65 + .../assets/www/libs/jquery/src/css/curCSS.js | 60 + .../www/libs/jquery/src/css/defaultDisplay.js | 72 + .../jquery/src/css/hiddenVisibleSelectors.js | 18 + .../www/libs/jquery/src/css/showHide.js | 48 + .../assets/www/libs/jquery/src/css/support.js | 121 + .../www/libs/jquery/src/css/var/cssExpand.js | 3 + .../www/libs/jquery/src/css/var/getStyles.js | 15 + .../www/libs/jquery/src/css/var/isHidden.js | 16 + .../www/libs/jquery/src/css/var/rmargin.js | 3 + .../www/libs/jquery/src/css/var/rnumnonpx.js | 5 + .../www/libs/jquery/src/css/var/swap.js | 24 + .../assets/www/libs/jquery/src/data.js | 187 + .../assets/www/libs/jquery/src/data/Data.js | 200 + .../www/libs/jquery/src/data/accepts.js | 20 + .../www/libs/jquery/src/data/support.js | 23 + .../libs/jquery/src/data/var/acceptData.js | 18 + .../www/libs/jquery/src/data/var/dataPriv.js | 5 + .../www/libs/jquery/src/data/var/dataUser.js | 5 + .../assets/www/libs/jquery/src/deferred.js | 158 + .../libs/jquery/src/deferred/exceptionHook.js | 19 + .../assets/www/libs/jquery/src/deprecated.js | 32 + .../assets/www/libs/jquery/src/dimensions.js | 54 + .../assets/www/libs/jquery/src/effects.js | 629 ++ .../www/libs/jquery/src/effects/Tween.js | 121 + .../jquery/src/effects/animatedSelector.js | 13 + .../www/libs/jquery/src/effects/support.js | 58 + .../assets/www/libs/jquery/src/event.js | 710 +++ .../assets/www/libs/jquery/src/event/ajax.js | 20 + .../assets/www/libs/jquery/src/event/alias.js | 27 + .../www/libs/jquery/src/event/focusin.js | 53 + .../www/libs/jquery/src/event/support.js | 9 + .../www/libs/jquery/src/event/trigger.js | 199 + .../assets/www/libs/jquery/src/exports/amd.js | 24 + .../www/libs/jquery/src/exports/global.js | 26 + .../assets/www/libs/jquery/src/intro.js | 44 + .../assets/www/libs/jquery/src/jquery.js | 37 + .../www/libs/jquery/src/manipulation.js | 481 ++ .../libs/jquery/src/manipulation/_evalUrl.js | 20 + .../jquery/src/manipulation/buildFragment.js | 102 + .../src/manipulation/createSafeFragment.js | 20 + .../libs/jquery/src/manipulation/getAll.js | 21 + .../jquery/src/manipulation/setGlobalEval.js | 20 + .../libs/jquery/src/manipulation/support.js | 33 + .../jquery/src/manipulation/var/nodeNames.js | 5 + .../src/manipulation/var/rcheckableType.js | 3 + .../manipulation/var/rleadingWhitespace.js | 3 + .../src/manipulation/var/rscriptType.js | 3 + .../jquery/src/manipulation/var/rtagName.js | 3 + .../libs/jquery/src/manipulation/wrapMap.js | 27 + .../assets/www/libs/jquery/src/offset.js | 218 + .../assets/www/libs/jquery/src/outro.js | 2 + .../assets/www/libs/jquery/src/queue.js | 143 + .../assets/www/libs/jquery/src/queue/delay.js | 22 + .../www/libs/jquery/src/selector-native.js | 211 + .../www/libs/jquery/src/selector-sizzle.js | 14 + .../assets/www/libs/jquery/src/selector.js | 1 + .../assets/www/libs/jquery/src/serialize.js | 125 + .../assets/www/libs/jquery/src/support.js | 63 + .../assets/www/libs/jquery/src/traversing.js | 175 + .../libs/jquery/src/traversing/findFilter.js | 100 + .../www/libs/jquery/src/traversing/var/dir.js | 20 + .../src/traversing/var/rneedsContext.js | 6 + .../jquery/src/traversing/var/siblings.js | 15 + .../assets/www/libs/jquery/src/var/arr.js | 3 + .../www/libs/jquery/src/var/class2type.js | 5 + .../assets/www/libs/jquery/src/var/concat.js | 5 + .../www/libs/jquery/src/var/deletedIds.js | 3 + .../www/libs/jquery/src/var/document.js | 3 + .../libs/jquery/src/var/documentElement.js | 5 + .../assets/www/libs/jquery/src/var/hasOwn.js | 5 + .../assets/www/libs/jquery/src/var/indexOf.js | 5 + .../assets/www/libs/jquery/src/var/pnum.js | 3 + .../assets/www/libs/jquery/src/var/push.js | 5 + .../assets/www/libs/jquery/src/var/rcssNum.js | 7 + .../www/libs/jquery/src/var/rnotwhite.js | 3 + .../assets/www/libs/jquery/src/var/slice.js | 5 + .../assets/www/libs/jquery/src/var/support.js | 5 + .../www/libs/jquery/src/var/toString.js | 5 + .../assets/www/libs/jquery/src/wrap.js | 79 + .../android/assets/www/libs/mui/AUTHORS.txt | 8 + .../android/assets/www/libs/mui/CHANGELOG.md | 382 ++ .../android/assets/www/libs/mui/LICENSE.txt | 31 + .../android/assets/www/libs/mui/README.md | 165 + .../android/assets/www/libs/mui/RELEASE.md | 45 + .../android/assets/www/libs/mui/bower.json | 42 + .../mui/packages/cdn/angular/mui-angular.js | 1858 ++++++ .../packages/cdn/angular/mui-angular.min.js | 1 + .../www/libs/mui/packages/cdn/css/mui.css | 2522 ++++++++ .../www/libs/mui/packages/cdn/css/mui.min.css | 1 + .../packages/cdn/email/mui-email-inline.css | 686 +++ .../packages/cdn/email/mui-email-styletag.css | 36 + .../cdn/extra/mui-angular-combined.js | 2 + .../mui/packages/cdn/extra/mui-colors.css | 1 + .../mui/packages/cdn/extra/mui-combined.js | 2 + .../packages/cdn/extra/mui-react-combined.js | 2 + .../www/libs/mui/packages/cdn/js/mui.js | 1809 ++++++ .../www/libs/mui/packages/cdn/js/mui.min.js | 1 + .../libs/mui/packages/cdn/react/mui-react.js | 3208 ++++++++++ .../mui/packages/cdn/react/mui-react.min.js | 2 + .../cdn/webcomponents/mui-webcomponents.js | 1023 +++ .../webcomponents/mui-webcomponents.min.js | 2 + .../www/libs/mui/packages/meteor/LICENSE.txt | 31 + .../www/libs/mui/packages/meteor/README.md | 45 + .../libs/mui/packages/meteor/lib/css/mui.css | 2522 ++++++++ .../mui/packages/meteor/lib/css/mui.min.css | 1 + .../libs/mui/packages/meteor/lib/js/mui.js | 1809 ++++++ .../mui/packages/meteor/lib/js/mui.min.js | 1 + .../www/libs/mui/packages/meteor/package.js | 22 + .../www/libs/mui/packages/npm/LICENSE.txt | 31 + .../www/libs/mui/packages/npm/README.md | 487 ++ .../www/libs/mui/packages/npm/angular.js | 31 + .../assets/www/libs/mui/packages/npm/index.js | 9 + .../mui/packages/npm/lib/angular/appbar.js | 34 + .../packages/npm/lib/angular/babel-helpers.js | 34 + .../mui/packages/npm/lib/angular/button.js | 100 + .../mui/packages/npm/lib/angular/caret.js | 27 + .../mui/packages/npm/lib/angular/checkbox.js | 35 + .../libs/mui/packages/npm/lib/angular/col.js | 52 + .../mui/packages/npm/lib/angular/container.js | 40 + .../mui/packages/npm/lib/angular/divider.js | 29 + .../packages/npm/lib/angular/dropdown-item.js | 31 + .../mui/packages/npm/lib/angular/dropdown.js | 93 + .../libs/mui/packages/npm/lib/angular/form.js | 28 + .../mui/packages/npm/lib/angular/input.js | 146 + .../mui/packages/npm/lib/angular/panel.js | 34 + .../mui/packages/npm/lib/angular/radio.js | 35 + .../libs/mui/packages/npm/lib/angular/row.js | 34 + .../mui/packages/npm/lib/angular/select.js | 256 + .../libs/mui/packages/npm/lib/angular/tabs.js | 128 + .../www/libs/mui/packages/npm/lib/css/mui.css | 2522 ++++++++ .../libs/mui/packages/npm/lib/css/mui.min.css | 1 + .../libs/mui/packages/npm/lib/js/config.js | 10 + .../libs/mui/packages/npm/lib/js/lib/forms.js | 59 + .../mui/packages/npm/lib/js/lib/jqLite.js | 401 ++ .../libs/mui/packages/npm/lib/js/lib/util.js | 249 + .../libs/mui/packages/npm/lib/js/overlay.js | 192 + .../mui/packages/npm/lib/react/_helpers.js | 11 + .../libs/mui/packages/npm/lib/react/appbar.js | 52 + .../packages/npm/lib/react/babel-helpers.js | 108 + .../libs/mui/packages/npm/lib/react/button.js | 230 + .../libs/mui/packages/npm/lib/react/caret.js | 53 + .../mui/packages/npm/lib/react/checkbox.js | 93 + .../libs/mui/packages/npm/lib/react/col.js | 94 + .../mui/packages/npm/lib/react/container.js | 61 + .../mui/packages/npm/lib/react/divider.js | 53 + .../packages/npm/lib/react/dropdown-item.js | 85 + .../mui/packages/npm/lib/react/dropdown.js | 240 + .../libs/mui/packages/npm/lib/react/form.js | 61 + .../libs/mui/packages/npm/lib/react/input.js | 50 + .../libs/mui/packages/npm/lib/react/option.js | 75 + .../libs/mui/packages/npm/lib/react/panel.js | 52 + .../libs/mui/packages/npm/lib/react/radio.js | 87 + .../libs/mui/packages/npm/lib/react/row.js | 59 + .../libs/mui/packages/npm/lib/react/select.js | 449 ++ .../libs/mui/packages/npm/lib/react/tab.js | 57 + .../libs/mui/packages/npm/lib/react/tabs.js | 146 + .../mui/packages/npm/lib/react/text-field.js | 288 + .../mui/packages/npm/lib/react/textarea.js | 51 + .../mui/packages/npm/lib/sass/mui-colors.scss | 34 + .../libs/mui/packages/npm/lib/sass/mui.scss | 36 + .../packages/npm/lib/sass/mui/_appbar.scss | 44 + .../packages/npm/lib/sass/mui/_buttons.scss | 232 + .../npm/lib/sass/mui/_checkbox-and-radio.scss | 60 + .../packages/npm/lib/sass/mui/_colors.scss | 340 + .../npm/lib/sass/mui/_containers.scss | 24 + .../packages/npm/lib/sass/mui/_divider.scss | 25 + .../packages/npm/lib/sass/mui/_dropdown.scss | 90 + .../mui/packages/npm/lib/sass/mui/_form.scss | 40 + .../mui/packages/npm/lib/sass/mui/_grid.scss | 37 + .../packages/npm/lib/sass/mui/_helpers.scss | 326 + .../packages/npm/lib/sass/mui/_mixins.scss | 4 + .../packages/npm/lib/sass/mui/_overlay.scss | 14 + .../mui/packages/npm/lib/sass/mui/_panel.scss | 22 + .../packages/npm/lib/sass/mui/_reboot.scss | 182 + .../packages/npm/lib/sass/mui/_ripple.scss | 55 + .../packages/npm/lib/sass/mui/_select.scss | 111 + .../mui/packages/npm/lib/sass/mui/_table.scss | 44 + .../mui/packages/npm/lib/sass/mui/_tabs.scss | 75 + .../packages/npm/lib/sass/mui/_textfield.scss | 233 + .../npm/lib/sass/mui/_typography.scss | 51 + .../packages/npm/lib/sass/mui/_variables.scss | 293 + .../npm/lib/sass/mui/mixins/_buttons.scss | 52 + .../lib/sass/mui/mixins/_grid-framework.scss | 51 + .../npm/lib/sass/mui/mixins/_typography.scss | 78 + .../npm/lib/sass/mui/mixins/_util.scss | 45 + .../npm/lib/sass/normalize-3.0.3.scss | 424 ++ .../assets/www/libs/mui/packages/npm/react.js | 27 + .../assets/www/libs/mui/src/angular/appbar.js | 30 + .../assets/www/libs/mui/src/angular/button.js | 94 + .../assets/www/libs/mui/src/angular/caret.js | 23 + .../www/libs/mui/src/angular/checkbox.js | 39 + .../assets/www/libs/mui/src/angular/col.js | 48 + .../www/libs/mui/src/angular/container.js | 36 + .../www/libs/mui/src/angular/divider.js | 25 + .../www/libs/mui/src/angular/dropdown-item.js | 27 + .../www/libs/mui/src/angular/dropdown.js | 99 + .../assets/www/libs/mui/src/angular/form.js | 24 + .../assets/www/libs/mui/src/angular/input.js | 159 + .../assets/www/libs/mui/src/angular/panel.js | 30 + .../assets/www/libs/mui/src/angular/radio.js | 39 + .../assets/www/libs/mui/src/angular/row.js | 30 + .../assets/www/libs/mui/src/angular/select.js | 284 + .../assets/www/libs/mui/src/angular/tabs.js | 133 + .../libs/mui/src/email/mui-email-inline.scss | 28 + .../mui/src/email/mui-email-styletag.scss | 11 + .../libs/mui/src/email/mui-email/_body.scss | 20 + .../mui/src/email/mui-email/_buttons.scss | 250 + .../mui/src/email/mui-email/_containers.scss | 18 + .../mui/src/email/mui-email/_divider.scss | 25 + .../libs/mui/src/email/mui-email/_grid.scss | 32 + .../mui/src/email/mui-email/_helpers.scss | 46 + .../mui/src/email/mui-email/_normalize.scss | 60 + .../libs/mui/src/email/mui-email/_panel.scss | 13 + .../libs/mui/src/email/mui-email/_reboot.scss | 66 + .../mui/src/email/mui-email/_styletag.scss | 53 + .../mui/src/email/mui-email/_typography.scss | 51 + .../mui/src/email/mui-email/_variables.scss | 135 + .../assets/www/libs/mui/src/js/config.js | 10 + .../assets/www/libs/mui/src/js/dropdown.js | 111 + .../assets/www/libs/mui/src/js/lib/forms.js | 59 + .../assets/www/libs/mui/src/js/lib/jqLite.js | 401 ++ .../assets/www/libs/mui/src/js/lib/util.js | 249 + .../assets/www/libs/mui/src/js/overlay.js | 192 + .../assets/www/libs/mui/src/js/ripple.js | 104 + .../assets/www/libs/mui/src/js/select.js | 363 ++ .../assets/www/libs/mui/src/js/tabs.js | 159 + .../assets/www/libs/mui/src/js/textfield.js | 100 + .../assets/www/libs/mui/src/react/_helpers.js | 14 + .../assets/www/libs/mui/src/react/appbar.jsx | 34 + .../assets/www/libs/mui/src/react/button.jsx | 186 + .../assets/www/libs/mui/src/react/caret.jsx | 35 + .../www/libs/mui/src/react/checkbox.jsx | 68 + .../assets/www/libs/mui/src/react/col.jsx | 72 + .../www/libs/mui/src/react/container.jsx | 44 + .../assets/www/libs/mui/src/react/divider.jsx | 35 + .../www/libs/mui/src/react/dropdown-item.jsx | 59 + .../www/libs/mui/src/react/dropdown.jsx | 200 + .../assets/www/libs/mui/src/react/form.jsx | 44 + .../assets/www/libs/mui/src/react/input.jsx | 35 + .../assets/www/libs/mui/src/react/option.jsx | 46 + .../assets/www/libs/mui/src/react/panel.jsx | 34 + .../assets/www/libs/mui/src/react/radio.jsx | 65 + .../assets/www/libs/mui/src/react/row.jsx | 39 + .../assets/www/libs/mui/src/react/select.jsx | 389 ++ .../assets/www/libs/mui/src/react/tab.jsx | 40 + .../assets/www/libs/mui/src/react/tabs.jsx | 116 + .../www/libs/mui/src/react/text-field.jsx | 239 + .../www/libs/mui/src/react/textarea.jsx | 36 + .../www/libs/mui/src/sass/mui-colors.scss | 34 + .../assets/www/libs/mui/src/sass/mui.scss | 36 + .../www/libs/mui/src/sass/mui/_appbar.scss | 44 + .../www/libs/mui/src/sass/mui/_buttons.scss | 232 + .../mui/src/sass/mui/_checkbox-and-radio.scss | 60 + .../www/libs/mui/src/sass/mui/_colors.scss | 340 + .../libs/mui/src/sass/mui/_containers.scss | 24 + .../www/libs/mui/src/sass/mui/_divider.scss | 25 + .../www/libs/mui/src/sass/mui/_dropdown.scss | 90 + .../www/libs/mui/src/sass/mui/_form.scss | 40 + .../www/libs/mui/src/sass/mui/_grid.scss | 37 + .../www/libs/mui/src/sass/mui/_helpers.scss | 326 + .../www/libs/mui/src/sass/mui/_mixins.scss | 4 + .../www/libs/mui/src/sass/mui/_overlay.scss | 14 + .../www/libs/mui/src/sass/mui/_panel.scss | 22 + .../www/libs/mui/src/sass/mui/_reboot.scss | 182 + .../www/libs/mui/src/sass/mui/_ripple.scss | 55 + .../www/libs/mui/src/sass/mui/_select.scss | 111 + .../www/libs/mui/src/sass/mui/_table.scss | 44 + .../www/libs/mui/src/sass/mui/_tabs.scss | 75 + .../www/libs/mui/src/sass/mui/_textfield.scss | 233 + .../libs/mui/src/sass/mui/_typography.scss | 51 + .../www/libs/mui/src/sass/mui/_variables.scss | 293 + .../mui/src/sass/mui/mixins/_buttons.scss | 52 + .../src/sass/mui/mixins/_grid-framework.scss | 51 + .../mui/src/sass/mui/mixins/_typography.scss | 78 + .../libs/mui/src/sass/mui/mixins/_util.scss | 45 + .../libs/mui/src/sass/normalize-3.0.3.scss | 424 ++ .../www/libs/mui/src/webcomponents/buttons.js | 89 + .../www/libs/mui/src/webcomponents/forms.js | 133 + .../android/assets/www/libs/smoothie.js | 803 +++ .../platforms/android/assets/www/test.html | 34 + .../platforms/android/res/values/strings.xml | 2 +- .../platforms/android/res/xml/config.xml | 2 +- .../ios/BLE Sensors.xcodeproj/project.pbxproj | 457 ++ .../platforms/ios/BLE Sensors/.gitignore | 5 + .../ios/BLE Sensors/BLE Sensors-Info.plist | 43 + .../ios/BLE Sensors/BLE Sensors-Prefix.pch | 26 + .../ios/BLE Sensors/Bridging-Header.h | 28 + .../ios/BLE Sensors/Classes/AppDelegate.h | 33 + .../ios/BLE Sensors/Classes/AppDelegate.m | 39 + .../BLE Sensors/Classes/MainViewController.h | 40 + .../BLE Sensors/Classes/MainViewController.m | 134 + .../Classes/MainViewController.xib | 138 + .../AppIcon.appiconset/Contents.json | 182 + .../AppIcon.appiconset/icon-40.png | Bin 0 -> 4082 bytes .../AppIcon.appiconset/icon-40@2x.png | Bin 0 -> 7411 bytes .../AppIcon.appiconset/icon-50.png | Bin 0 -> 4874 bytes .../AppIcon.appiconset/icon-50@2x.png | Bin 0 -> 9611 bytes .../AppIcon.appiconset/icon-60.png | Bin 0 -> 534 bytes .../AppIcon.appiconset/icon-60@2x.png | Bin 0 -> 809 bytes .../AppIcon.appiconset/icon-60@3x.png | Bin 0 -> 1050 bytes .../AppIcon.appiconset/icon-72.png | Bin 0 -> 618 bytes .../AppIcon.appiconset/icon-72@2x.png | Bin 0 -> 912 bytes .../AppIcon.appiconset/icon-76.png | Bin 0 -> 633 bytes .../AppIcon.appiconset/icon-76@2x.png | Bin 0 -> 944 bytes .../AppIcon.appiconset/icon-83.5@2x.png | Bin 0 -> 20563 bytes .../AppIcon.appiconset/icon-small.png | Bin 0 -> 3294 bytes .../AppIcon.appiconset/icon-small@2x.png | Bin 0 -> 5608 bytes .../AppIcon.appiconset/icon-small@3x.png | Bin 0 -> 7040 bytes .../AppIcon.appiconset/icon.png | Bin 0 -> 556 bytes .../AppIcon.appiconset/icon@2x.png | Bin 0 -> 782 bytes .../LaunchImage.launchimage/Contents.json | 156 + .../Default-568h@2x~iphone.png | Bin 0 -> 28850 bytes .../LaunchImage.launchimage/Default-667h.png | Bin 0 -> 37433 bytes .../LaunchImage.launchimage/Default-736h.png | Bin 0 -> 57448 bytes .../Default-Landscape-736h.png | Bin 0 -> 79491 bytes .../Default-Landscape@2x~ipad.png | Bin 0 -> 212234 bytes .../Default-Landscape~ipad.png | Bin 0 -> 91810 bytes .../Default-Portrait@2x~ipad.png | Bin 0 -> 61322 bytes .../Default-Portrait~ipad.png | Bin 0 -> 23280 bytes .../Default@2x~iphone.png | Bin 0 -> 23174 bytes .../Default~iphone.png | Bin 0 -> 8892 bytes .../platforms/ios/BLE Sensors/Plugins/README | 20 + .../BLECentralPlugin/BLECentralPlugin.h | 69 + .../BLECentralPlugin/BLECentralPlugin.m | 801 +++ .../BLECentralPlugin/BLECommandContext.h | 16 + .../BLECentralPlugin/BLECommandContext.m | 10 + .../CBPeripheral+Extensions.h | 37 + .../CBPeripheral+Extensions.m | 282 + .../Plugins/cordova-plugin-device/CDVDevice.h | 30 + .../Plugins/cordova-plugin-device/CDVDevice.m | 112 + .../CDVAssetLibraryFilesystem.h | 30 + .../CDVAssetLibraryFilesystem.m | 253 + .../Plugins/cordova-plugin-file/CDVFile.h | 157 + .../Plugins/cordova-plugin-file/CDVFile.m | 1117 ++++ .../cordova-plugin-file/CDVLocalFilesystem.h | 32 + .../cordova-plugin-file/CDVLocalFilesystem.m | 734 +++ .../cordova-plugin-statusbar/CDVStatusBar.h | 49 + .../cordova-plugin-statusbar/CDVStatusBar.m | 491 ++ .../platforms/ios/BLE Sensors/config.xml | 80 + .../platforms/ios/BLE Sensors/main.m | 35 + .../sensortoy/platforms/ios/www/css/app.css | 262 +- .../platforms/ios/www/css/custom.scss | 15 + .../sensortoy/platforms/ios/www/css/index.css | 115 + .../platforms/ios/www/css/material-icons.css | 15 + .../sensortoy/platforms/ios/www/css/mui.css | 1912 ++++++ .../platforms/ios/www/css/mui.custom.css | 1912 ++++++ .../platforms/ios/www/css/mui.min.css | 1 + .../platforms/ios/www/css/progress.css | 94 + .../platforms/ios/www/css/ripple.css | 195 + .../www/fonts/Material_Icons-normal-400.woff | Bin 0 -> 58804 bytes .../platforms/ios/www/fonts/fonts.css | 7 + .../sensortoy/platforms/ios/www/index.html | 126 +- .../js/device/CC2650/cc2650_accelerometer.js | 220 + .../www/js/device/CC2650/cc2650_barometer.js | 164 + .../www/js/device/CC2650/cc2650_humidity.js | 170 + .../www/js/device/CC2650/cc2650_luxometer.js | 113 + .../www/js/device/CC2650/cc2650_thermopile.js | 167 + .../sensortoy/platforms/ios/www/js/index.js | 599 ++ .../platforms/ios/www/js/mandecoder.js | 112 + .../platforms/ios/www/js/standards/battery.js | 61 + .../bluetooth_company_identifiers.js | 3240 ++++++++++ .../platforms/ios/www/js/standards/button.js | 99 + .../ios/www/js/standards/capability.js | 308 + .../platforms/ios/www/js/standards/gadget.js | 21 + .../platforms/ios/www/libs/bluebird/API.md | 1 + .../ios/www/libs/bluebird/CONTRIBUTING.md | 9 + .../platforms/ios/www/libs/bluebird/LICENSE | 21 + .../platforms/ios/www/libs/bluebird/README.md | 51 + .../platforms/ios/www/libs/bluebird/bench | 37 + .../ios/www/libs/bluebird/bower.json | 34 + .../platforms/ios/www/libs/bluebird/build | 2 + .../ios/www/libs/bluebird/changelog.md | 1 + .../ios/www/libs/bluebird/deprecated_apis.md | 1 + .../ios/www/libs/bluebird/docs/Gemfile | 8 + .../ios/www/libs/bluebird/docs/README.md | 5 + .../ios/www/libs/bluebird/docs/_config.yml | 35 + .../www/libs/bluebird/docs/_layouts/api.html | 9 + .../libs/bluebird/docs/_layouts/default.html | 136 + .../www/libs/bluebird/docs/_layouts/page.html | 14 + .../www/libs/bluebird/docs/_plugins/mdate.rb | 19 + .../www/libs/bluebird/docs/_plugins/plugin.rb | 55 + .../ios/www/libs/bluebird/docs/css/main.css | 181 + .../www/libs/bluebird/docs/css/mono-blue.css | 80 + .../libs/bluebird/docs/docs/anti-patterns.md | 172 + .../libs/bluebird/docs/docs/api-reference.md | 95 + .../bluebird/docs/docs/api/aggregateerror.md | 49 + .../www/libs/bluebird/docs/docs/api/all.md | 31 + .../www/libs/bluebird/docs/docs/api/any.md | 31 + .../libs/bluebird/docs/docs/api/ascallback.md | 114 + .../www/libs/bluebird/docs/docs/api/bind.md | 31 + .../docs/docs/api/built-in-error-types.md | 31 + .../www/libs/bluebird/docs/docs/api/call.md | 101 + .../www/libs/bluebird/docs/docs/api/cancel.md | 33 + .../bluebird/docs/docs/api/cancellation.md | 112 + .../docs/docs/api/cancellationerror.md | 32 + .../www/libs/bluebird/docs/docs/api/catch.md | 227 + .../bluebird/docs/docs/api/catchreturn.md | 43 + .../libs/bluebird/docs/docs/api/catchthrow.md | 43 + .../bluebird/docs/docs/api/collections.md | 32 + .../www/libs/bluebird/docs/docs/api/core.md | 27 + .../docs/docs/api/deferred-migration.md | 44 + .../www/libs/bluebird/docs/docs/api/delay.md | 31 + .../libs/bluebird/docs/docs/api/disposer.md | 158 + .../www/libs/bluebird/docs/docs/api/done.md | 37 + .../www/libs/bluebird/docs/docs/api/each.md | 51 + .../docs/docs/api/environment-variables.md | 41 + .../api/error-management-configuration.md | 107 + .../www/libs/bluebird/docs/docs/api/error.md | 101 + .../www/libs/bluebird/docs/docs/api/filter.md | 34 + .../libs/bluebird/docs/docs/api/finally.md | 97 + .../libs/bluebird/docs/docs/api/generators.md | 27 + .../www/libs/bluebird/docs/docs/api/get.md | 59 + .../bluebird/docs/docs/api/iscancelled.md | 31 + .../bluebird/docs/docs/api/isfulfilled.md | 31 + .../libs/bluebird/docs/docs/api/ispending.md | 32 + .../libs/bluebird/docs/docs/api/isrejected.md | 31 + .../www/libs/bluebird/docs/docs/api/map.md | 34 + .../libs/bluebird/docs/docs/api/mapseries.md | 31 + .../bluebird/docs/docs/api/new-promise.md | 79 + .../docs/docs/api/operationalerror.md | 35 + .../docs/docs/api/progression-migration.md | 105 + .../bluebird/docs/docs/api/promise.all.md | 47 + .../bluebird/docs/docs/api/promise.any.md | 31 + .../bluebird/docs/docs/api/promise.bind.md | 177 + .../bluebird/docs/docs/api/promise.config.md | 84 + .../api/promise.coroutine.addyieldhandler.md | 122 + .../docs/docs/api/promise.coroutine.md | 76 + .../bluebird/docs/docs/api/promise.delay.md | 47 + .../bluebird/docs/docs/api/promise.each.md | 42 + .../bluebird/docs/docs/api/promise.filter.md | 74 + .../docs/docs/api/promise.fromcallback.md | 80 + .../bluebird/docs/docs/api/promise.join.md | 87 + .../docs/docs/api/promise.longstacktraces.md | 93 + .../bluebird/docs/docs/api/promise.map.md | 138 + .../docs/docs/api/promise.mapseries.md | 57 + .../bluebird/docs/docs/api/promise.method.md | 72 + .../docs/docs/api/promise.noconflict.md | 47 + .../promise.onpossiblyunhandledrejection.md | 42 + .../promise.onunhandledrejectionhandled.md | 53 + .../docs/docs/api/promise.promisify.md | 78 + .../docs/docs/api/promise.promisifyall.md | 262 + .../bluebird/docs/docs/api/promise.props.md | 108 + .../bluebird/docs/docs/api/promise.race.md | 33 + .../bluebird/docs/docs/api/promise.reduce.md | 53 + .../bluebird/docs/docs/api/promise.reject.md | 32 + .../bluebird/docs/docs/api/promise.resolve.md | 47 + .../docs/docs/api/promise.setscheduler.md | 54 + .../bluebird/docs/docs/api/promise.some.md | 62 + .../bluebird/docs/docs/api/promise.try.md | 50 + .../bluebird/docs/docs/api/promise.using.md | 116 + .../docs/docs/api/promiseinspection.md | 38 + .../bluebird/docs/docs/api/promisification.md | 150 + .../www/libs/bluebird/docs/docs/api/props.md | 31 + .../www/libs/bluebird/docs/docs/api/race.md | 31 + .../www/libs/bluebird/docs/docs/api/reason.md | 36 + .../www/libs/bluebird/docs/docs/api/reduce.md | 34 + .../libs/bluebird/docs/docs/api/reflect.md | 66 + .../docs/docs/api/resource-management.md | 67 + .../www/libs/bluebird/docs/docs/api/return.md | 75 + .../www/libs/bluebird/docs/docs/api/some.md | 31 + .../www/libs/bluebird/docs/docs/api/spread.md | 69 + .../docs/api/suppressunhandledrejections.md | 82 + .../docs/docs/api/synchronous-inspection.md | 72 + .../www/libs/bluebird/docs/docs/api/tap.md | 63 + .../www/libs/bluebird/docs/docs/api/then.md | 35 + .../www/libs/bluebird/docs/docs/api/throw.md | 45 + .../libs/bluebird/docs/docs/api/timeout.md | 54 + .../bluebird/docs/docs/api/timeouterror.md | 32 + .../www/libs/bluebird/docs/docs/api/timers.md | 29 + .../libs/bluebird/docs/docs/api/utility.md | 29 + .../www/libs/bluebird/docs/docs/api/value.md | 34 + .../libs/bluebird/docs/docs/async-dialogs.md | 6 + .../bluebird/docs/docs/beginners-guide.md | 6 + .../www/libs/bluebird/docs/docs/benchmarks.md | 115 + .../www/libs/bluebird/docs/docs/changelog.md | 1884 ++++++ .../docs/docs/coming-from-other-languages.md | 86 + .../docs/docs/coming-from-other-libraries.md | 320 + .../www/libs/bluebird/docs/docs/contribute.md | 144 + .../bluebird/docs/docs/deprecated-apis.md | 106 + .../bluebird/docs/docs/deprecated_apis.md | 102 + .../docs/docs/download-api-reference.md | 6 + .../bluebird/docs/docs/error-explanations.md | 360 ++ .../www/libs/bluebird/docs/docs/features.md | 311 + .../bluebird/docs/docs/getting-started.md | 34 + .../www/libs/bluebird/docs/docs/install.md | 90 + .../bluebird/docs/docs/new-in-bluebird-3.md | 64 + .../www/libs/bluebird/docs/docs/support.md | 26 + .../docs/docs/warning-explanations.md | 85 + .../docs/docs/what-about-generators.md | 6 + .../libs/bluebird/docs/docs/why-bluebird.md | 22 + .../bluebird/docs/docs/why-performance.md | 6 + .../libs/bluebird/docs/docs/why-promises.md | 127 + .../docs/docs/working-with-callbacks.md | 463 ++ .../ios/www/libs/bluebird/docs/helpers.rb | 16 + .../www/libs/bluebird/docs/img/favicon.png | Bin 0 -> 4807 bytes .../ios/www/libs/bluebird/docs/img/logo.png | Bin 0 -> 8883 bytes .../ios/www/libs/bluebird/docs/index.html | 8 + .../ios/www/libs/bluebird/issue_template.md | 12 + .../libs/bluebird/js/browser/bluebird.core.js | 3652 +++++++++++ .../bluebird/js/browser/bluebird.core.min.js | 31 + .../www/libs/bluebird/js/browser/bluebird.js | 5474 +++++++++++++++++ .../libs/bluebird/js/browser/bluebird.min.js | 31 + .../ios/www/libs/bluebird/package.json | 76 + .../ios/www/libs/bluebird/src/any.js | 25 + .../ios/www/libs/bluebird/src/assert.js | 55 + .../ios/www/libs/bluebird/src/async.js | 174 + .../ios/www/libs/bluebird/src/bind.js | 67 + .../ios/www/libs/bluebird/src/bluebird.js | 11 + .../ios/www/libs/bluebird/src/call_get.js | 123 + .../ios/www/libs/bluebird/src/cancel.js | 132 + .../ios/www/libs/bluebird/src/catch_filter.js | 42 + .../ios/www/libs/bluebird/src/constants.js | 149 + .../ios/www/libs/bluebird/src/context.js | 69 + .../www/libs/bluebird/src/debuggability.js | 887 +++ .../www/libs/bluebird/src/direct_resolve.js | 46 + .../ios/www/libs/bluebird/src/each.js | 29 + .../ios/www/libs/bluebird/src/errors.js | 117 + .../ios/www/libs/bluebird/src/es5.js | 80 + .../ios/www/libs/bluebird/src/filter.js | 12 + .../ios/www/libs/bluebird/src/finally.js | 111 + .../ios/www/libs/bluebird/src/generators.js | 226 + .../ios/www/libs/bluebird/src/join.js | 149 + .../ios/www/libs/bluebird/src/map.js | 181 + .../ios/www/libs/bluebird/src/method.js | 57 + .../ios/www/libs/bluebird/src/nodeback.js | 51 + .../ios/www/libs/bluebird/src/nodeify.js | 62 + .../ios/www/libs/bluebird/src/promise.js | 773 +++ .../www/libs/bluebird/src/promise_array.js | 201 + .../ios/www/libs/bluebird/src/promisify.js | 326 + .../ios/www/libs/bluebird/src/props.js | 125 + .../ios/www/libs/bluebird/src/queue.js | 96 + .../ios/www/libs/bluebird/src/race.js | 50 + .../ios/www/libs/bluebird/src/reduce.js | 168 + .../ios/www/libs/bluebird/src/schedule.js | 76 + .../ios/www/libs/bluebird/src/settle.js | 51 + .../ios/www/libs/bluebird/src/some.js | 159 + .../bluebird/src/synchronous_inspection.js | 96 + .../ios/www/libs/bluebird/src/thenables.js | 89 + .../ios/www/libs/bluebird/src/timers.js | 92 + .../ios/www/libs/bluebird/src/using.js | 226 + .../ios/www/libs/bluebird/src/util.js | 381 ++ .../platforms/ios/www/libs/bluebird/tests | 2 + .../ios/www/libs/bluebird/tools/README.md | 19 + .../ios/www/libs/bluebird/tools/ast_passes.js | 708 +++ .../bluebird/tools/browser_test_generator.js | 51 + .../bluebird/tools/browser_test_runner.js | 97 + .../ios/www/libs/bluebird/tools/build.js | 337 + .../bluebird/tools/job-runner/job-runner.js | 557 ++ .../ios/www/libs/bluebird/tools/jshint.js | 20 + .../libs/bluebird/tools/jshintrc_generator.js | 52 + .../www/libs/bluebird/tools/mocha_runner.js | 143 + .../libs/bluebird/tools/saucelabs_runner.js | 198 + .../ios/www/libs/bluebird/tools/test.js | 301 + .../ios/www/libs/bluebird/tools/utils.js | 218 + .../platforms/ios/www/libs/jquery/AUTHORS.txt | 278 + .../platforms/ios/www/libs/jquery/LICENSE.txt | 36 + .../platforms/ios/www/libs/jquery/README.md | 65 + .../platforms/ios/www/libs/jquery/bower.json | 14 + .../ios/www/libs/jquery/sizzle/LICENSE.txt | 36 + .../platforms/ios/www/libs/jquery/src/ajax.js | 845 +++ .../ios/www/libs/jquery/src/ajax/jsonp.js | 100 + .../ios/www/libs/jquery/src/ajax/load.js | 83 + .../ios/www/libs/jquery/src/ajax/parseJSON.js | 13 + .../ios/www/libs/jquery/src/ajax/parseXML.js | 27 + .../ios/www/libs/jquery/src/ajax/script.js | 68 + .../www/libs/jquery/src/ajax/var/location.js | 3 + .../ios/www/libs/jquery/src/ajax/var/nonce.js | 5 + .../www/libs/jquery/src/ajax/var/rquery.js | 3 + .../ios/www/libs/jquery/src/ajax/xhr.js | 167 + .../ios/www/libs/jquery/src/attributes.js | 11 + .../www/libs/jquery/src/attributes/attr.js | 142 + .../www/libs/jquery/src/attributes/classes.js | 177 + .../www/libs/jquery/src/attributes/prop.js | 125 + .../www/libs/jquery/src/attributes/support.js | 36 + .../ios/www/libs/jquery/src/attributes/val.js | 177 + .../ios/www/libs/jquery/src/callbacks.js | 232 + .../platforms/ios/www/libs/jquery/src/core.js | 494 ++ .../ios/www/libs/jquery/src/core/DOMEval.js | 14 + .../ios/www/libs/jquery/src/core/access.js | 65 + .../ios/www/libs/jquery/src/core/init.js | 134 + .../ios/www/libs/jquery/src/core/parseHTML.js | 41 + .../ios/www/libs/jquery/src/core/ready.js | 103 + .../ios/www/libs/jquery/src/core/support.js | 18 + .../libs/jquery/src/core/var/rsingleTag.js | 5 + .../platforms/ios/www/libs/jquery/src/css.js | 515 ++ .../www/libs/jquery/src/css/addGetHookIf.js | 24 + .../ios/www/libs/jquery/src/css/adjustCSS.js | 65 + .../ios/www/libs/jquery/src/css/curCSS.js | 60 + .../www/libs/jquery/src/css/defaultDisplay.js | 72 + .../jquery/src/css/hiddenVisibleSelectors.js | 18 + .../ios/www/libs/jquery/src/css/showHide.js | 48 + .../ios/www/libs/jquery/src/css/support.js | 121 + .../www/libs/jquery/src/css/var/cssExpand.js | 3 + .../www/libs/jquery/src/css/var/getStyles.js | 15 + .../www/libs/jquery/src/css/var/isHidden.js | 16 + .../www/libs/jquery/src/css/var/rmargin.js | 3 + .../www/libs/jquery/src/css/var/rnumnonpx.js | 5 + .../ios/www/libs/jquery/src/css/var/swap.js | 24 + .../platforms/ios/www/libs/jquery/src/data.js | 187 + .../ios/www/libs/jquery/src/data/Data.js | 200 + .../ios/www/libs/jquery/src/data/accepts.js | 20 + .../ios/www/libs/jquery/src/data/support.js | 23 + .../libs/jquery/src/data/var/acceptData.js | 18 + .../www/libs/jquery/src/data/var/dataPriv.js | 5 + .../www/libs/jquery/src/data/var/dataUser.js | 5 + .../ios/www/libs/jquery/src/deferred.js | 158 + .../libs/jquery/src/deferred/exceptionHook.js | 19 + .../ios/www/libs/jquery/src/deprecated.js | 32 + .../ios/www/libs/jquery/src/dimensions.js | 54 + .../ios/www/libs/jquery/src/effects.js | 629 ++ .../ios/www/libs/jquery/src/effects/Tween.js | 121 + .../jquery/src/effects/animatedSelector.js | 13 + .../www/libs/jquery/src/effects/support.js | 58 + .../ios/www/libs/jquery/src/event.js | 710 +++ .../ios/www/libs/jquery/src/event/ajax.js | 20 + .../ios/www/libs/jquery/src/event/alias.js | 27 + .../ios/www/libs/jquery/src/event/focusin.js | 53 + .../ios/www/libs/jquery/src/event/support.js | 9 + .../ios/www/libs/jquery/src/event/trigger.js | 199 + .../ios/www/libs/jquery/src/exports/amd.js | 24 + .../ios/www/libs/jquery/src/exports/global.js | 26 + .../ios/www/libs/jquery/src/intro.js | 44 + .../ios/www/libs/jquery/src/jquery.js | 37 + .../ios/www/libs/jquery/src/manipulation.js | 481 ++ .../libs/jquery/src/manipulation/_evalUrl.js | 20 + .../jquery/src/manipulation/buildFragment.js | 102 + .../src/manipulation/createSafeFragment.js | 20 + .../libs/jquery/src/manipulation/getAll.js | 21 + .../jquery/src/manipulation/setGlobalEval.js | 20 + .../libs/jquery/src/manipulation/support.js | 33 + .../jquery/src/manipulation/var/nodeNames.js | 5 + .../src/manipulation/var/rcheckableType.js | 3 + .../manipulation/var/rleadingWhitespace.js | 3 + .../src/manipulation/var/rscriptType.js | 3 + .../jquery/src/manipulation/var/rtagName.js | 3 + .../libs/jquery/src/manipulation/wrapMap.js | 27 + .../ios/www/libs/jquery/src/offset.js | 218 + .../ios/www/libs/jquery/src/outro.js | 2 + .../ios/www/libs/jquery/src/queue.js | 143 + .../ios/www/libs/jquery/src/queue/delay.js | 22 + .../www/libs/jquery/src/selector-native.js | 211 + .../www/libs/jquery/src/selector-sizzle.js | 14 + .../ios/www/libs/jquery/src/selector.js | 1 + .../ios/www/libs/jquery/src/serialize.js | 125 + .../ios/www/libs/jquery/src/support.js | 63 + .../ios/www/libs/jquery/src/traversing.js | 175 + .../libs/jquery/src/traversing/findFilter.js | 100 + .../www/libs/jquery/src/traversing/var/dir.js | 20 + .../src/traversing/var/rneedsContext.js | 6 + .../jquery/src/traversing/var/siblings.js | 15 + .../ios/www/libs/jquery/src/var/arr.js | 3 + .../ios/www/libs/jquery/src/var/class2type.js | 5 + .../ios/www/libs/jquery/src/var/concat.js | 5 + .../ios/www/libs/jquery/src/var/deletedIds.js | 3 + .../ios/www/libs/jquery/src/var/document.js | 3 + .../libs/jquery/src/var/documentElement.js | 5 + .../ios/www/libs/jquery/src/var/hasOwn.js | 5 + .../ios/www/libs/jquery/src/var/indexOf.js | 5 + .../ios/www/libs/jquery/src/var/pnum.js | 3 + .../ios/www/libs/jquery/src/var/push.js | 5 + .../ios/www/libs/jquery/src/var/rcssNum.js | 7 + .../ios/www/libs/jquery/src/var/rnotwhite.js | 3 + .../ios/www/libs/jquery/src/var/slice.js | 5 + .../ios/www/libs/jquery/src/var/support.js | 5 + .../ios/www/libs/jquery/src/var/toString.js | 5 + .../platforms/ios/www/libs/jquery/src/wrap.js | 79 + .../platforms/ios/www/libs/mui/AUTHORS.txt | 8 + .../platforms/ios/www/libs/mui/CHANGELOG.md | 382 ++ .../platforms/ios/www/libs/mui/LICENSE.txt | 31 + .../platforms/ios/www/libs/mui/README.md | 165 + .../platforms/ios/www/libs/mui/RELEASE.md | 45 + .../platforms/ios/www/libs/mui/bower.json | 42 + .../mui/packages/cdn/angular/mui-angular.js | 1858 ++++++ .../packages/cdn/angular/mui-angular.min.js | 1 + .../ios/www/libs/mui/packages/cdn/css/mui.css | 2522 ++++++++ .../www/libs/mui/packages/cdn/css/mui.min.css | 1 + .../packages/cdn/email/mui-email-inline.css | 686 +++ .../packages/cdn/email/mui-email-styletag.css | 36 + .../cdn/extra/mui-angular-combined.js | 2 + .../mui/packages/cdn/extra/mui-colors.css | 1 + .../mui/packages/cdn/extra/mui-combined.js | 2 + .../packages/cdn/extra/mui-react-combined.js | 2 + .../ios/www/libs/mui/packages/cdn/js/mui.js | 1809 ++++++ .../www/libs/mui/packages/cdn/js/mui.min.js | 1 + .../libs/mui/packages/cdn/react/mui-react.js | 3208 ++++++++++ .../mui/packages/cdn/react/mui-react.min.js | 2 + .../cdn/webcomponents/mui-webcomponents.js | 1023 +++ .../webcomponents/mui-webcomponents.min.js | 2 + .../www/libs/mui/packages/meteor/LICENSE.txt | 31 + .../www/libs/mui/packages/meteor/README.md | 45 + .../libs/mui/packages/meteor/lib/css/mui.css | 2522 ++++++++ .../mui/packages/meteor/lib/css/mui.min.css | 1 + .../libs/mui/packages/meteor/lib/js/mui.js | 1809 ++++++ .../mui/packages/meteor/lib/js/mui.min.js | 1 + .../www/libs/mui/packages/meteor/package.js | 22 + .../ios/www/libs/mui/packages/npm/LICENSE.txt | 31 + .../ios/www/libs/mui/packages/npm/README.md | 487 ++ .../ios/www/libs/mui/packages/npm/angular.js | 31 + .../ios/www/libs/mui/packages/npm/index.js | 9 + .../mui/packages/npm/lib/angular/appbar.js | 34 + .../packages/npm/lib/angular/babel-helpers.js | 34 + .../mui/packages/npm/lib/angular/button.js | 100 + .../mui/packages/npm/lib/angular/caret.js | 27 + .../mui/packages/npm/lib/angular/checkbox.js | 35 + .../libs/mui/packages/npm/lib/angular/col.js | 52 + .../mui/packages/npm/lib/angular/container.js | 40 + .../mui/packages/npm/lib/angular/divider.js | 29 + .../packages/npm/lib/angular/dropdown-item.js | 31 + .../mui/packages/npm/lib/angular/dropdown.js | 93 + .../libs/mui/packages/npm/lib/angular/form.js | 28 + .../mui/packages/npm/lib/angular/input.js | 146 + .../mui/packages/npm/lib/angular/panel.js | 34 + .../mui/packages/npm/lib/angular/radio.js | 35 + .../libs/mui/packages/npm/lib/angular/row.js | 34 + .../mui/packages/npm/lib/angular/select.js | 256 + .../libs/mui/packages/npm/lib/angular/tabs.js | 128 + .../www/libs/mui/packages/npm/lib/css/mui.css | 2522 ++++++++ .../libs/mui/packages/npm/lib/css/mui.min.css | 1 + .../libs/mui/packages/npm/lib/js/config.js | 10 + .../libs/mui/packages/npm/lib/js/lib/forms.js | 59 + .../mui/packages/npm/lib/js/lib/jqLite.js | 401 ++ .../libs/mui/packages/npm/lib/js/lib/util.js | 249 + .../libs/mui/packages/npm/lib/js/overlay.js | 192 + .../mui/packages/npm/lib/react/_helpers.js | 11 + .../libs/mui/packages/npm/lib/react/appbar.js | 52 + .../packages/npm/lib/react/babel-helpers.js | 108 + .../libs/mui/packages/npm/lib/react/button.js | 230 + .../libs/mui/packages/npm/lib/react/caret.js | 53 + .../mui/packages/npm/lib/react/checkbox.js | 93 + .../libs/mui/packages/npm/lib/react/col.js | 94 + .../mui/packages/npm/lib/react/container.js | 61 + .../mui/packages/npm/lib/react/divider.js | 53 + .../packages/npm/lib/react/dropdown-item.js | 85 + .../mui/packages/npm/lib/react/dropdown.js | 240 + .../libs/mui/packages/npm/lib/react/form.js | 61 + .../libs/mui/packages/npm/lib/react/input.js | 50 + .../libs/mui/packages/npm/lib/react/option.js | 75 + .../libs/mui/packages/npm/lib/react/panel.js | 52 + .../libs/mui/packages/npm/lib/react/radio.js | 87 + .../libs/mui/packages/npm/lib/react/row.js | 59 + .../libs/mui/packages/npm/lib/react/select.js | 449 ++ .../libs/mui/packages/npm/lib/react/tab.js | 57 + .../libs/mui/packages/npm/lib/react/tabs.js | 146 + .../mui/packages/npm/lib/react/text-field.js | 288 + .../mui/packages/npm/lib/react/textarea.js | 51 + .../mui/packages/npm/lib/sass/mui-colors.scss | 34 + .../libs/mui/packages/npm/lib/sass/mui.scss | 36 + .../packages/npm/lib/sass/mui/_appbar.scss | 44 + .../packages/npm/lib/sass/mui/_buttons.scss | 232 + .../npm/lib/sass/mui/_checkbox-and-radio.scss | 60 + .../packages/npm/lib/sass/mui/_colors.scss | 340 + .../npm/lib/sass/mui/_containers.scss | 24 + .../packages/npm/lib/sass/mui/_divider.scss | 25 + .../packages/npm/lib/sass/mui/_dropdown.scss | 90 + .../mui/packages/npm/lib/sass/mui/_form.scss | 40 + .../mui/packages/npm/lib/sass/mui/_grid.scss | 37 + .../packages/npm/lib/sass/mui/_helpers.scss | 326 + .../packages/npm/lib/sass/mui/_mixins.scss | 4 + .../packages/npm/lib/sass/mui/_overlay.scss | 14 + .../mui/packages/npm/lib/sass/mui/_panel.scss | 22 + .../packages/npm/lib/sass/mui/_reboot.scss | 182 + .../packages/npm/lib/sass/mui/_ripple.scss | 55 + .../packages/npm/lib/sass/mui/_select.scss | 111 + .../mui/packages/npm/lib/sass/mui/_table.scss | 44 + .../mui/packages/npm/lib/sass/mui/_tabs.scss | 75 + .../packages/npm/lib/sass/mui/_textfield.scss | 233 + .../npm/lib/sass/mui/_typography.scss | 51 + .../packages/npm/lib/sass/mui/_variables.scss | 293 + .../npm/lib/sass/mui/mixins/_buttons.scss | 52 + .../lib/sass/mui/mixins/_grid-framework.scss | 51 + .../npm/lib/sass/mui/mixins/_typography.scss | 78 + .../npm/lib/sass/mui/mixins/_util.scss | 45 + .../npm/lib/sass/normalize-3.0.3.scss | 424 ++ .../ios/www/libs/mui/packages/npm/react.js | 27 + .../ios/www/libs/mui/src/angular/appbar.js | 30 + .../ios/www/libs/mui/src/angular/button.js | 94 + .../ios/www/libs/mui/src/angular/caret.js | 23 + .../ios/www/libs/mui/src/angular/checkbox.js | 39 + .../ios/www/libs/mui/src/angular/col.js | 48 + .../ios/www/libs/mui/src/angular/container.js | 36 + .../ios/www/libs/mui/src/angular/divider.js | 25 + .../www/libs/mui/src/angular/dropdown-item.js | 27 + .../ios/www/libs/mui/src/angular/dropdown.js | 99 + .../ios/www/libs/mui/src/angular/form.js | 24 + .../ios/www/libs/mui/src/angular/input.js | 159 + .../ios/www/libs/mui/src/angular/panel.js | 30 + .../ios/www/libs/mui/src/angular/radio.js | 39 + .../ios/www/libs/mui/src/angular/row.js | 30 + .../ios/www/libs/mui/src/angular/select.js | 284 + .../ios/www/libs/mui/src/angular/tabs.js | 133 + .../libs/mui/src/email/mui-email-inline.scss | 28 + .../mui/src/email/mui-email-styletag.scss | 11 + .../libs/mui/src/email/mui-email/_body.scss | 20 + .../mui/src/email/mui-email/_buttons.scss | 250 + .../mui/src/email/mui-email/_containers.scss | 18 + .../mui/src/email/mui-email/_divider.scss | 25 + .../libs/mui/src/email/mui-email/_grid.scss | 32 + .../mui/src/email/mui-email/_helpers.scss | 46 + .../mui/src/email/mui-email/_normalize.scss | 60 + .../libs/mui/src/email/mui-email/_panel.scss | 13 + .../libs/mui/src/email/mui-email/_reboot.scss | 66 + .../mui/src/email/mui-email/_styletag.scss | 53 + .../mui/src/email/mui-email/_typography.scss | 51 + .../mui/src/email/mui-email/_variables.scss | 135 + .../ios/www/libs/mui/src/js/config.js | 10 + .../ios/www/libs/mui/src/js/dropdown.js | 111 + .../ios/www/libs/mui/src/js/lib/forms.js | 59 + .../ios/www/libs/mui/src/js/lib/jqLite.js | 401 ++ .../ios/www/libs/mui/src/js/lib/util.js | 249 + .../ios/www/libs/mui/src/js/overlay.js | 192 + .../ios/www/libs/mui/src/js/ripple.js | 104 + .../ios/www/libs/mui/src/js/select.js | 363 ++ .../platforms/ios/www/libs/mui/src/js/tabs.js | 159 + .../ios/www/libs/mui/src/js/textfield.js | 100 + .../ios/www/libs/mui/src/react/_helpers.js | 14 + .../ios/www/libs/mui/src/react/appbar.jsx | 34 + .../ios/www/libs/mui/src/react/button.jsx | 186 + .../ios/www/libs/mui/src/react/caret.jsx | 35 + .../ios/www/libs/mui/src/react/checkbox.jsx | 68 + .../ios/www/libs/mui/src/react/col.jsx | 72 + .../ios/www/libs/mui/src/react/container.jsx | 44 + .../ios/www/libs/mui/src/react/divider.jsx | 35 + .../www/libs/mui/src/react/dropdown-item.jsx | 59 + .../ios/www/libs/mui/src/react/dropdown.jsx | 200 + .../ios/www/libs/mui/src/react/form.jsx | 44 + .../ios/www/libs/mui/src/react/input.jsx | 35 + .../ios/www/libs/mui/src/react/option.jsx | 46 + .../ios/www/libs/mui/src/react/panel.jsx | 34 + .../ios/www/libs/mui/src/react/radio.jsx | 65 + .../ios/www/libs/mui/src/react/row.jsx | 39 + .../ios/www/libs/mui/src/react/select.jsx | 389 ++ .../ios/www/libs/mui/src/react/tab.jsx | 40 + .../ios/www/libs/mui/src/react/tabs.jsx | 116 + .../ios/www/libs/mui/src/react/text-field.jsx | 239 + .../ios/www/libs/mui/src/react/textarea.jsx | 36 + .../ios/www/libs/mui/src/sass/mui-colors.scss | 34 + .../ios/www/libs/mui/src/sass/mui.scss | 36 + .../www/libs/mui/src/sass/mui/_appbar.scss | 44 + .../www/libs/mui/src/sass/mui/_buttons.scss | 232 + .../mui/src/sass/mui/_checkbox-and-radio.scss | 60 + .../www/libs/mui/src/sass/mui/_colors.scss | 340 + .../libs/mui/src/sass/mui/_containers.scss | 24 + .../www/libs/mui/src/sass/mui/_divider.scss | 25 + .../www/libs/mui/src/sass/mui/_dropdown.scss | 90 + .../ios/www/libs/mui/src/sass/mui/_form.scss | 40 + .../ios/www/libs/mui/src/sass/mui/_grid.scss | 37 + .../www/libs/mui/src/sass/mui/_helpers.scss | 326 + .../www/libs/mui/src/sass/mui/_mixins.scss | 4 + .../www/libs/mui/src/sass/mui/_overlay.scss | 14 + .../ios/www/libs/mui/src/sass/mui/_panel.scss | 22 + .../www/libs/mui/src/sass/mui/_reboot.scss | 182 + .../www/libs/mui/src/sass/mui/_ripple.scss | 55 + .../www/libs/mui/src/sass/mui/_select.scss | 111 + .../ios/www/libs/mui/src/sass/mui/_table.scss | 44 + .../ios/www/libs/mui/src/sass/mui/_tabs.scss | 75 + .../www/libs/mui/src/sass/mui/_textfield.scss | 233 + .../libs/mui/src/sass/mui/_typography.scss | 51 + .../www/libs/mui/src/sass/mui/_variables.scss | 293 + .../mui/src/sass/mui/mixins/_buttons.scss | 52 + .../src/sass/mui/mixins/_grid-framework.scss | 51 + .../mui/src/sass/mui/mixins/_typography.scss | 78 + .../libs/mui/src/sass/mui/mixins/_util.scss | 45 + .../libs/mui/src/sass/normalize-3.0.3.scss | 424 ++ .../www/libs/mui/src/webcomponents/buttons.js | 89 + .../www/libs/mui/src/webcomponents/forms.js | 133 + .../platforms/ios/www/libs/smoothie.js | 803 +++ .../sensortoy/platforms/ios/www/test.html | 34 + .../2.2.1/taskArtifacts/cache.properties.lock | Bin 17 -> 17 bytes .../2.2.1/taskArtifacts/fileHashes.bin | Bin 38514 -> 136167 bytes .../2.2.1/taskArtifacts/fileSnapshots.bin | Bin 180826 -> 519608 bytes .../2.2.1/taskArtifacts/outputFileStates.bin | Bin 20132 -> 21152 bytes .../2.2.1/taskArtifacts/taskArtifacts.bin | Bin 55468 -> 71509 bytes .../platforms/android/assets/www/css/app.css | 4 +- .../assets/www/gfx/censis_logo_white.png | Bin 0 -> 5975 bytes .../platforms/android/assets/www/index.html | 2 +- .../platforms/android/assets/www/js/app.js | 37 +- .../platforms/android/assets/www/js/vendor.js | 5 +- 1135 files changed, 174696 insertions(+), 186 deletions(-) create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/custom.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/index.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/material-icons.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/mui.custom.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/progress.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/css/ripple.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/fonts/Material_Icons-normal-400.woff create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_accelerometer.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_barometer.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_humidity.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_luxometer.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_thermopile.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/index.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/mandecoder.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/standards/battery.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/standards/bluetooth_company_identifiers.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/standards/button.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/standards/capability.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/js/standards/gadget.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/API.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/CONTRIBUTING.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/LICENSE create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/README.md create mode 100755 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/bench create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/bower.json create mode 100755 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/build create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/changelog.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/deprecated_apis.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/Gemfile create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/README.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/_config.yml create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/_layouts/api.html create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/_layouts/default.html create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/_layouts/page.html create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/_plugins/mdate.rb create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/_plugins/plugin.rb create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/css/main.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/css/mono-blue.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/anti-patterns.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api-reference.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/aggregateerror.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/all.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/any.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/ascallback.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/bind.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/built-in-error-types.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/call.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/cancel.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/cancellation.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/cancellationerror.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/catch.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/catchreturn.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/catchthrow.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/collections.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/core.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/deferred-migration.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/delay.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/disposer.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/done.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/each.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/environment-variables.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/error-management-configuration.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/error.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/filter.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/finally.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/generators.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/get.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/iscancelled.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/isfulfilled.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/ispending.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/isrejected.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/map.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/mapseries.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/new-promise.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/operationalerror.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/progression-migration.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.all.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.any.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.bind.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.config.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.coroutine.addyieldhandler.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.coroutine.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.delay.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.each.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.filter.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.fromcallback.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.join.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.longstacktraces.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.map.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.mapseries.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.method.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.noconflict.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.onpossiblyunhandledrejection.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.onunhandledrejectionhandled.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.promisify.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.promisifyall.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.props.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.race.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.reduce.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.reject.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.resolve.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.setscheduler.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.some.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.try.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promise.using.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promiseinspection.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/promisification.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/props.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/race.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/reason.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/reduce.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/reflect.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/resource-management.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/return.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/some.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/spread.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/suppressunhandledrejections.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/synchronous-inspection.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/tap.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/then.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/throw.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/timeout.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/timeouterror.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/timers.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/utility.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/api/value.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/async-dialogs.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/beginners-guide.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/benchmarks.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/changelog.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/coming-from-other-languages.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/coming-from-other-libraries.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/contribute.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/deprecated-apis.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/deprecated_apis.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/download-api-reference.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/error-explanations.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/features.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/getting-started.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/install.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/new-in-bluebird-3.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/support.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/warning-explanations.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/what-about-generators.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/why-bluebird.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/why-performance.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/why-promises.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/docs/working-with-callbacks.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/helpers.rb create mode 100755 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/img/favicon.png create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/img/logo.png create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/docs/index.html create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/issue_template.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/js/browser/bluebird.core.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/js/browser/bluebird.core.min.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/js/browser/bluebird.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/js/browser/bluebird.min.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/package.json create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/any.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/assert.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/async.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/bind.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/bluebird.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/call_get.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/cancel.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/catch_filter.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/constants.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/context.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/debuggability.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/direct_resolve.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/each.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/errors.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/es5.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/filter.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/finally.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/generators.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/join.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/map.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/method.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/nodeback.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/nodeify.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/promise.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/promise_array.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/promisify.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/props.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/queue.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/race.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/reduce.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/schedule.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/settle.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/some.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/synchronous_inspection.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/thenables.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/timers.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/using.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/src/util.js create mode 100755 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tests create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/README.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/ast_passes.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/browser_test_generator.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/browser_test_runner.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/build.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/job-runner/job-runner.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/jshint.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/jshintrc_generator.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/mocha_runner.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/saucelabs_runner.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/test.js create mode 100755 sensortoy/sensortoy/platforms/android/assets/www/libs/bluebird/tools/utils.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/AUTHORS.txt create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/README.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/bower.json create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/sizzle/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/jsonp.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/load.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/parseJSON.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/parseXML.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/script.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/var/location.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/var/nonce.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/var/rquery.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/ajax/xhr.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/attributes.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/attributes/attr.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/attributes/classes.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/attributes/prop.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/attributes/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/attributes/val.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/callbacks.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core/DOMEval.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core/access.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core/init.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core/parseHTML.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core/ready.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/core/var/rsingleTag.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/addGetHookIf.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/adjustCSS.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/curCSS.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/defaultDisplay.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/showHide.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/var/cssExpand.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/var/getStyles.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/var/isHidden.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/var/rmargin.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/var/rnumnonpx.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/css/var/swap.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/data.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/data/Data.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/data/accepts.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/data/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/data/var/acceptData.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/data/var/dataPriv.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/data/var/dataUser.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/deferred.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/deferred/exceptionHook.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/deprecated.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/dimensions.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/effects.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/effects/Tween.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/effects/animatedSelector.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/effects/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/event.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/event/ajax.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/event/alias.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/event/focusin.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/event/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/event/trigger.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/exports/amd.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/exports/global.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/intro.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/jquery.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/_evalUrl.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/buildFragment.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/createSafeFragment.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/getAll.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/setGlobalEval.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/var/nodeNames.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/var/rcheckableType.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/var/rleadingWhitespace.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/var/rscriptType.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/var/rtagName.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/manipulation/wrapMap.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/offset.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/outro.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/queue.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/queue/delay.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/selector-native.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/selector-sizzle.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/selector.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/serialize.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/traversing.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/traversing/findFilter.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/traversing/var/dir.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/traversing/var/rneedsContext.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/traversing/var/siblings.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/arr.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/class2type.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/concat.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/deletedIds.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/document.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/documentElement.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/hasOwn.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/indexOf.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/pnum.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/push.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/rcssNum.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/rnotwhite.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/slice.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/support.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/var/toString.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/jquery/src/wrap.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/AUTHORS.txt create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/CHANGELOG.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/README.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/RELEASE.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/bower.json create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/angular/mui-angular.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/angular/mui-angular.min.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-inline.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-styletag.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-angular-combined.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-colors.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-combined.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-react-combined.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.min.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.min.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/README.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.min.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/package.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/README.md create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/angular.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/index.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/appbar.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/babel-helpers.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/button.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/caret.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/checkbox.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/col.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/container.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/divider.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/dropdown-item.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/form.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/input.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/panel.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/radio.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/row.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/select.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/tabs.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/js/config.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/js/lib/forms.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/js/lib/jqLite.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/js/lib/util.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/js/overlay.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/_helpers.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/appbar.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/babel-helpers.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/button.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/caret.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/checkbox.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/col.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/container.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/divider.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/dropdown-item.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/form.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/input.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/option.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/panel.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/radio.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/row.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/select.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/tab.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/tabs.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/text-field.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/react/textarea.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui-colors.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_appbar.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_checkbox-and-radio.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_colors.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_containers.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_divider.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_dropdown.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_form.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_grid.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_helpers.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_mixins.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_overlay.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_panel.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_reboot.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_ripple.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_select.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_table.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_tabs.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_textfield.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/_variables.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/mixins/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/mixins/_grid-framework.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/mixins/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/mui/mixins/_util.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/sass/normalize-3.0.3.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/react.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/appbar.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/button.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/caret.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/checkbox.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/col.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/container.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/divider.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/dropdown-item.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/form.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/input.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/panel.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/radio.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/row.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/select.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/tabs.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email-inline.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email-styletag.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_body.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_containers.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_divider.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_grid.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_helpers.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_normalize.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_panel.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_reboot.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_styletag.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/email/mui-email/_variables.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/config.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/lib/forms.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/lib/jqLite.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/lib/util.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/overlay.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/ripple.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/select.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/tabs.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/js/textfield.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/_helpers.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/appbar.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/button.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/caret.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/checkbox.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/col.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/container.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/divider.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown-item.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/form.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/input.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/option.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/panel.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/radio.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/row.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/select.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tab.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tabs.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/text-field.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/textarea.jsx create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui-colors.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_appbar.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_checkbox-and-radio.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_colors.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_containers.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_divider.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_dropdown.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_form.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_grid.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_helpers.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_mixins.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_overlay.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_panel.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_reboot.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_ripple.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_select.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_table.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_tabs.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_textfield.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/_variables.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/mixins/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/mixins/_grid-framework.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/mixins/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/mui/mixins/_util.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/sass/normalize-3.0.3.scss create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/webcomponents/buttons.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/webcomponents/forms.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/libs/smoothie.js create mode 100644 sensortoy/sensortoy/platforms/android/assets/www/test.html create mode 100755 sensortoy/sensortoy/platforms/ios/BLE Sensors.xcodeproj/project.pbxproj create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/.gitignore create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/BLE Sensors-Info.plist create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/BLE Sensors-Prefix.pch create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Bridging-Header.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Classes/AppDelegate.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Classes/AppDelegate.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Classes/MainViewController.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Classes/MainViewController.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Classes/MainViewController.xib create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-40.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-40@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-50.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-50@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-60.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-60@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-60@3x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-72.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-72@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-76.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-76@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-small.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-small@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon-small@3x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/AppIcon.appiconset/icon@2x.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Contents.json create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-568h@2x~iphone.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-667h.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-736h.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-Landscape-736h.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x~ipad.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-Landscape~ipad.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x~ipad.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default-Portrait~ipad.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default@2x~iphone.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Images.xcassets/LaunchImage.launchimage/Default~iphone.png create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/README create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-ble-central/BLECentralPlugin/BLECentralPlugin.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-ble-central/BLECentralPlugin/BLECentralPlugin.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-ble-central/BLECentralPlugin/BLECommandContext.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-ble-central/BLECentralPlugin/BLECommandContext.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-ble-central/BLECentralPlugin/CBPeripheral+Extensions.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-ble-central/BLECentralPlugin/CBPeripheral+Extensions.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-device/CDVDevice.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-device/CDVDevice.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-file/CDVAssetLibraryFilesystem.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-file/CDVAssetLibraryFilesystem.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-file/CDVFile.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-file/CDVFile.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-file/CDVLocalFilesystem.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-file/CDVLocalFilesystem.m create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-statusbar/CDVStatusBar.h create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/Plugins/cordova-plugin-statusbar/CDVStatusBar.m create mode 100755 sensortoy/sensortoy/platforms/ios/BLE Sensors/config.xml create mode 100644 sensortoy/sensortoy/platforms/ios/BLE Sensors/main.m create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/custom.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/index.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/material-icons.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/mui.custom.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/progress.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/css/ripple.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/fonts/Material_Icons-normal-400.woff create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/device/CC2650/cc2650_accelerometer.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/device/CC2650/cc2650_barometer.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/device/CC2650/cc2650_humidity.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/device/CC2650/cc2650_luxometer.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/device/CC2650/cc2650_thermopile.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/index.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/mandecoder.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/standards/battery.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/standards/bluetooth_company_identifiers.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/standards/button.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/standards/capability.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/js/standards/gadget.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/API.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/CONTRIBUTING.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/LICENSE create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/README.md create mode 100755 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/bench create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/bower.json create mode 100755 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/build create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/changelog.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/deprecated_apis.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/Gemfile create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/README.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/_config.yml create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/_layouts/api.html create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/_layouts/default.html create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/_layouts/page.html create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/_plugins/mdate.rb create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/_plugins/plugin.rb create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/css/main.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/css/mono-blue.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/anti-patterns.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api-reference.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/aggregateerror.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/all.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/any.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/ascallback.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/bind.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/built-in-error-types.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/call.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/cancel.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/cancellation.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/cancellationerror.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/catch.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/catchreturn.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/catchthrow.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/collections.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/core.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/deferred-migration.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/delay.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/disposer.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/done.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/each.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/environment-variables.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/error-management-configuration.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/error.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/filter.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/finally.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/generators.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/get.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/iscancelled.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/isfulfilled.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/ispending.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/isrejected.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/map.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/mapseries.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/new-promise.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/operationalerror.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/progression-migration.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.all.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.any.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.bind.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.config.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.coroutine.addyieldhandler.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.coroutine.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.delay.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.each.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.filter.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.fromcallback.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.join.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.longstacktraces.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.map.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.mapseries.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.method.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.noconflict.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.onpossiblyunhandledrejection.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.onunhandledrejectionhandled.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.promisify.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.promisifyall.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.props.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.race.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.reduce.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.reject.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.resolve.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.setscheduler.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.some.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.try.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promise.using.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promiseinspection.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/promisification.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/props.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/race.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/reason.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/reduce.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/reflect.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/resource-management.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/return.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/some.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/spread.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/suppressunhandledrejections.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/synchronous-inspection.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/tap.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/then.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/throw.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/timeout.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/timeouterror.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/timers.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/utility.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/api/value.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/async-dialogs.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/beginners-guide.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/benchmarks.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/changelog.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/coming-from-other-languages.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/coming-from-other-libraries.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/contribute.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/deprecated-apis.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/deprecated_apis.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/download-api-reference.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/error-explanations.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/features.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/getting-started.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/install.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/new-in-bluebird-3.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/support.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/warning-explanations.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/what-about-generators.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/why-bluebird.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/why-performance.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/why-promises.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/docs/working-with-callbacks.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/helpers.rb create mode 100755 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/img/favicon.png create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/img/logo.png create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/docs/index.html create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/issue_template.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/js/browser/bluebird.core.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/js/browser/bluebird.core.min.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/js/browser/bluebird.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/js/browser/bluebird.min.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/package.json create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/any.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/assert.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/async.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/bind.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/bluebird.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/call_get.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/cancel.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/catch_filter.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/constants.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/context.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/debuggability.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/direct_resolve.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/each.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/errors.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/es5.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/filter.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/finally.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/generators.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/join.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/map.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/method.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/nodeback.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/nodeify.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/promise.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/promise_array.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/promisify.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/props.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/queue.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/race.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/reduce.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/schedule.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/settle.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/some.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/synchronous_inspection.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/thenables.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/timers.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/using.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/src/util.js create mode 100755 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tests create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/README.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/ast_passes.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/browser_test_generator.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/browser_test_runner.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/build.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/job-runner/job-runner.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/jshint.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/jshintrc_generator.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/mocha_runner.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/saucelabs_runner.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/test.js create mode 100755 sensortoy/sensortoy/platforms/ios/www/libs/bluebird/tools/utils.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/AUTHORS.txt create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/README.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/bower.json create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/sizzle/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/jsonp.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/load.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/parseJSON.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/parseXML.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/script.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/var/location.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/var/nonce.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/var/rquery.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/ajax/xhr.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/attributes.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/attributes/attr.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/attributes/classes.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/attributes/prop.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/attributes/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/attributes/val.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/callbacks.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core/DOMEval.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core/access.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core/init.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core/parseHTML.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core/ready.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/core/var/rsingleTag.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/addGetHookIf.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/adjustCSS.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/curCSS.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/defaultDisplay.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/showHide.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/var/cssExpand.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/var/getStyles.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/var/isHidden.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/var/rmargin.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/var/rnumnonpx.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/css/var/swap.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/data.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/data/Data.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/data/accepts.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/data/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/data/var/acceptData.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/data/var/dataPriv.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/data/var/dataUser.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/deferred.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/deferred/exceptionHook.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/deprecated.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/dimensions.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/effects.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/effects/Tween.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/effects/animatedSelector.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/effects/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/event.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/event/ajax.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/event/alias.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/event/focusin.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/event/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/event/trigger.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/exports/amd.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/exports/global.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/intro.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/jquery.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/_evalUrl.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/buildFragment.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/createSafeFragment.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/getAll.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/setGlobalEval.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/nodeNames.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rcheckableType.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rleadingWhitespace.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rscriptType.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rtagName.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/wrapMap.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/offset.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/outro.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue/delay.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-native.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-sizzle.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/serialize.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/findFilter.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/dir.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/rneedsContext.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/siblings.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/arr.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/class2type.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/concat.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/deletedIds.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/document.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/documentElement.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/hasOwn.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/indexOf.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/pnum.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/push.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rcssNum.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rnotwhite.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/slice.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/support.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/toString.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/wrap.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/AUTHORS.txt create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/CHANGELOG.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/README.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/RELEASE.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/bower.json create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/angular/mui-angular.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/angular/mui-angular.min.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-inline.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-styletag.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-angular-combined.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-colors.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-combined.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-react-combined.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.min.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.min.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/README.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.min.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/package.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/LICENSE.txt create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/README.md create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/angular.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/index.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/appbar.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/babel-helpers.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/button.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/caret.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/checkbox.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/col.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/container.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/divider.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/dropdown-item.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/form.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/input.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/panel.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/radio.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/row.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/select.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/tabs.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/css/mui.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/css/mui.min.css create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/js/config.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/js/lib/forms.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/js/lib/jqLite.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/js/lib/util.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/js/overlay.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/_helpers.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/appbar.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/babel-helpers.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/button.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/caret.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/checkbox.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/col.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/container.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/divider.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/dropdown-item.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/form.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/input.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/option.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/panel.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/radio.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/row.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/select.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/tab.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/tabs.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/text-field.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/react/textarea.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui-colors.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_appbar.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_checkbox-and-radio.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_colors.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_containers.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_divider.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_dropdown.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_form.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_grid.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_helpers.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_mixins.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_overlay.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_panel.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_reboot.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_ripple.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_select.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_table.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_tabs.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_textfield.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/_variables.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/mixins/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/mixins/_grid-framework.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/mixins/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/mui/mixins/_util.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/sass/normalize-3.0.3.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/react.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/appbar.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/button.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/caret.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/checkbox.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/col.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/container.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/divider.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/dropdown-item.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/form.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/input.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/panel.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/radio.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/row.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/select.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/tabs.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email-inline.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email-styletag.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_body.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_containers.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_divider.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_grid.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_helpers.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_normalize.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_panel.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_reboot.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_styletag.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/email/mui-email/_variables.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/config.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/dropdown.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/lib/forms.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/lib/jqLite.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/lib/util.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/overlay.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/ripple.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/select.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/tabs.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/js/textfield.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/_helpers.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/appbar.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/button.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/caret.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/checkbox.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/col.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/container.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/divider.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown-item.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/form.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/input.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/option.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/panel.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/radio.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/row.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/select.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tab.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tabs.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/text-field.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/textarea.jsx create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui-colors.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_appbar.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_checkbox-and-radio.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_colors.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_containers.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_divider.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_dropdown.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_form.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_grid.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_helpers.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_mixins.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_overlay.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_panel.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_reboot.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_ripple.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_select.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_table.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_tabs.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_textfield.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/_variables.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/mixins/_buttons.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/mixins/_grid-framework.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/mixins/_typography.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/mui/mixins/_util.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/sass/normalize-3.0.3.scss create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/webcomponents/buttons.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/mui/src/webcomponents/forms.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/libs/smoothie.js create mode 100644 sensortoy/sensortoy/platforms/ios/www/test.html create mode 100644 smartoffice/SODashApp/SODashApp/platforms/android/assets/www/gfx/censis_logo_white.png diff --git a/sensortoy/sensortoy/.gitignore b/sensortoy/sensortoy/.gitignore index 28b3f7c..ded1302 100644 --- a/sensortoy/sensortoy/.gitignore +++ b/sensortoy/sensortoy/.gitignore @@ -181,3 +181,50 @@ dist www/libs /www/ /app/libs/ +### Android template +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# Intellij +*.iml +.idea/workspace.xml + +# Keystore files +*.jks +### Dropbox template +# Dropbox settings and caches +.dropbox +.dropbox.attr +.dropbox.cache + diff --git a/sensortoy/sensortoy/app/js/device/CC2650/cc2650_accelerometer.js b/sensortoy/sensortoy/app/js/device/CC2650/cc2650_accelerometer.js index 1567883..1c596dc 100644 --- a/sensortoy/sensortoy/app/js/device/CC2650/cc2650_accelerometer.js +++ b/sensortoy/sensortoy/app/js/device/CC2650/cc2650_accelerometer.js @@ -9,7 +9,8 @@ /* global ble */ /* jshint browser: true , devel: true*/ -var CC2650_ACCEL = function(p) { +var CC2650_ACCEL; +CC2650_ACCEL = function(p) { 'use strict'; this.name = 'Accelerometer'; this.deviceID = p.deviceID || null; @@ -17,155 +18,342 @@ var CC2650_ACCEL = function(p) { this.capabilityID = 'F000AA80-0451-4000-B000-000000000000'; this.serviceDef = { - service: 'F000AA80-0451-4000-B000-000000000000', - data: 'F000AA81-0451-4000-B000-000000000000', // Read/notify 3 bytes X : Y : Z - notification: 'F0002902-0451-4000-B000-000000000000', - configuration: 'F000AA82-0451-4000-B000-000000000000', // Read/write 1 byte - period: 'F000AA83-0451-4000-B000-000000000000' // Read/write 1 byte Period = [Input*10]ms - }; + service: 'F000AA80-0451-4000-B000-000000000000', + data: 'F000AA81-0451-4000-B000-000000000000', // Read/notify 3 bytes X : Y : Z + notification: 'F0002902-0451-4000-B000-000000000000', + configuration: 'F000AA82-0451-4000-B000-000000000000', // Read/write 1 byte + period: 'F000AA83-0451-4000-B000-000000000000' // Read/write 1 byte Period = [Input*10]ms + }; this.frames = {}; this.$id = {}; this.$result = {}; + this.data = { + gyro: {x: [], y: [], z: []}, + accel: {x: [], y: [], z: []}, + mag: {x: [], y: [], z: []} + }; this.setFrame(); this.sensorMpu9250GyroConvert = function(data) { - return data / (65536 / 500); - }; + return (data * 1.0) / (65536 / 500); + }; this.sensorMpu9250AccConvert = function(data) { - // Change /2 to match accel range...i.e. 16 g would be /16 - return data / (32768 / 2); + // Change /2 to match accel range...i.e. 16 g would be /16 + return (data * 1.0) / (32768 / 2); + }; + + this.processData = function(data) { + var a = new Int16Array(data); + var calcData = { + gyro: { + x: this.sensorMpu9250GyroConvert(a[0]), + y: this.sensorMpu9250GyroConvert(a[1]), + z: this.sensorMpu9250GyroConvert(a[2]) + }, accel: { + x: this.sensorMpu9250AccConvert(a[3]), + y: this.sensorMpu9250AccConvert(a[4]), + z: this.sensorMpu9250AccConvert(a[5]) + }, mag: { + x: a[6], y: a[7], z: a[8] + } }; + return calcData; + }; this.onAccelerometerData = function(data) { - // Console.log(data); - var message; - var a = new Int16Array(data); + // Console.log(data); + var message; + var calcData; - // 0 gyro x - // 1 gyro y - // 2 gyro z - // 3 accel x - // 4 accel y - // 5 accel z - // 6 mag x - // 7 mag y - // 8 mag z + calcData = this.processData(data); - // TODO get a template to line this up - // TODO round or format numbers for better display - message = 'Gyro
' + - 'X: ' + this.sensorMpu9250GyroConvert(a[0]).toFixed(5) + '
' + - 'Y: ' + this.sensorMpu9250GyroConvert(a[1]) + '
' + - 'Z: ' + this.sensorMpu9250GyroConvert(a[2]) + '
' + - 'Accel
' + - 'X: ' + this.sensorMpu9250AccConvert(a[3]) + '
' + - 'Y: ' + this.sensorMpu9250AccConvert(a[4]) + '
' + - 'Z: ' + this.sensorMpu9250AccConvert(a[5]) + '
' + - 'Mag
' + - 'X: ' + a[3] + '
' + - 'Y: ' + a[4] + '
' + - 'Z: ' + a[5] + '
' ; + message = 'Gyro
' + 'X: ' + calcData.gyro.x + '
' + 'Y: ' + calcData.gyro.y + '
' + 'Z: ' + calcData.gyro.z + '
' + 'Accel
' + 'X: ' + calcData.accel.x + '
' + 'Y: ' + calcData.accel.y + '
' + 'Z: ' + calcData.accel.z + '
' + 'Mag
' + 'X: ' + calcData.mag.x + '
' + 'Y: ' + calcData.mag.y + '
' + 'Z: ' + calcData.mag.z + '
'; - this.state = message; + this.state = message; - this.$result[this.frames.gyroID + '-x'].text(this.sensorMpu9250GyroConvert(a[0]).toFixed(5)); - this.$result[this.frames.gyroID + '-y'].text(this.sensorMpu9250GyroConvert(a[1]).toFixed(5)); - this.$result[this.frames.gyroID + '-z'].text(this.sensorMpu9250GyroConvert(a[2]).toFixed(5)); + this.$result[this.frames.gyroID + '-x'].text(calcData.gyro.x.toFixed(5)); + this.$result[this.frames.gyroID + '-y'].text(calcData.gyro.y.toFixed(5)); + this.$result[this.frames.gyroID + '-z'].text(calcData.gyro.z.toFixed(5)); - this.$result[this.frames.accelID + '-x'].text(this.sensorMpu9250AccConvert(a[3]).toFixed(5)); - this.$result[this.frames.accelID + '-y'].text(this.sensorMpu9250AccConvert(a[4]).toFixed(5)); - this.$result[this.frames.accelID + '-z'].text(this.sensorMpu9250AccConvert(a[5]).toFixed(5)); + this.$result[this.frames.accelID + '-x'].text(calcData.accel.x.toFixed(5)); + this.$result[this.frames.accelID + '-y'].text(calcData.accel.y.toFixed(5)); + this.$result[this.frames.accelID + '-z'].text(calcData.accel.z.toFixed(5)); - this.$result[this.frames.magID + '-x'].text(a[3]); - this.$result[this.frames.magID + '-y'].text(a[4]); - this.$result[this.frames.magID + '-z'].text(a[5]); + this.$result[this.frames.magID + '-x'].text(calcData.mag.x); + this.$result[this.frames.magID + '-y'].text(calcData.mag.y); + this.$result[this.frames.magID + '-z'].text(calcData.mag.z); - // Console.log(this.state); - }; + this.data.gyro.x = this.storeData(calcData.gyro.x, this.data.gyro.x); + this.data.gyro.y = this.storeData(calcData.gyro.y, this.data.gyro.y); + this.data.gyro.z = this.storeData(calcData.gyro.z, this.data.gyro.z); + + this.data.accel.x = this.storeData(calcData.accel.x, this.data.accel.x); + this.data.accel.y = this.storeData(calcData.accel.y, this.data.accel.y); + this.data.accel.z = this.storeData(calcData.accel.z, this.data.accel.z); + + this.data.mag.x = this.storeData(calcData.mag.x, this.data.mag.x); + this.data.mag.y = this.storeData(calcData.mag.y, this.data.mag.y); + this.data.mag.z = this.storeData(calcData.mag.z, this.data.mag.z); + + // Console.log(JSON.stringify(this.data)); + // Console.log(this.state); + }; this.startService = function() { - if (this.deviceID !== null) { + if (this.deviceID !== null) { - console.log('Starting CC2650 Accelerometer Service on ', this.deviceID); - console.log(this.serviceDef); + console.log('Starting CC2650 Accelerometer Service on ', this.deviceID); + console.log(this.serviceDef); - ble.startNotification(this.deviceID, this.serviceDef.service, this.serviceDef.data, this.onAccelerometerData.bind(this), this.onError); + this.setInternalID(); + this.insertFrame('gyro'); + this.insertFrame('accel'); + this.insertFrame('mag'); - // Turn accelerometer on - var configData = new Uint16Array(1); - // Turn on gyro, accel, and mag, 2G range, Disable wake on motion - configData[0] = 0x007F; - ble.write(this.deviceID, this.serviceDef.service, this.serviceDef.configuration, configData.buffer, - function() { console.log('Started accelerometer.'); }, this.onError); + ble.startNotification(this.deviceID, + this.serviceDef.service, + this.serviceDef.data, + this.onAccelerometerData.bind(this), + this.onError); - var periodData = new Uint8Array(1); - periodData[0] = 0x0A; - // Ble.write(deviceId, accelerometer.service, accelerometer.period, periodData.buffer, - // function() { console.log("Configured accelerometer period."); },app.onError); + // Turn accelerometer on + var configData = new Uint16Array(1); + // Turn on gyro, accel, and mag, 2G range, Disable wake on motion + configData[0] = 0x007F; + ble.write(this.deviceID, + this.serviceDef.service, + this.serviceDef.configuration, + configData.buffer, + function() { console.log('Started accelerometer.'); }, + this.onError); + + var periodData = new Uint8Array(1); + periodData[0] = 0x0A; + ble.write(this.deviceID, + this.serviceDef.service, + this.serviceDef.period, + periodData.buffer, + function() { console.log('Configured accelerometer period.'); }, + this.onError); + } + + }; + + this.advancedGraph = function(mode, data, subID) { + + var lm; + var ceiling; + var elm; + var text2ID; + var ceilingLimit; + var calcArray; + var floor; + var _subID; + var _data; + var text1ID; + var lineID; + var max; + + var parts = ['x', 'y', 'z']; + + _data = data || this.data; + + _subID = subID || ''; + + // LineID = [this.frameID , _subID , '-line'].join(''); + text1ID = [this.frameID, _subID, '-txt1'].join(''); + text2ID = [this.frameID, _subID, '-txt2'].join(''); + + if (_data.x.length > 0) { + + max = 2; + + for (var lineMode = 0; lineMode < parts.length; lineMode++) { + lm = parts[lineMode]; + ceiling = _data[lm].reduce(function(p, v) { + return (Math.abs(p) > Math.abs(v) ? Math.abs(p) : Math.abs(v)); + }); + + + if (ceiling > 500) { + max = (ceiling > max) ? (Math.ceil((Math.round(ceiling) + 1) / 50) * 50) : max; + } else { + max = (ceiling > max) ? (Math.ceil((Math.round(ceiling) + 1) / 10) * 10) : max; + } + } + + console.log('accel max:', max) + ceiling = max; + floor = max * -1; + ceilingLimit = ceiling; + + var scalePos = (124 / 2) / ceiling; + var scaleNeg = (124 / 2) / floor; + // Var xstep = (280 - 46) / 100; + var xstep = 2.34; + + for (lineMode = 0; lineMode < parts.length; lineMode++) { + + lm = parts[lineMode]; + var startX = 46 + (100 - _data[lm].length) * xstep; + + calcArray = []; + + lineID = this.frameID + _subID + '-' + lm + '-line'; + for (var x = 0; x < _data[lm].length; x++) { + + calcArray.push((startX + (x * xstep)).toFixed(2) + ',' + (71 - ((_data[lm][x]) * scalePos)).toFixed( + 2)); + + } + + elm = document.getElementById(lineID); + + elm.setAttribute('points', calcArray.join(' ')); + + } + + elm = document.getElementById(text1ID); + elm.textContent = ceilingLimit; + + elm = document.getElementById(text2ID); + elm.textContent = floor; - this.setInternalID(); - this.insertFrame('gyro'); - this.insertFrame('accel'); - this.insertFrame('mag'); } }; this.animateGraph = function() { - // Nothing to animate yet + // Nothing to animate yet - return -1; - }; + // return -1; + this.advancedGraph(0, this.data.gyro, 'gyro'); + this.advancedGraph(0, this.data.accel, 'accel'); + this.advancedGraph(0, this.data.mag, 'mag'); + // This.simpleGraph(this.data.temp, 'temp'); + // this.simpleGraph(this.data.pressure, 'pressure'); + }; + + this.generateBlankGraphBase = function(subID) { + + var _subID = subID || ''; + var xmlns = 'http://www.w3.org/2000/svg'; + + var svgID = this.frameID + _subID + '-svg'; + var text1ID = this.frameID + _subID + '-txt1'; + var text2ID = this.frameID + _subID + '-txt2'; + + var svg = document.createElementNS(xmlns, 'svg'); + + svg.setAttributeNS(xmlns, 'id', svgID); + svg.setAttributeNS(xmlns, 'width', '300'); + svg.setAttributeNS(xmlns, 'height', '150'); + svg.setAttributeNS(xmlns, 'fill', 'blue'); + + svg = this.graphAddXAxis(svg, {y: 12, colour: '#004c6d', id: text1ID}); + svg = this.graphAddXAxis(svg, {y: 136, colour: '#004c6d', id: text2ID}); + svg = this.graphAddXAxis(svg, {y: 71, colour: '#004c6d', text: '0'}); + + return svg; + + }; + + this.generateBlankGraph = function(subID) { + + var _subID = subID || ''; + var xlineID = this.frameID + _subID + '-x-line'; + var ylineID = this.frameID + _subID + '-y-line'; + var zlineID = this.frameID + _subID + '-z-line'; + + var svg = this.generateBlankGraphBase(_subID); + + svg = this.graphAddLine(svg, xlineID, 'rgba(255,0,0,0.5)'); + svg = this.graphAddLine(svg, ylineID, 'rgba(0,255,0,0.5)'); + svg = this.graphAddLine(svg, zlineID, 'rgba(0,0,255,0.5)'); + + return svg; + + }; this.insertFrame = function(mode) { - var frame; - var title; - var modeID = mode + 'ID'; - this.frames[modeID] = this.frameID + '-' + mode; + var frame; + var title; + var modeID = mode + 'ID'; + this.frames[modeID] = this.frameID + '-' + mode; - var titles = {gyro: 'Gyroscope', accel: 'Accelerometer', mag: 'Magnetometer'}; - - console.log('FrameID: ' , this.frames[modeID]); - - title = [titles[mode], ' - ', this.deviceID].join(' '); - - frame = $('
', { - class: 'mui-panel', id: this.frames[modeID] - }); - - $('
', { class: 'mui-row'}).append($('
', { class: 'mui-col-xs-12 mui--text-title mui-ellipsis-2', text: title})).appendTo(frame); - - this.$frame.append(frame); - this.$id[modeID] = $('#' + this.frames[modeID]); - - // Call the parent displayForm first... - - var row = $('
', {class: 'mui-row'}); - - $('
', { class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'X'}).appendTo(row); - $('
', { class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'Y'}).appendTo(row); - $('
', { class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'Z'}).appendTo(row); - - this.$id[modeID].append(row); - - row = $('
', {class: 'mui-row'}); - - $('
', { class: 'mui-col-xs-4 mui--text-dark mui--text-center', text: '--', id: this.frames[modeID] + '-x' }).appendTo(row); - $('
', { class: 'mui-col-xs-4 mui--text-dark mui--text-center', text: '--', id: this.frames[modeID] + '-y'}).appendTo(row); - $('
', { class: 'mui-col-xs-4 mui--text-dark mui--text-center', text: '--', id: this.frames[modeID] + '-z'}).appendTo(row); - - this.$id[modeID].append(row); - - this.$result[this.frames[modeID] + '-x'] = $('#' + this.frames[modeID] + '-x'); - this.$result[this.frames[modeID] + '-y'] = $('#' + this.frames[modeID] + '-y'); - this.$result[this.frames[modeID] + '-z'] = $('#' + this.frames[modeID] + '-z'); + var titles = { + gyro: 'Gyroscope', accel: 'Accelerometer', mag: 'Magnetometer' }; + var modes = ['gyro', 'accel', 'mag']; + + console.log('FrameID: ', this.frames[modeID]); + + title = [titles[mode], ' - ', this.deviceID].join(' '); + + frame = $('
', { + class: 'mui-panel', id: this.frames[modeID] + }); + + $('
', {class: 'mui-row'}).append($('
', { + class: 'mui-col-xs-12 mui--text-title mui-ellipsis-2', text: title + })).appendTo(frame); + + this.$frame.append(frame); + this.$id[modeID] = $('#' + this.frames[modeID]); + + // Call the parent displayForm first... + + var row = $('
', {class: 'mui-row'}); + + $('
', { + class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'X' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'Y' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'Z' + }).appendTo(row); + + this.$id[modeID].append(row); + + row = $('
', {class: 'mui-row'}); + + $('
', { + class: 'mui-col-xs-4 mui--text-dark mui--text-center', + text: '--', + id: this.frames[modeID] + '-x' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-dark mui--text-center', + text: '--', + id: this.frames[modeID] + '-y' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-dark mui--text-center', + text: '--', + id: this.frames[modeID] + '-z' + }).appendTo(row); + + this.$id[modeID].append(row); + + this.$result[this.frames[modeID] + '-x'] = $('#' + this.frames[modeID] + '-x'); + this.$result[this.frames[modeID] + '-y'] = $('#' + this.frames[modeID] + '-y'); + this.$result[this.frames[modeID] + '-z'] = $('#' + this.frames[modeID] + '-z'); + + row = $('
', {class: 'mui-row'}); + + var _graph = this.generateBlankGraph(mode); + row.append($('
', {class: 'mui-col-md-12'}).append(_graph)); + + this.$id[modeID].append(row); + }; }; diff --git a/sensortoy/sensortoy/app/js/device/CC2650/cc2650_humidity.js b/sensortoy/sensortoy/app/js/device/CC2650/cc2650_humidity.js index 632fda9..8dc3179 100644 --- a/sensortoy/sensortoy/app/js/device/CC2650/cc2650_humidity.js +++ b/sensortoy/sensortoy/app/js/device/CC2650/cc2650_humidity.js @@ -5,7 +5,7 @@ * Time: 10:13 * */ -/* global CAPABILITY, inheritsFrom, capabilityManager */ +/* global CAPABILITY, inheritsFrom, capabilityManager, device */ /* global ble */ /* jshint browser: true , devel: true*/ diff --git a/sensortoy/sensortoy/app/js/index.js b/sensortoy/sensortoy/app/js/index.js index 3e27241..6056a88 100644 --- a/sensortoy/sensortoy/app/js/index.js +++ b/sensortoy/sensortoy/app/js/index.js @@ -112,16 +112,14 @@ app = { return decoded; }, makeHexBuffer: function(buffer) { 'use strict'; - var hexBuffer = buffer.map(function(i) { + return buffer.map(function(i) { return ('00' + i.toString(16)).slice(-2) + ','; }); - return hexBuffer; }, makeChars: function(buffer) { 'use strict'; - var output = buffer.map(function(i) { + return buffer.map(function(i) { return String.fromCharCode(i); }); - return output; }, calculateDistance: function(txPower, rssi) { // If there is 0 txPower then default it to -12dBm which appears to be a general default. @@ -133,7 +131,18 @@ app = { return Math.sqrt(ratio_linear); - }, buildNewDeviceResultPanel: function(device) { + }, /** + * + * @param device + * @param device.rssi + * @param device.otherData + * @param device.id + * @param device.name + * @param device.rssiBuffer + * @returns {jQuery|HTMLElement|*} + */ + + buildNewDeviceResultPanel: function(device) { 'use strict'; var dString; var accuracy; @@ -278,7 +287,16 @@ app = { } return rObj; - }, foundDevice: function(device) { + }, + /** + * + * @param device + * @param device.advertising + * @param device.rssi + * @param device.id + */ + + foundDevice: function(device) { var rssiBuffer; var oldRSSIBuffer; var newPData; @@ -511,6 +529,11 @@ app = { var tID = 'd-' + deviceId.replace(/:/g, '').split('-')[0]; + /** + * + * @param a + * @param a.services + */ var onConnect = function(a) { var services = []; diff --git a/sensortoy/sensortoy/app/js/standards/bluetooth_company_identifiers.js b/sensortoy/sensortoy/app/js/standards/bluetooth_company_identifiers.js index 2cd4c02..ac00a4b 100644 --- a/sensortoy/sensortoy/app/js/standards/bluetooth_company_identifiers.js +++ b/sensortoy/sensortoy/app/js/standards/bluetooth_company_identifiers.js @@ -6,6 +6,9 @@ * */ +/* global bt_company_ids */ +/* jshint browser: true , devel: true*/ + /** * * @type {{find: bt_company_ids.find, entries: *[]}} @@ -14,10 +17,9 @@ var bt_company_ids = { find: function(id) { var _id = id; - var item = this.entries.filter(function(obj) { + return this.entries.filter(function(obj) { return obj.hexadecimal === _id; }); - return item; }, entries: [ { diff --git a/sensortoy/sensortoy/app/js/standards/capability.js b/sensortoy/sensortoy/app/js/standards/capability.js index 3b71e9b..f636fe7 100644 --- a/sensortoy/sensortoy/app/js/standards/capability.js +++ b/sensortoy/sensortoy/app/js/standards/capability.js @@ -5,6 +5,10 @@ * Time: 10:32 * */ + +/* global inheritsFrom */ +/* jshint browser: true , devel: true*/ + 'use strict'; var capabilityManager = { capabilityList: [], @@ -92,6 +96,13 @@ CAPABILITY.prototype.onError = function(e) { console.error(e); }; +/** + * + * @param data + * @param alt + * @returns {*} + */ + CAPABILITY.prototype.storeData = function(data, alt) { if (!this.first) { @@ -124,75 +135,99 @@ CAPABILITY.prototype.startGraph = function(id) { this.ctx.fillRect(0,0,300,150); }; -CAPABILITY.prototype.generateBlankGraph = function(subID) { + + + +CAPABILITY.prototype.generateBlankGraphBase = function(subID) { var _subID = subID || ''; var xmlns = 'http://www.w3.org/2000/svg'; var svgID = this.frameID + _subID + '-svg'; var text1ID = this.frameID + _subID + '-txt1'; - var lineID = this.frameID + _subID + '-line'; var svg = document.createElementNS(xmlns,'svg'); svg.setAttributeNS(xmlns,'id',svgID); - svg.setAttributeNS(xmlns,'width',300); - svg.setAttributeNS(xmlns,'height',150); + svg.setAttributeNS(xmlns,'width','300'); + svg.setAttributeNS(xmlns,'height','150'); svg.setAttributeNS(xmlns,'fill', 'blue'); + + svg = this.graphAddXAxis(svg,{y: 12, colour: '#004c6d', id: text1ID}); + svg = this.graphAddXAxis(svg,{y: 136, colour: '#004c6d', text: '0'}); + + return svg; + +}; + +CAPABILITY.prototype.graphAddXAxis = function(svg, settings) { + var xmlns = 'http://www.w3.org/2000/svg'; + var _svg = svg; + var y = settings.y || 0; + var y2 = y + 3; + var colour = settings.colour || '#ff0000'; + var id = settings.id; + var textContent = settings.text || '-'; + var lineStyle = ['stroke:',colour,';stroke-width:2;'].join(''); + var textStyle = ['font-family:"Ubuntu Condensed",sans-serif;font-size:12;fill: ',colour,';text-align:right;'].join(''); + var line = document.createElementNS(xmlns,'line'); line.setAttributeNS(null,'x1','46'); - line.setAttributeNS(null,'y1','12'); + line.setAttributeNS(null,'y1', y); line.setAttributeNS(null,'x2','280'); - line.setAttributeNS(null,'y2', '12'); - line.setAttributeNS(null,'style','stroke:#004c6d;stroke-width:2;'); + line.setAttributeNS(null,'y2', y); + line.setAttributeNS(null,'style',lineStyle); - svg.appendChild(line); - - line = document.createElementNS(xmlns,'line'); - - line.setAttributeNS(null,'x1','46'); - line.setAttributeNS(null,'y1','136'); - line.setAttributeNS(null,'x2','280'); - line.setAttributeNS(null,'y2', '136'); - line.setAttributeNS(null,'style','stroke:#004c6d;stroke-width:2;'); - - svg.appendChild(line); + _svg.appendChild(line); var text = document.createElementNS(xmlns,'text'); - text.setAttributeNS(null,'id',text1ID); + if (id !== null) { + text.setAttributeNS(null,'id',id); + } text.setAttributeNS(null,'x','36'); - text.setAttributeNS(null,'y','15'); + text.setAttributeNS(null,'y', y2); text.setAttributeNS(null,'text-anchor', 'end'); - text.setAttributeNS(null,'style','font-family:"Ubuntu Condensed",sans-serif;font-size:12;fill: #004c6d;text-align:right;'); - text.textContent = '000'; + text.setAttributeNS(null,'style',textStyle); + text.textContent = textContent; - svg.appendChild(text); + _svg.appendChild(text); - text = document.createElementNS(xmlns,'text'); + return _svg; +}; - text.setAttributeNS(null,'id','text2'); - text.setAttributeNS(null,'x','36'); - text.setAttributeNS(null,'y','140'); - text.setAttributeNS(null,'text-anchor', 'end'); - text.setAttributeNS(null,'style','font-family:"Ubuntu Condensed",sans-serif;font-size:12;fill: #004c6d;text-align:right;'); - text.textContent = '0'; - - svg.appendChild(text); +CAPABILITY.prototype.graphAddLine = function(svg, lineId, colour) { + var xmlns = 'http://www.w3.org/2000/svg'; + var _svg = svg; var polyline = document.createElementNS(xmlns,'polyline'); - polyline.setAttributeNS(null,'id',lineID); + polyline.setAttributeNS(null,'id',lineId); polyline.setAttributeNS(null,'fill','none'); - polyline.setAttributeNS(null,'stroke','#2196F3'); + // Proper '#2196F3' + polyline.setAttributeNS(null,'stroke',colour); // #e5f7fd // old #B5C7FF polyline.setAttributeNS(null,'text-anchor', 'end'); polyline.setAttributeNS(null,'stroke-width','2'); - svg.appendChild(polyline); + _svg.appendChild(polyline); + + return _svg; + +}; + + +CAPABILITY.prototype.generateBlankGraph = function(subID) { + + var _subID = subID || ''; + var lineID = this.frameID + _subID + '-line'; + + var svg = this.generateBlankGraphBase(_subID); + + svg = this.graphAddLine(svg, lineID, '#2196F3'); return svg; @@ -205,6 +240,8 @@ CAPABILITY.prototype.animateGraph = function() { CAPABILITY.prototype.simpleGraph = function(data, subID) { + var ceilingLimit; + var ceiling; var _subID; var _data; var text1ID; @@ -218,9 +255,11 @@ CAPABILITY.prototype.simpleGraph = function(data, subID) { text1ID = [this.frameID , _subID , '-txt1'].join(''); if (_data.length > 0) { - var ceiling = _data.reduce(function(p, v) { - return (p > v ? p : v); - }); + + ceiling = _data.reduce(function(p, v) { + return (Math.abs(p) > Math.abs(v) ? Math.abs(p) : Math.abs(v)); + }); + /* Var floor = _data.reduce(function(p, v) { return (p < v ? p : v); @@ -229,6 +268,7 @@ CAPABILITY.prototype.simpleGraph = function(data, subID) { var calcArray = []; +/* var ceilingLimit = Math.floor(ceiling / 10) * 10; if (ceilingLimit < ceiling) { ceilingLimit = Math.floor((ceiling + (ceiling * 0.25)) / 10) * 10; @@ -237,6 +277,13 @@ CAPABILITY.prototype.simpleGraph = function(data, subID) { if (ceilingLimit < 30) { ceilingLimit = 30; } +*/ + + + ceilingLimit = (Math.ceil((Math.round(ceiling) + 1) / 10) * 10); + if (ceilingLimit > 1000) { + ceilingLimit = (Math.ceil((Math.round(ceiling) + 1) / 50) * 50); + } var scale = 124 / ceilingLimit; // Var xstep = (280 - 46) / 100; diff --git a/sensortoy/sensortoy/config.xml b/sensortoy/sensortoy/config.xml index 8aed64c..174d7a7 100644 --- a/sensortoy/sensortoy/config.xml +++ b/sensortoy/sensortoy/config.xml @@ -1,6 +1,6 @@ - Sensortoy + BLE Sensors A sample Apache Cordova application that responds to the deviceready event. diff --git a/sensortoy/sensortoy/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock b/sensortoy/sensortoy/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock index f570900c0d47ba3cb401db0f1bef2e631784dd2a..075c00ceb1d13c83b0e3a18422fd4df67f52fb0f 100644 GIT binary patch literal 17 WcmZQx&{6#8*tO}73?RUKG9CaxqXr-V literal 17 WcmZQx&{6#8*tO}73?RUq{0#s=ZU#{R diff --git a/sensortoy/sensortoy/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin b/sensortoy/sensortoy/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin index 62c6b25f9ea5dfdaa9b6e8b95dc0be13ae55a13f..e1add62a91ca6e64d1f9c554a140397385f88b3f 100644 GIT binary patch delta 30114 zcmeI4c~p*FzsK*fd6Y^-isqyyus^82FXw`q103-JGh zt{+?eYxC>Rq4du)2K?*KH$9z}qz}%}7mJ22%lN8aq1f_=V;SY$F3Pw3;dMrW%|4N2 zkBm%S#=w5kZf(unJBN|c1d@yR|2w!VHgMBDW>6q(+YW<)GIq4g-Nnb~bmI0a7#k^G{V*)w$=) zP|`#U-o`Et=QKU}L#ZCZVAH-YJvb*%{^TkV7%Z7?Ddg5MiOGF1IQDe(W90o=$RA6B z_o_fUU861c$&pUGrjsXUmpiA(h64<)#b6FS%2eYs)= zXpYAqQzbW-Q}^NR5<$0I4CIHL)8HH#&|4LQSnVax$biXXc>W+Cu(VGT(3{uhLA1bM@te0c|muIp?)M>er4r5M6Q^$8L{;xDrbq+XiOGO^ID9wb(qn#Log|fo_Pz6Wr={S zZAb5*ohX7ON>ZGOR`D%IIXcX$wMb@f)Q;Zh3rmDkaOT<)heN1adu9cK9+*rYo_LMR zTf*NtO1Ch`c^mK)?QhRaBSTIl8--FU&T1+DFsr`DkFGKL?JH%ru_Fp=%__rciZ%&sAqa+$)YZ>Y2*vu1HTPOPd)e9QSU5jFgC!98Qm zPROYf6OmlO#ADjk{#-c|5t4HzWc2u3=t3uE#mZlBqljrSq23dvP&bU+E2R)m(g*SXocgmDI}l5m#atoL|fR1yf2Pi8Lc>m(+^=HZWz1^9(f!6G-9{2119-a zc~iMUMk4B4cJ@67pd5;{JyXTr(39kxyu&w^_cZ#F&{yP=#m7Df!%t z)J<68fQi>M&B4gA73q%2`1ybLMxiFm0tDnd)A=-|3T3v+^uigV2aOh}nkAyemcgF_&~Z8gVdefU{ddQO~_R-V~NRU>OvLSK`5GyTsOm!>q)-)-1H6nbxj}-0afSSD!CX2)Kw4LCpKf4Y3jYpWBef2Fc2(vz$!?e+uDs9FYBazku^)z`HUG-n45f z<&H4GpL{RLF^p@&l`-Hk*(ZJ7%DQsek-RyCy~%AX!g2}XPDb%pb(DOs9odxR&ApA{ zB?Jxw@Z>`SqZ7GHk-UVkPap=j9nJ@!Io8Zkk0TrMeem#}T(^z9h@hU_l5XGENkR9m znM0Lz3J(_hE@IA~kM4jT%q*g094YD*e3w&THbv$%2A8?=_y75!`d{o7J?3l_HR8#; z=G=Y7P1(fXkAjUDe0bBn=+9ed-HX{mF}X{o&YX0C`^ikw{S_YT;^LpWD4`d#AH~_2 zeEK> z#SPfXpIq#Z6C>{{Jwz{UnBCa1FD4Ep%ksEm%vj2AFxZr>F880Gjwq)ub4Cc(9mV0h3sn<*~@pmLbwiOxlD#JBw+j!sU^oD256IA>{4&carYP?DaVOkb>lQS+3ozHB;>PU+vF?uoC5=77T`q1 z-yTo7!0pVc$lca!`I#8*I0NKJ5pz4y{|*{&&+d3~nIiR_u3X0*{MoycWA$xbyBjF4 zRb(8V{%ZT-pSdkN_|q#t#=u~Y@qJ`9fSIMkO-$T&eOk@^U?LLo-5@IWhz^P$z#Lvt zE{;Tf7wB+aJNXL}l35-uNQ&d?Quxz%(#44e-7p2Nm`TV;Fu3bHwJoQP_z5iq4B{V8 zui_jLe-0@D7mply#Dy`5_RctwHAbSM2zL`?&5EWK52mFd|%>({01?z2*~${ z87D4n=InO!BLZ?YxEx=di^|xD=nS4exowmqm&!zx$j7|RXAiatl=EHtu1DBG-xK;B03umjPNUaNPEl-ZBc5*+Cw zGA!qm_VG7SVv51RhPFaWwB(l~6{cxNl;%z#doc#bIBlAEY@1hY?+$wg<;te420kLPcQ za5s*O%KZ|8+#H!bFF1_JR^62SoOuF&df_e%uJ$b6@$TFHTx<#xkM(BgMmTukr-}ZB7b%%c~~;=`Ma45WD;T#;e5B)7puADc7K+GG9NRCVH@BIIXprk# z#_&PlpC2-~#smCKR3KNpR{wiz{`~a8ElT1?V6_8j6L86mmpa33@>xI$(uX@5M{%7rtmIr+owJVixoA0_++k<)Rc31+^C#(|g@N|`=9Nf&JbQkVd$)9o{YtJhnZG6SkvL-Ma_>C~9nZ|tMv6(z@r!M^ z(ahtAkX#ZEuk7vn-$$9>FTDTzC?oj)`6$!OJ}}9=!e{-Uc-IQ<_6h!lqNs>LZf&1* zPI!_J+7)0>x_*x<*S7^2*f0Ta5LMte_@xR=j}iM4Re%Ce1wyCI5)xJ5H~6Irq&bh8OH_g1 zKnSWp=a{3)L=~U_Q~~b|k?n{o@EiP61?pc{nh;fh0#F4u*=+D4ssII`3Y52x|4CE< z3P2Um?0EkL=jF{mVxS5bNZJe~ssK%ZD$rY_a{^HXC;(MpZ_x%-q6$#ZEf*g_!yP|L zi7G$=r~;QB%ZP|7Kmn)%56)d$O;iC2Ko#g`G0Byv0u+EMuzqiyU&hYNX|s8!38(@e z?G`^FssN3ED&UuS-~y-ulz=LrnBEWossJU@*?3c;au+`URe%yu1qQ_2>JF*^C7=q7 zh_*-qRe%yu1%6IzF9WIoC7=pqzp|eWssJUR3LGdhwFFgw5>N#)XFmK6ssJUR3cNqE z(hF1pNN$(dTc*J zQ~?S=6?oW2Mgpn;C7=rI%gK);ssII`3b+nhG7wY&N`&S3*nFuuW)7+VCDOT=Of-v1 z0abt!Pz7AK}0z6`Y=P7)D^B|}Klz=KwdVgLQ zPz5LfRlxja#v-f=(4Q-iXWIHwr9PkvPy(vJ6x+8ZL=~WbJfR6*)lDn}Re%yu1x81& z`Ak#+3P2T@uwPpSQ~^pr6%YkFy(g*w1)vJZKkj7(ssJUR3WV*i_8_VN1)vIewl7uz zRe%yu1yr^utO8Yl5>N$9E=)NIssJUR3b+kSy@!Y@KnbV<@8ly+gDSuyKKRH~$zRR_ zRe%yu1)eoo{s2{g5>N#W-U(0uRe%yu1>TKwy9cTOB?3o0Pj*JkYfuF!0aXBn%()J# z0FRI_JU0{fM}jIq38(^xh4vPp3h;m*PG zC;?UAlg!bPL=~U_Q~?F+rUXz0C;?S~Q#xe@ssN8T;FS%Jp11{60Uqg&$?8)X-$51N z5ptgO?yA-mQ~@68g)<70i?2WxpafI_3+ttRL=~U_Q~~djobjLvPy#2q*+%D%L=~U_ zQ~^C?eHc^$9?8e^zcsWgB5(J3zzBob-R82O3h)Ton5T2&13?ww5uys*Q0w*L&w~+F zfEVeBrwJ;N%>q?`N2X(P{(kWpPz89z6_YPT=Wc>3z#~Kz_&zL01gZd!Ou`xMwbHqu z3h)Ryo?ba$r+_NJBP(&nGSYJ|Q3ZH_9O!SAl*~Ko!`L8T^I3YNY^Ffry!B z`++JziE09#z3lMX0-_2~0II;yqCwH13Qz*7K;?4NYN85I0II+ZZyiJO!jA$_1uk7J zHzBG31)vICbkOLFRRQ{QPz6j*+*wIf0SZ7BFgM>RB&q-fpbFeB$kHIH00p25aP>vc zi7G$=r~+*_?ye%Lz;EzN6-fPNGmX3y{|yA73M??GI6zbZ3P2TDn0V8Nr~<#iFIC{p z`=8mM3j8JlPz9cB7yKZq00p25ypeHp2UUO)Pz5dx$UFY$qf1l)8Ua<{^I!c$L=~U_ zRDtSYhmHR8L-oJdD_9kvlY=TC=efy(r~(v#Dv)cnQ2WnYNK^qD0aYL(s*OKU1taNGXl5m5yw099bv71bG_3Qz*7 zzr&!zh>5>Ee zscwPHC|ytmC;?SKL#c-fQ3WUfRp5y4)Eoc#=?E=89Sc+e?L^5pDC;Q!Rp8S7p0l7v zrvy}i0V(@ef+|1>r~=)T9(Dm$fD%vz4s1`KL{tF^Kow}5SM~r@0ZKp>aFxzHKvV$= zKozKV>K6^F041Ob+_#CJO;iC2Koxj<*({l;0u+EMpt;>)4N(PnfT#k0P1PMuQ~?S= z75I|h<{nW6C;(Mp%sT@!q6$y|s({@=&zVFOpa4{X0K+*mi7G&Wq#U0u?Tocbh$_GX zL>0KOcKs)!3Qz#5z^yL&?T9Ks0sPj@@T7WIq6$y|s=%AT-eOP%D3N5~+0Wm&A460D z3P2Tje8yD{Q~^pPL=|{~99I&FlDyRaK zfGV)=@|_5x3Qz#5KnL*`SE33~0II-DTp6`%lAfqUND?h{pj0#F6wHdl*~L_`&Ex+Z8MssII`3RFz)EdW)35>N#u?T%|CssII` z3ZUVc&p{R75%Shf_0c>_q6$y|sz9XvgaS|nC;?R1rx z^49S7vVnbxDnJ3K0?!I!Mi5ni0#F6CWwO$VDnJ3K0#Dmsk07c51)vJ3o|tDwQ~@5S z!{=j&o!%Ov3h)3?1rpt&1`<_(0#F4G*X)x8Re%yu1q7zkeTXVR0jL7*S|`&%6`%xE zfu!3t6NoB60jL6%f5mHqDnJRS0#7Q|mJ(Hf0^w}DDUlZTl|&Wb0rI}Kz_!GYr~*8Y zgA*#MFI|Z$Kmn)%Dp?s;L=~U_RDlytTkMD`Kmn)%6RW-qBdP!epbA9xJg-Ak0UjW# zz~G14nV$K~w=60ac*i$BoW^e)=G)0F8huFz0Ao z8&Cx(0ad`~hJ_hX1tN%qd-Ul=Q~?S=70Br~Ihd#d6o4u)`BKLwq6+YU7*A54y0e0)0u+EM z@N-bYY@!NK0II;olqV`g6`%lA0h9Luc|;YU091jkY41J~Re%Ce1vCa`D-u3>)Il6(6`w}=P?J<*U*`rUnMG9)W5=Y+B3o9MlRjaAx z!5Po^ucaR9gJ-4=Vl45Cw$E{4r&((78p-`6wW7o^S3e(n57C5iP`-u#-KWAd|&x<`^dG zqjhtT8%u=b<(BD@$zG`TZzdxoFA$#jgl<50TV>ke(V8@Uryz+pvugOY=DBh^RgoP_ z^sI0uJ!hyNTIS8nBPhgVY@c=XrtJ$%ZdC1^kK%oq(RP#3?3a3tKpnm^M12{~gfxz6K&pPs zJf`NDZ0lZ|jiT6$4tXh*r&D2zLfDKtxy#AB`^BSgUzyR=bns~XtBYqKt8WZ})?nQL zpZ>_>8?&}v**NoeP2&y}&t@#hw@0t#3+AIIERoE{nShsvf{^leW;FR7m`KBpEJDJi z3{km+$p?KEOSGEJNS!e8304n6OO`ULRtv_&>{-fR=)-r02)r>FTBfUr%Gito`K7W^ z4GKGvOCz%aIHvXPBX*!M{tQw6jz_z*AaWSG-N?*iPtJIQ5w)>M_=6$RS2)vLefkng`EoYJ?`=rBu^UgOa;w#2_g&wns$6DMP`;e2H|DqO~{fP4;i({9{{ zoPIJHMe@4?YA55u(7@$PM$#FNmfk3CKs}`@t8LhmM zmVfLcfFaT&m~0-G8i!W4%526&+f6GSon(o&Iwqyld_&ONW_H!&?44`s+PFhc#P=lS z$Tw=2HiL|IOcC*|WqEr%mealJ?>nNIgnA$bF3T5pEO8SC zsk!aOqB=IBO0JNA_xC>{Zy}pW!kIYv`-9P(mF%85ib+yM=ewv>$Sh5K7?aw}AKvKR zN@i(5cFW!yghq?lc`o2g%|6#GpvNb_*!SmEUeq_&zlaxy`f%s;k17j0rQ3gi=J)RI?16v}24N8!xU z;MfTCoy{nb6EVNo%>`An86~oUNne`QBTpG-ZCd0>BY2o{8cJk|0{NAOlC-!qR4l{n z1Gz1D1&-UMyCOANW;A%c(f-plN8~8WWMtOhOvn9!c_@_4$ezGtP2cc$D3i@7lFB?z zIiUzuv&7IDXTlY;-=deH%pO%IwZNn1wr|i(Id%o_ai;#8{An~cjL9e@U=pw@)f?TG zW41?3z5`9|J7pBQ#Aam9Dv9Za6dHMB!7*bICq?DzKUfgF^W708lDG<0%sByu{zDYE{{mFY%p(wK;mk;jip}U}CbOmR z&aWLU!uRJgVet-oD)MOf)K+nMWFnGpi5TKSJTz%xGHWm{g4G9Eq}7B0mO`jBlyI zsE!@YmweEDY~OJKGC9Z2!>n3`d|B`|+0_LVuo>BN zI8$L5>yIoo*uB#a6Zx(ob;#~KvjSyu_EwMW<&)`uUO0e%OX`$`Lwd$-|$x2KD^F>^NBkJlfxBbB>}#EP*FJ(+f6-Q4&jJg*fwAYppGM z#*#VYF2AerjSkZI$jqZnPK3yA8@r>?ADLBKkH({27EXJP*04lrGbVm<^7$y69ZjJF zCV9;sQ&An8kt$=t4Lf9vOsbiAG-hCOvo5ATa;s+6rbzbahUg~+2(cL{d9vD49&{fS zuo*S-Y?pug@(CnU!;B{1fam#Yc<~z=P{XW1?ja^}MulRuoF($sm>BI%?t+f7q$9b# zxQuIOiC(e9bO_F@UFp<>+Sf8Gm`-l;ihYeV(1coM1+wHk@VDzW1#M(ADpT-i1_N&? zqdYcaLvCaDFGN(MuPhN(;*8DR$fwA%j#+_>2_`oTOe&E_9kT-U@tEjKe{4o^ED@6D z!N{YIA?Ptnw8%H-My0W}Na+(Zn#nvo+VKFVdNhP3?HVz;`r^haw5o+T(E@M~`2f16 zx_CwFnk&giD{^w*ayNZ#rSf^RzP9Wu+;aWuJcaX0@rbwQ9^42m7j4d<<$7E+btAM~ zlt9ZR=vcH5O|NfRIVDhR?%h1-bZpDNKFj+#x%u5vPJIQv7$wk)4XgP+5jD3Oi|hqE z`?mVf#?lP5u_ZOz^x@x`r38$Z{vMN`LCZ!7v}|iV-X%iIMhUcRj=OeSK+8r6v}~_O z#T7%#MhUcR$K03cK+8snfIR!!?|1QomW>i<*`!M}4nfPtBjmQ&kYzg(S~eabE!%@D zrn{lzq69jwAv2Ecg^r67=(wH^le~eBixTL#PVSj~3OX)IpyRTbAd?Lp7bVbf?Nmt| z3LO`ZkULM-j`@MmaZv&tSC#$qROq-UfsRZ4phYBfT$Dh^HKChaU+B0ffsX6K*Rui8 zaZv&t*T;KFU!dcn1UfFmlYPcP$3+QrT-tr(w?oH833Ob^?@T^J$3+QrT*bB*U7+Kl z1UjzaNnKK*SjfIYj5=m!##h$MMi{Q6eT!BKW+yFtfA33OcZ>{1Rv$3+QrT$9Gd z41|u066m=4nELdFj*AlLxauw}nGPKnCD3t&$*yyRj*AlLxExnqQH73+66mD1nY^95;F{bX=4`$Mq$sXfAYI zlt5QAf4E)@bX=4`$JM9n+6d^lc!YFZ)}yUepyQ$hIOjXu33OcCRKjn1S+ltTc!s? z#YG8JTy?c-I#6*@0u>i}Gfo#OuHWQW#kKwL%ui5p{U!paxRSq_PJ@c;H~Cd@eS6qB z1S+oIv@2vJycwjK*bd?!@Vt3T$Dh?6>&|J z2^AM5P;tH6&6PGxF~^&YrKC@2dKCxfr{(a2KNzA zaZv&lSG?uN45+v$fr=~d&Wxi_aZw^ASEIzwDFrGnN}%F8;Cx~NR9uum#Wkqu#RsUk zD1nOWR{f(3P;pTrBo&w8r@jNA;-Um9uFJcZCZa7>E$sm%&~WvvOXvd)7bVbe>4a_X z1q~M^&~WLPPrL;U7bVbe6$cqFfQE|_c;1tGE%AhgixOzKzU5x~0u2`>&~TlWO?Uzg z7bVbe9c;Y!5*jW_py8^1+NljRT$Dh=HPdmd1R5?%pyB#xs=o^wE=r)`%HdwUgNBO| zXt-V*Km8017bVbe9i6sK2n`n{&~PR8vDbr!ixOzK-s-NK4GkA1&~QDfZ|nmN7bVbe zb*)8rpy8qf8ZHIr>JQLxQ34HDzy{ZHXt*eWhU>%$1#4)yD1nB{xO#ReG+dNG!{t`F zXg4%mlt9C!vUBTYXt*eWhUvVzU-4 zy}c-g_d4s=OZ<82n)*})lddSLgJ`8U#dS~z$$AUe&S{28KxD4 zIiYl2Q5T-)w@V(gTM1R%KNxZDB1inU1p*kcZT8yHiI13^zS^R9JJ!2DTl95w)XN#e z4{q+nE=8Vv1F@UkTRNuX9|Y-sf}qo@A>n9iM^RTzx=*BJNbda5U}dzeW6Q?T5TG1y zQHB#US&MU*9A20*EoDQBl}CkC^-g>>yG-+;cq>0ATMPeL?qA|2&dIdA2{y@4Kz^N= zmk}ZlJmgfvhUMr;Cy^oVtP#$_xWEGefqhVD7jP1`w)sCv}SNq2^xnT z4@%%9T)H|Y4@I!{hi(&|Xwm@%6F3WK2F`+tfV7#dxA(NUe(j@5bN^dcSHJI{8&b&b zr#4^kh+W2ce)=alIv>e}3RE{(+P4m_mwV-xSKdZ`8pR@|^*mL-@1Nx8gpkvle`X@hWv=WZS}o#TIBgv8 z{!!Dtw-*(fF>ebMQZPC5rtLH&Z_W@SQfHJjMt($pwR9q$*N0^e9Nmt@?uY9>Y;g>o^>txmXC|d$ODEqdOugRd_DSA zjr2|?4$`w#l~`E0_XQD5PG4$N02xou}AS)>tjG0^y4(X3(YzEXILM_kZp>FR%y zqbnsjsbJ*IUZ+ryy{HTCLF3kIJmmGPsY_lF#Je8@s`OF6#NJr-)znhfd~!-e&xQMp z2NjRjZ+WfFKcX)`;USkLHw2q9%l!8_x=NCh3Z{jmXCRjW%+rK|F&?t($1`?_8^D|j znjJAIFzrx=@&|~v^KPU70Aybo(BoY}i6%Glh5F$dHl1Q%DW|_+vQZhv5;h+w3 zBFaoS2`5A1z4!iY`@VMXbKZ5HcfJ3-YdvSJ=R9Zi@!fl0<9*%V>ywR1+8-0OSDLhv z;D6AmD^;rh>xBQ?uVa(ipZ|U1)r8|e|9fRx>#m2qj@ZbhBixUCwt1#2myV7*Qr_y6 zw(39L9!c-CQKkqO;_rUMv#YXI1JffTeDG)ziQ*Lg_o$lJ*+Nk02sMy4XoNx24W*rg z%b~VvAZgG9gVsh-9fTjD%^H~YEFOS=p!#Ph{+I12%V9#Ni7LS6aBPghYVH2-g@}pb zp^RNI7<)A6tFVg$N+%3f&TKYNc)$&%+={^xgXFVlA1;deqrKO)l0x2 zx2!B$Sj;5`yI^p`ckdb${!ywLi*1O)9h0I?PeO$EVXA$?fI}<>_6^tc6~;^wCnWh8 zSf95u7d(!LXV>t?z-aa1GeRMk(3D{?A*1JapI3ahgz@WF~w-R9)m(UBv;A(+Ij$l4Tv|MRw3k(v9-M0&0 zvqeAx+hLYHQV^Dj6Ozh_I58%)ZILkPs5sH*5C%HFj^08ImzW-j!H<3u#tZGkhl}>^ zV6v|+2k!VGYz-F=CAo?dWj)rI3nd&d3BVvKv2C_sG*z@qB(2V1aPxw1sNlnajs_S6 zF3HLh;--q{F#dr-=L)ThLM{i47GqEt`}mnq$qgkVCqu-w-q+C8hEnlZ8eeckbIQGN zVRVETxHrIH{fh>gsB0tcl=CgXZZKsCCLt^Dg`rG7BO8s$?Si<~sGKKl z`(m>H;rd3Xp&2(?!}*vr)Y^9n`SV0V);8$Kvd1WaCwfYp@k!j0hEAJtt2QN>QF`OM zqiUW=hv1C-)6F8(sxh|$NjprooC!E26hw)4j@}gvV#fTs9c^mNO`}0hrK;qXJ%zT@ z#E0476^=Bv_Q^oH=3GSiCng6vHMI~nPZQ6gvkrqUURkHn9CL1An$IwqSvjw{P;a_; z7D+h<*+!RY&?|lxDIpf88?Qvx7X18UaVBq$Ykf4-f}6&WT&-E*2FFnfPbBS0=2ypV z=n_AggdERzm5%4o_d1!DIMXd}eiP(k$*n*y4-=OKch;hCo){)!Qm|H8xGI|4HRMt@ zOFq6Fm0EIZmT$p{lVJgZ5XnUh@y{jNTc1rrepXyWaSoHM4?Fk^z89|C!CmA*UwXEZQS5nRIforf;*qe&;>(VAAZXpesIMBj8p89*SZK%bHvA5N)Ftb6RWNuKU;1A(jGW6Wa{JxLirr= zv6l42K*OWgy1xel=87kg4abR__Ptu87R|UxB;+QrB&@lfaGHxK$vvpm(*>u|`exkb z>uth=owRa%gNk?}C711*y%8ozt2vjECF4wFR(=cQ!4u_4OhR_;oQ7sL=a)uKwQk3^ z<)8yRFlR!q!Yik9;c z?FbxEUa#pY*v#i5!5FmunwO7i?fC69$3#EJ*;ZINUwj0l;$5SC5QBsy?Fux?ky{#^=x0i5 zb_wseh=e>J{dFn968*+UB-ij@`q4?_gy4nZy(zK7VD^p_YC=fN=-T>M-5x>BnS@{uppuy@~=b4LyASB-gJ~uhj`(Pp^0`L zI$ehZVp4nSND2DXg5Ml+JQq~Zb=MjPuyJaOdE zu)T&to5fsY0tUyf>OVm`t@!OE59eXchc6a3FCHm+c9nd`kp|6|7Yp^4h))1{J_fCW z(y|5bCE`i!-(wK>;%Yx(#WFEaPQxHvPqGkMx8}CdARUvA)g7aS*W6fg@|k)d@l!{% zf{$Eu!VyXHErW%iU&ZShn1p}c%I)B0A(aEyHewK%Hbf9CR*Kh^R)N9Lh@J7P62w36 zL>?Q?{+M%C=#(IyLV6Jg3g%iL7a}xVPrjG5 z86Y%F6wM*+NN!`@GZ#J)vXaEB+C#qArpz8>CcH=zB_tm1c=AP6^X~}xiK2wmWflf{ zd3|MQj5BxCHEAz8|BJoSggYB$HF)yJUEGi`WSMwBN|s{a6!LK2-*2IF z2W|`HW- zqC-Afj-L085bkji*%2H$DCCu+`Fuo9o?upVI&nhivs`?DmDh3P#)MIc!U7H`1Ps1~ z&QBI{my6dWBcHgpo^F^WRB}Mx4kv6iD~Ag9E5vi?lBa~hImP3I(JQ#2ig2Q&X$uWu z4F?R#MV&Wy-7Vn;2jp=$(ZE9cqo9!@9!gHGxC^P7V+HpV@#OO9IFT~s+ivuz6So^J zJ7e-?{kK5i`i=NR}sC`%%s@Ij9M$re8 z?7wjerXpW zj|aUm(9+!VPN-TXK43~a3@kS6m?1a_VxZWM!H#2TsY0+Io?P<)2E`xCUI>T-4aqLv z7=8DJaFYXya-4WSD}9WhnI;}eK|ULX+-l!P@Zf;Pc$~1EjspZCykw8fn}ys|Sm;urfaT$r>*yf7)5#pKDL z3ZW`fJiV0#PB^cRoG+Ac2@M4Xy4QAx2u4VpFx9~zXi(-B!3T-wP!cfLW@x&wfJ-#) zhZFNJ*JKE}Tta#mgFL^ji9#ipknX^s_~7rZ=+PiSi5Irjf7xULgNB;;z?=&(E+ zmGKeTQ9S?DRdZa0y<9|(e9Tu3@_Z&Z?-!4yAjdbS%OhXGY`u6>w8`zOxtrZ&A%Fw2 zKk*zhN)lp(rR%w&$aV7Se4j4D84j4v#)+^^ubv5?_@T%xYS-$VUP7A<;-MT##bKa~ zKY?t9a{EzXjK|8q;@~N4;v!1&2{_MGIstk1)ilPZ*P3HU5eo08c@Fx?`a zLq-~hz6P!}LO%{zwZU`vopw5j-u348i9WgLDq`L;m^z@~2nJ|k>$UEUgFNdyJUea1nf`*BN?TH!^zH|RG}aM~%}8tE+zq>ow_q8ogq9=YKcj9ri-tlud< zGE#EW89eF9C83BLOW6&Nb^6b}y#(!D;)GI;fmx09Xu)%rcy<{%^%@$P-WO(bKuRw9 zabH4?3RxUbkfF}zotY!Nc9wJ!p7EdmV#*=?BG{_Q$@_;;;Bs(T}3oCYW zt188btkDTwgo_-I-o(JMd3>7iof}F)z9f`X6-`H52XH%HW{D$SJ2n&x;ThsdY)vsJ zdTgMNi~{)co7}t46<*gDN;AY;qMe8%uSz{Op|}8UmikIe93A>i5c+bDA5wBjnDm_y;D9C-|&SFguVcTsx>OKow{acxx7@0zUy& z1p>1x=71{j6Hry)yIT(%+;c*03*r}yeX}wwA@Ek0Y*R-Sm(BM096GT0ac*9>68al6<`EZf#DyA z&!(yXBcKXc`OmYbssJOP3MglU1yEIh5l{sT-wBJUD!>S+0{wNnG@z;gBcKZW?z(#h zr~(XtD$rq5 zfDupyx*0Dk2UUOpPzAocb#|w!03*_Jd~5=GyctYY0Y;Q#G5PrG)w@&`U<6cw+SD&` zR25(ZRDq9k%Dz)oKuyS(nN!AP8dMcfla_d%nY|M4QB{BuPzC13+K!^C03)CZB>(ck zgs1}S=Q`w>HZao9hpGaMfGSY6diM}e1sEVtXp)|zj1N*(fDupy-ZVX%1gZc7pbGru zJajfy1sDNUVCQ{31gZc7pb8v_nbDuB0*rtvVDEgu3{(LIKoz)=vo4aV0*rtvkZI$q zpsD~PpbDfIn%S+0AucnhD!>S+0{-8c9HOcKBN87xk5!YR^;8vL1XO{xzuO$6s(_l1FFXVRRtIURiNr|nIlyN7y(t_{?K)WR25(ZQ~@_XpFgQ8zzC=U zt%eWErK$iUl9_n>XL<)tr>X!WpbFH#bx=-K0Y*R-$W&&3p{f8QpbB^eu3ZDF00W>3 z^hxXPM^ynvKo#(D*8c&j00Yusys~i`{&T4+z=({f0-nB?o`WjD0H^}(G_9PdD!>S+ z0)zKdbOKd?0Z;|@Z_0m2RRKmo73h%uzCTq3)Wid?>`_zW4^$OUlh&Brv-+@@ssd_4 z&a+jC1BO#oKutQ}%>InpO;ixcR25JYvN4f2%CxB}pe95W2st?;{qF|@ zRX`nSkEbb}+4~|@1=J)66N}h&*QhF>CZjP4nDI4-ssd_4RDn^ie#BB$KurR1CaX;^ z3#tmJ2|1qEjgL7{RX|N*a3-;t<1A92*6y00W>3v@>^2gjcN$fGS}9 zuDT~x1sE|%$FtAYIhO^h00W>3JeeVVM^ynvKo#g$61Eal0R})72q_2}0WbU*09C+j zV)_tJ1sDKTps_H>o2UZp=b#Ft$dffe6<`2Vf#ihZI8X%`097D-?B{S$1sDKTphNK5 z?Vt)U0II-|<|V5^75E9LDxf!bmL0ql{|O|Z3Y=ZMvlLVT20#_Ksh?;Fs=!Y`Re|ok zPFlp!6z$|vUEv?ZR z0aaj~@_{B*1sDNUASqoKMO6VtKowASu5toZfB{eiM&8`AkE#NUfGY4M)1nkq0R})7 z=u=u((R)Q+P z0H^}f%&cZoRe%u%Q3d=%JbQsEzyPQMndLTPs4Bn+r~) zfGXhfVC#5L1sDKTpnV7Za8Lyp09D{)*3f>S3a9~jYq?=ivoBN?U<6cw#4`&Qf-1lO z^y_9$*HvN%Q3ce5Ja-voEc_0t00W>3R4kZPOH~0zKouywbIc7?0W~;>cW}||xlvRV zU<6bF+o{Q4KowvBRDqKRbF4uXU;tEsnhOn6KowvBRDp>Fg$F3WbOHU6I1~PKoy8Q_Uji=1sDKTAVY2&2&#Y@ zRN?cnWM%L-PzBV0r~(=vuDXLNzyPQM(jKKTR25(ZRDs<~%nU&lU;tEsg5&RQQdNKv zPz4kd4z>hUfB{ei`t>ghqpAQSpbA9wIkyc|0S2TYcvIRen3o2sfEtkZwPCB*j{sFb z4Nl`k=Ju`Dpb9Vmsz7Fg5B)(EU;tDBt@7($pb9Vms=&wIIo&`NU;tEsHd|^!K^0H~ zq6$2V8+wJR0*rtvaNcv_Vo(Jb099al@a>C#|BwNy0E>Vsu&Mi%_J9BM0jdCtfGTiN zS+0&|ROPygRO<4{$A%>$~y^p_|0gDRi~ zx9~Ccv%F_QRRKmo6-eGZ(-%|$20#^Pw8lgRssIC^3cRmBY5}MMY9Pmx1Zoy<09Aki zPz8p+Ew=(yfB{eiS}WH?f-1lOr~)ayTuy^3zyPQM4$=$(Q~?G+707<`B^p!#H6W@$ z!JVjhPzBV0r~kssfCFD)7tg6Wc)*U;tEsVR@UD{^wDK?UesK z%1HiyKFWY9z>XuR0#~063j|ew0Z;|{CbgAdRUmieFlj&4n|~$@NQp3zGvD?YstUrE z4kH@X_(qjKEwO*D!*Hog9MW%$QIDw9#<}hzq&qblnC@Fb-n*!N`Usv66neESx-*un;U|$0^|gEJxn4+b9PbbjpP}t( zyY;y}#z{RCqKOuK#)ImG`*c8SLZza=??JNo8z%2Z7ds&3M7#uM%t%^c5>@)i0PUS9 z9TBG{AWn=~|Kq`LxbMaCVN?7+Bgw_VRo5Pm%zilV)6BKYVx8SoUxo&&b6v_+e@Zg{ zdgbANmV5OF{`0C|+b&oAD^Ak&SlR$CXk+M9cIJ?4es1?|(@xIcQhh}A7_OS{=T2fWBJobt8Fj+1`PiCDds%UN%g;at#C^ZVD-xj5C2R9m>PRiXS! z=bKU0P3{yrY)JhG$)A6%h9=$*62F;;nyQ2ULynyykZYUney48k{Dk`#y&aX^PB-c0 zHo8D-=F>V$ZGtBpd8D!uy?W2-VUl1>JQ5$ZLpC2c0ySbqzp3`<5>KQ{aOU7?zn92& zGMCXBib+_f(T!2*M~>(qOtxKagV6EG-1#UWZ=UNlb{LDQcp@Y3k-c5cZbJ@J_{=^$ z+TH7KuAyL_NXg5sN}HWl=-ppjMmid2EMKO)N7w6Q8e!5|*wPd!!nsw$uQl&jF<~xp zX# zDw(>Ctx>>Kju_hFjGM{fQRug7Zq*IR>z(0Oi?z|2sT`>{A7?JgvSi5h6GtTERY~mV zhCfi-2yPz92%H&s;rHLrUOv;{AtuuB$%bf41UK3`GFr{Y_3e@QXO0-nz?oz7^5c;~ zBsY&^3rvP&NUozKK4V5+3TbXJ>4)a?86$F+yIH>AHTv?I8_m!Rk5)U;u?=ebg(J`! zcpcm9k3zq2YwM7QGws84AE7OLrX~6IxbMSiLsZNYMF`Ghg$_1A`d_)xv{z$tPGe{j zB%Q{Qdij_*?fyOj&EqplKTI;dJ~BX2)3{X|#$xhjRL~mq<|{`e;g~E6dJ~7r_>2zu zrLyFxuaD928g2z}Ogon6K0^Jcb433u9!=-TY-e<}hMUKYobgW!B+rrb8%LB+aK_og zrxEJR6DaEa<9E+T5&wz|PSQSucJV|{b?=f$?&wCWMi0JmYm;YS;_22n4HeDcS3o`o zU#IH6M1HkgMwk5VK(WizkH|Bc%P6ezXtU;hh({;*j0w4Z6iakRqJz=gXbPh2n&vFo zgIav&h{aMon)Bh#&Zx;ujzH^U+i1WaXak>7e88CwlRUgIl#c z9+Se}PO87`VSU5JDJpq>0cG)|p%EsHA8ye>FMjZ=CTH)Cg9lPp zH<76xZrJC&mOYMaOgl7i^$?lrDTM)T)yKF*lGMj)#p)GY!e|yrd?+hMDn4RBu8^z<>vbqx%4fFY%&-(|7c?e@-!pqK89%Nt50y%} zrO9_;;^M4lhHl1iO9K+T(4!;jE92)mi8GFk5B!Ea=J1&B!X^KwB_<6|vL;giO z4jq^yZ7SMpa-xT~Gv2iaImo$rbjIS*GUJzNpb$AXn$iZ7^{vj7AjA_r@-9B7D&-`) z!4u7MIMe4r17lP$ms_=h+$F}wTdYBD3T_1rU2taUlqOclIhM=l5ML`_Vqb&yE4a1Q z+mAD)F@LN;>3l|uw2bC&E8VE&SZZb`vHCBGkWAi)DJ$`8vV&<^vDWUMb@iAVH(`pOv#hR@pH8$Xe&>2 z$geb5w3u3gN;J5AptT&YV1;R>6Ef7~MuXQIr87FZA|FjIqp=8Q?wcnZMR9ya^B^WY z^P@JRTt1^qD)V8>2JAzB@}zk`oaw#1kANPD3CLXAzE;kP-NCQrV zO+sCcaPw&G#hFuDxxOfpCpv>Mxp&t6EGpth)BFt+%N3ea&_g~09||L0uk%J8dfW;$ z$s<~T%i(XxFPmF|P6{4vxBjmk(SAK{OLhG*DHv(>3p$a_?NN=%nAi+0ZjUVWxp@@h zF=>1^+Zs6?91zZI6609&Ogl5&MxRPZVL8q&%p+gtpe>R#5*ECg$n8wxNSL+^USf)*Hv=aKDrjWfpaYc8M_Tt?c4eEqsGFy08g z>G=<}n~&^M-pzokPBP+&s!vICH}GdOBK|$BkxM zj)`q?;Ww1W6Yc((M8}QLLRI`|5#)oe#m2Wr$l*9Y&vcym)B0} zPkfbKFa3_T^F&jMGsY{Y_e1x2GKSpcM-Md(N5*ftc^Z-vq5s~P;i&IhZq?3x@o0*K zj7+qMCwj@46l}p8G~$56`xV+V>0;M;6cdYPi`LL5t!7QHO3zW|H-XQ zm+VnbExY3g@fjs~vg$iw*$#Ar&lr+tJAJ=)_mM^=H=6b*JdgYKe#?=2CAR{tTbSHP zx0!{ad7|x%Nx9{)p=cjZEXnO z;7OwzOk~44)kAYs#83TAqC5Ejk}ut;_upzRoA}Kh{RfRozPDX#SVr`HuH}+gjlv^Z zEREBqEf=eDq2-!3qv0poaxnre*X~1WAETfTc;$>hvFU0py}Anj?X&8ilbhevt*rog?|DIV!z-c3g}=$K|~3QCHe=sR_CBH0jbzn|54`K*!~my6Fz>xEO(sD@SWe zHSM?#BCc_N%nxVgx#_6<@dB zqa7C`&~b&1(ArEpE=Hi^dZy9vD($!!fsSkI)`Np+$HfSATsL<%K2AF>Mxf&=SgvPJ zJ1$0`ByfD^Ri zszVyh{Gp^B7bDPdt^Kra0PVOKfsRYR;7tJSxEN8Aj%!zVZ7bSwF#;XehO29xX~)Hg z!WtjBt_zjkwBup~I<7u3wd-id#Rzm zgmhdnYp(2~9Ty|eab-10%%dF_Bk*-*(}_~mZ>f=vixGI@(RAA1hIU+x$jOt)#^#0+ z+Ho-g9oNvNVK-^V#fXA*T(1TV^M#I!0qD4jCiX_qaWMcL*QKK``$EUX0CZeM22O>v z<6=ZF9Up?uN8D4O<6;0hF6-k~-)YCi2y|SvLh(r2aWNv_jt4WDUi^V}T#P75$K|la zE|zv&j6jn$_xjgT+Hut(_2*rAM>{SxAsyE*&xdK#j!R8Q$8~@Co?EozQWNqd)?fMK zIPJL9rFYUM(fsSj4p|d^h zxEO(s%YN^97us<#0v%UnaeNf*xEO(st3dZz7VWqgfsX5oMw$!lxEO(s%X53sYua(C z3F)}Xl0SE#9Ty|eaeea8wV)jrBhYaL++AxyJ1$0`t2tK@TuD1FMxf(LO+5F7c3f&g zI<7S@q9SR>#Rzm<+Fl7kwBup~Ixdr0yTWM4#Rzm^G?YJ0$j;qvbKn?A<7=ey!^R-QBwBup~I<84!zK*oxVg&Zv zt4FUxX~)F~bX*;3`dXrL(u*+y6_>`M_%d2?F#;8rPXD`AwBlj}Dz2~#18>lZixH@} zvp9HLcUZtZ{QzID=tQ$;<8xyD=tQ$ z;zI71HEG4g2vl4Hrd4Iqii;8WOfYR25l<^FMxf%dxZ1M|t+*J0imRe3@*Sj1fr=}0 zg5OG7aj6NZxIVd$)}|GgnvjaCYtsISwBlj}Dz39OW-?lFF#;9WkdXsIX~o3|R9tO+ z4ad@o>nEWVS9=|cWLk0kBoe5&3q09oMxf&A9KZiMt+*J0ifclM z`E6QpF`^__e8!kqm;nM$D z7)Ki}Mxf!+SU+zJZMYbLhRZYSycKP@7=easdhiJ!+Hf%f4OjfgyN7AR#RxQ9`yU-x zMH?U_2x<1 za4`Z6*NBS?gK5LX2sB(Lb5~5D4HqNOaQO{uJ%Tn|j6lP+C+@2oZMYbLhD%=9|0Zp? z7=eZ>a%P|IwBcd|8m{JgzFxH9Vgwp4{~ZO_NW&$%exTv%A3aH>r8kzPie6`3d4xYt z*S4~sgGn=#WG)MGXy$dNy3k5{{KW8pJx`U>oJj4(rje|~k>6WIoipybp&ZGL~f$uI!jhFZH@b~_h$S+0vglalh$=suc_x@3k z%}9b0mp;!?ilwZXiMnu9k}oxb-Lkdx(Mn6aaV!IER!LPE>5xiHnX4QE9qa2$M=QLENkDvY$6lul1jF5%mAyc<&O3`jBS#!}@BPGq} z#QHvCNXA6He#n#tSDk-^GOY0X5H=Hpn*W)<0}UXK2P1G2-YF_NjS>i9DyqeIyaX4I ziplgWU>P_IyzagIZ%*T$ZIVRqlH=`nIv2dZo$Qd#?hUlV zRoHNcUyoG9(bH!ipoE2hbWT|@8QC=DGV@d$uX>kzVL~_|q7xfPa+j4E+-|Tj)XHq| zPPu*9`UoTQqWk-vsa{lzx5ls@9`I~Pz1oidB*&Hrxww>#pF5wZ6CCZh+16xS$EL2A z&dw-bVzQr1$j&&uGkC(*LH(j%{*xSYWg#~(RfJ&t!$o5WIWgRz@txF*yayZ zD-UzNV|m?*pV{h*o29BsCx@pGf`qKP6WE1N=Jw6@Ihc>=?}+b z&&$ak=pYwSUdF)gR*NLm#2#OpEMiCA*Orc)y%|}x6i=_Iy3MGp!jDNsD8-(eMf(FL zBcBXNMax@?7pCEc!H;-@rl^*WD9AhJhmXx4p&EV`I~;j?Ws@(O;=nCT(GQcydzw_E z$*sf-bHI0HiH5PR7b@i=%1)TPuG-^*?sF0ODGXXRM()VZk=qvdb@}X*6E+~<*5Yk} zi_j-AZZcZfT0FfT>GC>EE&q!0IABP=G!>40RfMXzp)?QS*;5Z2^h9Hv_-!o2q~g`M z*SYJQWOo&DcMAV{^}%;+j9X#-E^CgYchTSH9UUTYaLbeqv+j`%1fApNes2 zE0a<_6<%7QM{?{0HE4@-`YUFBYFj5auFia_7bmJqkOg7FXD&uXxteWdS~?DoOO#W$ zdxUsh8#ra-uxs(ETQt_&f6C^vjd-4c=I!<&|896Y*=PE*Y)pc-?k_~IQga^*g>fh@Xnw(c`d+;hpA2TS6Q^%~#c zcI&}^son#N?`^t&-~m4dy`3%+`c*%%G5nV~wou3^^LCo&+(dKTWVWJ5iz`p@m=gEh z$|nSg?!bWhoeem1vF%2{$u;72K3af>%#Gjd_>XdIoj9kI zNWR8RM8nCiP!SMhQBg#86c;Ee^1Mt^PBT>-<>y; zckiA1=FXJka&|dTBF|+fGZ_rVR{(=ShOB{oo4(0lCtrnqo4(25<_?B^o4&~)gE8!X zG_;w)fuNXcXtT6;84TShL)+xktbesdIyVO6p3Webm^d;BXZ=_VhIQ&aeVb?aAs_d_ zfv9RGnN)Q9kSjTgDX(17pF#Ln7&^5>ieI+x`&yhn^ftR($c|1)in8ee0W3f6jeWRJRK}c+pyi_h$2|tKFgFZ0G*|Sg3YKbS^ zEK&Ms&mXI;GC5$})sb}KRh8x9yxI@?P;r^M&~C`kJo;C)*ws_olS??+6zp# zKis{be6~Tx&55Mv*eYnPt&*C!CFFTOGq>@Ej;i`k=+m}&f@Hh4gEi$Nx|El!q z={b;b`u@s*a8vELtz0A4xsR0X5D~&>&_kiLeMw! z`t5MmDG>>=tIwFPAak>@4nJ7m6_zbyYrKJ>^Ym#;sc zsMmW(8fDjgL>cA(#I5av+VZ!dkS*Ib19Wm}_+$)pvgCXwfucrzkS97YR+ z$X3bSXJ%!cS7hs0RYp$h!s(y&`sel?-T1#po=QkAJryT8SiL8cruZ=z$4U3=72n7m z`vP@p2yxfA#!m6kQH>CuR5o6>gsUPXA98mK2H0OsU46*)`-t1hI{iW4O)+jlsxqb& zt7$?=$b^h-r}OKtADgw(CocZc=e%>D>9u~m@yTA4u}3%<7f)ece~2apGj)=Sbc!)m zRvCCk{Z*)=`1t|7;+uO>DQamC@Ih@e*_O5rB@=nWKN}dc%lzQUuOdl1y^3=Gn7jJR zV%$KX!OWBWwOhY{%;((cX#V zLdt!Beff{q0@k-b%}E{+Y+jGtLdXc#{EL3x=xQ?iw5@x?t|b#%>1%9<&*HfaLl5eY zUY}DLtUoDg{&g-i1Fcm3Ce@l(pQ&|`4Vhu^Z(Z6b`d@P)BBVRY7v4U574Rc|9s;Oh6VT#Y8*c|SBs=HemwD`qa0xCCMDA@Juyr>e` ziB^(@rPz6DyF%RaW;PV$OQ%A{Z05L?$t9czuiQuW(-0dW+npc|J?Ez z!TRO;M@LZJRJIpNKgYMmpB4$eW+5$0C_?HDrkObK6lcs~G{8jCD(UV4`Z;-;J^MCI zbjXl)Dc7niqV1^H`JY33w9;S{pRUQd@p1HG%?P(a6V7Rj#Wl-kcDa*gdhDl2Xgkoa z%aLCf$if*vaSXHk9ZCx#FG{)(q`xY&pse~XOLf0#be(3*uz(>3ua!jXEL$~n{%6?n z@;jI5Opzfg&n2X01r};9z{3`5qXr>XY$6siU+YIsIr}bXv3;w>2o@@C6;bHKCP5~? z`h~?Pc|p=)BfuCi0ZaiioOGD)eU2yEz+i|r5F`@vDG#K+#COCWc}VMt9+oBUnQhQV zznH*}jQDCoaC>c4-%o~IF>(JU==wc&BPy-Q55UbP{8~aNWYn84N-bMCSWCqzQVPgxCkp6-)2VyBZPHP+E&<0BRp3D?qV_SaS-rVs6Fq8X@JqEMhxUm^tQrU)GHaFX*efr6XaK`8zM zGY2f3O3oqB0S}8Pr0{Z;p~{711Zuv;w?(;IiR`YQHH|*DsPqfrR1`L3kRwu^6=kCY zcaAq|F0tgJj+BAMRLadQtCPP>`6Z~Zea85m8*EX65z`-am~z}u=SWU0(sArVk>U(B z6t%s}>5FVDi4+vhrV>$DyO|u7Zm+kU6;_l|2Xk%1CPkvX2oZBDG75HR69So`<4y*-KEJh`59D zTnM<*I%M`0w z)Zza29j&+fXP&8Fam!1W(}L<0oOGNXAoXG*T@ia3Y8LeOK=Eg+oKZ)JoeV!2C3}NM zZB_MCTpRt~PhJ;7j#%=m7&vddY_kk}KzpHKq$?}My!69tr=~Ar{7~f+(Q*_kuuKGJ zYQ5;^^Ql8%OX{V4|JXF^0TO177>uX}QGZnPwMAd7yC6*BQfYZFoH|?|n{Y=)4BmV) z!3z=hi69hqBSe9k-zC*JPGwcfL}`!3d59Rp^w9WPx+C=kR~7!@vH2E~5=>sdVTALd zBh&6~+i>DRl>-Wo1mo(O1kO0;6t#wytnxds);&vQzfr>IkjnU!-csnUNL{O1+ zHwFH2j;ymoiA z#|&M$Cti+QO02%LKw+I0LeyTy_C^YOOCy|?YH@k6kfN&d?*~_+D@28p@1-F7w{hoX zt74K`&AXmn*Cw)_8rAysl^k9^3a6+jq^?PoVE0Sn6DC-9+sd01QY#wW_bgqydut{v zufC7DWrvAx$v6U~-Lq=rvYJ+_jDKE^GOCrsu+Ksp7XdE0VJSB+5bH#MITq_Ia)l6G z>ma(;^+s23boEBp|3sG$N$tsNsgA5(Q>~o+EnCpI{q8Hl#rZnqy{xm4FD9`)yJD*V zVhiF+{D|2bQN8)9H(&M4R}fL}P8&FU7~MyiyTY{a@w^dxUx_I8TF%AW^{6t`uD+pW43Xe9>Pc zy!4M&5!z@?*raRW%{ld>f1Ysh!YjFo6?;Up2em{wx??KN^MDAat+qKXFk-KVRJFc0 zRrRK-{~%RuA^)<`1j*{zk%c+#rqgjFzuLJps(|%sF#TY;GZVF+ws65E^>*of3Sv&! z0(O7`um>Cfz1$J#3-kk=0B67ja0U7U0{}N*Am9!t0TnO^@Bjt_Lx7>cFu)TS4vYZ2 zfRVr`z#AA1_yE4Z7+@?g4)6oU1O7k&5C}{Ff`DLPA`k+E0%1TnFbS9pOaUT*slYTK z5||D|0W*MTAO?uVF(=|GWgPD?2H_osR9kEsh+~+@_w*pJ(oB*}BAu@9DwL3%u^G7v zC2MhAbm}-B_Su#s;NW!%$z&4iYGW6(u);anPl8LRwC60GJ657&qHEa>Y2au(7KqnI zc(%paTbZ^c#r(1xhfmn~mMO}+#!tiA^#T=vN|cHXD1N_dBvQWPD8lKFhA%S4ZTx;t z1QIHI%doE4rJ0F+ZYAww!gxJuf0fT-F@Y89i^|}V$2zgt_^bJncoHiYCF_i_!hQtL z5-Sfza|vOOS}GQ5lDFAl^_5Yr9ISmd`!R{reP^yTdS4UYDTi})FDGLA9|FH6afh;O z0JmpB4IPlHRwETHNHY|eaYD9-i0JWXZ>T%tn)}K1%pSEjEPTf|fQ!_AW$8VNfw-m8 zKcC&BV2bma;zOCZhETdQQHP>Jh}9F490;sil~+Mxs&uXh{?p;Ncw~>tCJr}Mrm=cd zEOEv$e;>A?hKR#Oxr5E9ZgtZ_oFQ7uVH~n z#>p&B>EMSAr5BJefh{h`vP!^NR*6rBalAvp(L#G2?GJV|3cR~}h4$~_Y22e5o0d24 z#faeWtwhpGH4EW&8sWVN2-nl=Y=5w`!CkF;dF9XJYn?~@(^);9#s8?g8q1rU2`_aT zXFB$#%>P=-{PQ~3e>Y{aH%_SEB}J-4rljDGaWXI)m;=lO<^d@{Dli{d0HguwKnAc7 z$ON*0MZg z43q$+z$SnOHUnD#4S;|$;7y<$*a}nt+km%#?SK~FF|PDq$n(3)AbT@eWC3X8I z1h?#%A&9HhzuzK8&(?$6q7Oz_tW;DD}?ugYpw}!$}t@}%K{lf327^j~t zS}D}u90SPror>8K7^mA82bnlelV529UlCBdo1Sdde`oO97KONT#wumwR00uly67SUKype_W&7Ok>~>`^JG1*;H1i3=$B z#LF%yYOANMW=lpX1=l|}z z_x29Xcmig53pF=q#pR}HHIwqoFe$_HHIwqEDWD7nb_pS3>K>` zh>2}=-#732lyr%`Gsq$)7cjYmlBWvl)_S|V1=``Uqt+e-}-2ak$xFoExl1a)Us9=9Y z9$Z?on`ywQe?hAp{OD|l99p3CR4wsreQc;dc8a-Z`J~|OP>I1e&N=G-c#+AoXCI)| zNWop0_rE_H$HHYl`k%${e0#%Oov|Drv2wJE#1UD^0ZCQOY^@+^dEOGK6{k zEdyK+$!8|^U>@0`4gGU7U;32A0^?D`gi#;k<82auGd#>A95>;fGC?LOXEh`$-s!Bp ze4QQI-gIi7opF@-o=YJpV=h~csYv#95^qPu>7#V;P@DT6EAnv5yEgd+V+60CmxIO+h7rSf7u!4 z07_no!qLDE!g6F3p-bGt1)bh37WEOnS0-3NBIjKkDYxcf&hl>5ywiUI-Wo+d97K_` z$eZ%g_Jj8V8l8rg7!o3{NY=kHj`@KPm5Q!q(C&2oPcmetVoQa-+xO-eyJS74rw*NW z+n+b6z4lTv&TTND{BW`}vpcm3;k93kvy6IkQDgm4O{%dY$=w&e=)i1tCY9{*_5Oj@ z-il(^w4&DKEQf3^8n2L($u+Pc8`%!qu z(~TLv?5~sEZjZZbY!iAhVm>0g$;n6`O>&IWBahoS`3!a9i+#>GYTL7N4oNTLFUthcgBp&)GT8Daa1&ieMuF#IHu;yT@FQ+S;ub`^Z6 zX1|>yDgzcigJ2`EIpvKsR|A}P7%aXb>`=t?!gVNKRG5Q^@6C#hd%%(~)TDE9O}fcv zvw1`SlperB&7Ycuq6{a66uovojk?S^ zL1-~CCK^#*g@I_mEG`Xwf7g`4L%TVT`PlD*$=sv3D}wYStpC}RQ%A~WXHeNFI3IeN zkPt3DK`*{3`5=1ykLQFY&HJO;jm5cruGKK>qJanWWBlVodK;gw!v3F~Kd!{a*LW}M zk0^W=`IY?FlWXjMQ}FZ8MyCGuqpC0deqlzY{z6J!GP6l7esxw*Tr&4PzV2Ci*rew- zb{M339^hlCUT{UsAN?_l1*V|BI8HQDb}ZDOv-YBOXzM;PvnpfIk!F7iP{^B`0A8d0CImYCb{rfdQum&F@*O@jj zz#UN{>TTrgMcq}rXk70U7fRsLy_|boW-J6_WuXD@{2ILFASaBA@(=E=MrU)D>QLM+ z3mX*E!bvgIS6SftDk}bG0c-RcsBO*vpteR1sxv1j)Of=*3yHr>E5M&r3Qj3FPLU_S zMs?vk?Qs4K#p3Z;=_D%?;l1Y4ax>f;W#ves{^=DI*4axBvhnE!Rxh1!+6?Jq3q%D; zN^s!&QjbWyoNY~-qSCxd3a>sYokDVM-YUF<${xB-#ieT_w{mdYnE-E7T>4mMGsr693Y6#hd1eb3FP%H&l710!V2}T7OL>U zCh-*lDMdO8H#^G3B9xkyP8pv&@gWZHx4Nf5n{s%!u&o9tnK~XOacC!@A0jfM9ez>uJ3_qXUH~>3tfG^ktwrK^LL^& ztd8>W72^93Nfm)JI>)gESm_whL11oys#AjFM|&@D#)>{u8v^Ao&Zb*E{R7Rg;Ib;g z5qk~AdlGp3GgYtzYo7SXMCf`1cM;P55NwULgFZR|&XBpjc18~6b|QTBw0-OkxT0Kh zjfa&7VmA@Et8|RD2pthltH+*UPG{^4i%#1E2cQIwU^H+7&R`4}3tWH-xPo!O4Y&gj zFdldUHShwz1KwZ)@BzMHBJczLAOHk{NgxPJ22+3rOa7RFgbG19KKWjssGxFLZT-7=^ohxqLt0M^GBHti!eaYxn5+C7Y$Mf+L zVcl61{N)Nq6E0TgrB^Tu%a`G<+Voa?+?5}9RfyvROMlPC_j?uwnzUZ_+(Y2D=w(G_ zIIb`KCtG|qvR1|H!3#En}@aCnuI2Osw4 z^9y?{Tiy$esa!uvvMA;7QS3Fxv73vj2|H)_c;bcSL)w|;#$Z(T)Y6KgHZ&3F0aQ)B8iR{*h*xa#r zBd)s4!~H*`>-feZFPZEZbkt-0^okHR9&U6vMPfM3h>i5uU0$JnWsMlOZCo;%z{<+l zV*>1%SsTXR2Yc8Qw_T~zag4iHO=7idbr^}dUdI`BDC)Q4j6oN+5QpEd^C4Qlc4&pO z_;cc6(~-I2KJcxH9*3rO%)cqN?mm(U?^R;*N|>tOe7eGZsG!hih0ck%P2&;?6>Ki4 zAh3FxOR)f#(hEOzz_Gq{)5!l9llJ0R*jgboX(+XGiRiaEBnQHG{$CyvSJn2B5)99T zNgx@dfK-qM(t!>v1N@Da!cIbb#T7_0$nK`zJxdXNtaKp|KM z)`KEo02{zYunBAi#h?Ui0b4;SCZ2s`8iN@KFtSQf2*9zxn-###0nh!i@3X8%Inn zel>h)=DOnr#I4@Q74-#aBX35nzIuGvzZeq5h#Ey0`PAQx#qhp|J@lVHCK{T%=j}Z| Py-4{l-NV^DFo6FGe5ruw diff --git a/sensortoy/sensortoy/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin b/sensortoy/sensortoy/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin index e4764d5042caeb44888b87df1d84a653ffbb6f98..bdeb7e9b9f5decdeeec7b007a919c8dabf15a95b 100644 GIT binary patch delta 430 zcmaEUhxz#(<_%Np1h%fVwziyhdD%+K_|}!lF)5qMRT%};-r5W7ym8rcPUEu|RiU#W zf+ssnS7a;@zu&|EP%co~- z4U-icoF}iFB{unNgVE$K)5HZet)@KM;;t||+c9=_`s@tj9g`W$RW>_JZ(-WZJ^c;i zg(i#WfGgi=1=4jNSYMsJM-}UaPFJWM8b1(FKj-)C5Bbt z=1G6iO)L*wg>uhXF+b&Mg^1dTGWkzqNv*ZNt-H|2>y`yjG=Wtm{#5*uGsX-I+^2x} z5C}6H2Q567$6do)b0&nxcE{CudnQi|SC|~P@Ac$```2%tKT&~6&~1^T^MTN-9ci=M rJ*}!u-(gX5PMK2{?H0*+s@8J&bby?Ej?z1t+q6 zi~oOWvSNetv(_5H07=R#4V^jI$gJlw%!{$%q68Iwh|I+s?%bB0Gj|Y7WS8&*T zeoG9iz_|&NK09tmcepQ6>i&Hzk32;5$U1=+Zuf(gtzP!TtXq0~4Nx?JRb~I>i$Bj8 zGca(U0^&m;%q$)DM|;)s-`5peOWL>Vr*GUdd1AQ2div{width:18px;height:18px;background-color:#f4961a;border-radius:100%;display:inline-block;animation:a 1.4s infinite ease-in-out both}.spinner .bounce1{animation-delay:-.32s}.spinner .bounce2{animation-delay:-.16s}@keyframes a{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.md-display{opacity:1}.lostConnection,.md-display{transition:opacity .3s,visibility .3s}.lostConnection{opacity:.5}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;white-space:normal!important;-webkit-line-clamp:1;-webkit-box-orient:vertical}.pulser{display:block;margin-top:10%;border-radius:100px;width:30px;height:30px;border:10px solid #c5f4eb;animation:b .75s ease-in infinite}@keyframes b{0%{transform:scale(0)}85%{opacity:1}to{transform:scale(1);-webkit-filter:blur(5px);filter:blur(5px);opacity:0}}header{position:fixed;top:0;z-index:1;right:0;transition:left .2s;width:100%}.mui-tabs__bar>li.tabOnWhite>a{color:#78909c}.mui-tabs__bar>li.mui--is-active.tabOnWhite>a{color:#2196f3} -.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;background-clip:padding-box;overflow:hidden}.progress .determinate{position:absolute;background-color:inherit;top:0;bottom:0;transition:width .3s linear}.progress .determinate,.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{animation:a 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate:after,.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right}.progress .indeterminate:after{animation:b 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}@keyframes a{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes b{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}} \ No newline at end of file +body { + font-family: Ubuntu, "Helvetica Neue", Helvetica, arial, sans-serif; + + } + + +#lightR, #projR { color: red !important; } + +#lightG, #projG { color: green !important; } + +#lightB, #projB { color: blue !important; } + +#lightW, #projW { background-color: #aabbcc; } + +.lightBG, .heatingBG, .projectorBG { + float: right; + } + + + +.h105 { + height: 100px; + } + +.mdHeading { + overflow: hidden; + } + + +.item_content { + height: 100px; + /* border: 1px solid grey;*/ + min-height: 100px; + overflow: hidden; + } + +.item_content a.title { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: #ffffff; + } + +.item_content div.body, .item_content div.site, .item_content div.tags { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: #313131; + } + +.time, .date, .temp { + font-family: 'Ubuntu Condensed', sans-serif; + font-size: 80px; + color: #bad649; + } + +.time span.hour:after { + content: ":"; + } + +.date { + font-size: 35px; + line-height: 1; + } + +.temp::after { + content: "°c"; + } + +.item_content div.tags { + color: blue; + } + +.noConnection { + color: rgb(244, 150, 26); + } + +#caltext { + color: #fff; + } + +/* Smartphones (portrait and landscape) ----------- */ +@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { + /* Styles */ + .time, .date, .temp { + font-family: 'Ubuntu Condensed', sans-serif; + font-size: 33px; + /*color: #ff0000;*/ + } + + .time { + font-size: 50px; + line-height: 1; + } + + .time span.hour:after { + content: "\a"; + white-space: pre; + } + + .temp { + font-size: 70px; + } + + .temp::after { + content: "°"; + } + + .wd-we { + font-size: 75%; + } + + .mo { + font-size: 85%; + } + + .mo.mo-1, .mo.mo-10 { + font-size: 70%; + } + + .mo.mo-2 { + font-size: 65%; + } + + .mo.mo-8 { + font-size: 80%; + } + + .mo.mo-9 { + font-size: 55%; + } + + .mo.mo-11, .mo.mo-12 { + font-size: 60%; + } + + } + +/* Smartphones (landscape) ----------- */ +@media only screen and (min-width: 321px) { + /* Styles */ + } + +/* Smartphones (portrait) ----------- */ +@media only screen and (max-width: 320px) { + /* Styles */ + } + +.spinner { + margin: 25px auto 0; + width: 70px; + text-align: center; + } + +.spinner > div { + width: 18px; + height: 18px; + background-color: rgb(244, 150, 26); + border-radius: 100%; + display: inline-block; + -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; + animation: sk-bouncedelay 1.4s infinite ease-in-out both; + } + +.spinner .bounce1 { + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; + } + +.spinner .bounce2 { + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; + } + +@-webkit-keyframes sk-bouncedelay { + 0%, 80%, 100% { -webkit-transform: scale(0) } + 40% { -webkit-transform: scale(1.0) } + } + +@keyframes sk-bouncedelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 40% { + -webkit-transform: scale(1.0); + transform: scale(1.0); + } + } + + +.md-display { + opacity: 1; + transition: opacity 0.3s, visibility 0.3s; + + } + +.lostConnection { + opacity: 0.5; + transition: opacity 0.3s, visibility 0.3s; +} + + +.mui-ellipsis-2 { + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + word-wrap: break-word; + white-space: normal!important; + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; +} + +.pulser { + display: block; + margin-top:10%; + border-radius: 100px; + width: 30px; + height: 30px; + border: 10px solid #C5F4EB; + -webkit-animation: pulse 0.75s ease-in infinite; + -moz-animation: pulse 0.75s ease-in infinite; + animation: pulse 0.75s ease-in infinite; +} +@-webkit-keyframes pulse { + 0% { -webkit-transform: scale(0); } + 85% { opacity: 1; } + 100% { -webkit-transform: scale(1); -webkit-filter: blur(5px); opacity: 0; } +} +@-moz-keyframes pulse { + 0% { -moz-transform: scale(0); } + 85% { opacity: 1; } + 100% { -moz-transform: scale(1); -moz-filter: blur(5px); opacity: 0; } +} +@keyframes pulse { + 0% { transform: scale(0); } + 85% { opacity: 1; } + 100% { transform: scale(1); filter: blur(5px); opacity: 0; } +} + + +header { + position: fixed; + top: 0; + z-index: 1; + right:0; + transition: left .2s; + width:100%; + } + +.mui-tabs__bar > li.tabOnWhite > a + + { +color:#78909C; + } + +.mui-tabs__bar > li.mui--is-active.tabOnWhite > a +{ + color:#2196F3; + } diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/custom.scss b/sensortoy/sensortoy/platforms/android/assets/www/css/custom.scss new file mode 100644 index 0000000..8d1af65 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/custom.scss @@ -0,0 +1,15 @@ +@import "app/libs/mui/src/sass/mui/colors"; + + +$mui-body-bg-color: mui-color('grey', '100'); +//$mui-accent-color: #bad649; +$mui-accent-color: #004c6d; +$mui-btn-accent-font-color: #004c6d; +//$mui-accent-color-dark: mui-color('green', 'A100'); +$mui-accent-color-dark: #004c6d; +$mui-accent-color-light: mui-color('green', 'A400'); +$mui-tab-font-color: rgba(255, 255, 255, 0.87); +$mui-appbar-bg-color: #004c6d; + +// import MUI SASS +@import "app/libs/mui/src/sass/mui"; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/index.css b/sensortoy/sensortoy/platforms/android/assets/www/css/index.css new file mode 100644 index 0000000..51daa79 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/index.css @@ -0,0 +1,115 @@ +/* + * 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. + */ +* { + -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */ +} + +body { + -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ + -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ + -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */ + background-color:#E4E4E4; + background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); + background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); + background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); + background-image:-webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, #A7A7A7), + color-stop(0.51, #E4E4E4) + ); + background-attachment:fixed; + font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif; + font-size:12px; + height:100%; + margin:0px; + padding:0px; + text-transform:uppercase; + width:100%; +} + +/* Portrait layout (default) */ +.app { + background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */ + position:absolute; /* position in the center of the screen */ + left:50%; + top:50%; + height:50px; /* text area height */ + width:225px; /* text area width */ + text-align:center; + padding:180px 0px 0px 0px; /* image height is 200px (bottom 20px are overlapped with text) */ + margin:-115px 0px 0px -112px; /* offset vertical: half of image height and text area height */ + /* offset horizontal: half of text area width */ +} + +/* Landscape layout (with min-width) */ +@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) { + .app { + background-position:left center; + padding:75px 0px 75px 170px; /* padding-top + padding-bottom + text area = image height */ + margin:-90px 0px 0px -198px; /* offset vertical: half of image height */ + /* offset horizontal: half of image width and text area width */ + } +} + +h1 { + font-size:24px; + font-weight:normal; + margin:0px; + overflow:visible; + padding:0px; + text-align:center; +} + +.event { + border-radius:4px; + -webkit-border-radius:4px; + color:#FFFFFF; + font-size:12px; + margin:0px 30px; + padding:2px 0px; +} + +.event.listening { + background-color:#333333; + display:block; +} + +.event.received { + background-color:#4B946A; + display:none; +} + +@keyframes fade { + from { opacity: 1.0; } + 50% { opacity: 0.4; } + to { opacity: 1.0; } +} + +@-webkit-keyframes fade { + from { opacity: 1.0; } + 50% { opacity: 0.4; } + to { opacity: 1.0; } +} + +.blink { + animation:fade 3000ms infinite; + -webkit-animation:fade 3000ms infinite; +} diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/material-icons.css b/sensortoy/sensortoy/platforms/android/assets/www/css/material-icons.css new file mode 100644 index 0000000..986e9d3 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/material-icons.css @@ -0,0 +1,15 @@ +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; +} diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/mui.css b/sensortoy/sensortoy/platforms/android/assets/www/css/mui.css new file mode 100644 index 0000000..cfe1de1 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/mui.css @@ -0,0 +1,1912 @@ +/** + * MUI Colors module + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS and IE text size adjust after device orientation change, + * without disabling user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ } + +/** + * Remove default margin. + */ +body { + margin: 0; } + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; } + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ } + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; } + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; } + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background-color: transparent; } + +/** + * Improve readability of focused elements when they are also in an + * active/hover state. + */ +a:active, +a:hover { + outline: 0; } + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; } + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; } + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; } + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; } + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; } + +/** + * 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 { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; } + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; } + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; } + +/** + * Address differences between Firefox and other browsers. + */ +hr { + box-sizing: content-box; + height: 0; } + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; } + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ } + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; } + +/** + * 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 Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +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"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ } + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; } + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; } + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ } + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; } + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + box-sizing: content-box; + /* 2 */ } + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ } + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; } + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; } + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + +/** + * MUI Colors module + */ +/** + * MUI Reboot + */ +* { + box-sizing: border-box; } + +*:before, +*:after { + box-sizing: border-box; } + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; } + +body { + font-family: Arial, Verdana, Tahoma; + font-size: 14px; + font-weight: 400; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; } + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +a { + color: #2196F3; + text-decoration: none; } + a:hover, a:focus { + color: #1976D2; + text-decoration: underline; } + a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +p { + margin: 0 0 10px; } + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; } + +figure { + margin: 0; } + +img { + vertical-align: middle; } + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); } + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 10px; + font-size: 21px; + color: rgba(0, 0, 0, 0.87); + line-height: inherit; + border: 0; } + +input[type="search"] { + box-sizing: border-box; + -webkit-appearance: none; } + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; } + +strong { + font-weight: 700; } + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #2196F3; } + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; } + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; } + +/** + * MUI Appbar + */ +.mui--appbar-height { + height: 56px; } + +.mui--appbar-min-height, .mui-appbar { + min-height: 56px; } + +.mui--appbar-line-height { + line-height: 56px; } + +.mui--appbar-top { + top: 56px; } + +@media (orientation: landscape) and (max-height: 480px) { + .mui--appbar-height { + height: 48px; } + .mui--appbar-min-height, .mui-appbar { + min-height: 48px; } + .mui--appbar-line-height { + line-height: 48px; } + .mui--appbar-top { + top: 48px; } } + +@media (min-width: 480px) { + .mui--appbar-height { + height: 64px; } + .mui--appbar-min-height, .mui-appbar { + min-height: 64px; } + .mui--appbar-line-height { + line-height: 64px; } + .mui--appbar-top { + top: 64px; } } + +.mui-appbar { + background-color: #2196F3; + color: #FFF; } + +/** + * MUI Buttons + */ +.mui-btn { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; + transition: all 0.2s ease-in-out; + display: inline-block; + height: 36px; + padding: 0 26px; + margin-top: 6px; + margin-bottom: 6px; + border: none; + border-radius: 2px; + cursor: pointer; + touch-action: manipulation; + background-image: none; + text-align: center; + line-height: 36px; + vertical-align: middle; + white-space: nowrap; + user-select: none; + font-size: 14px; + letter-spacing: 0.03em; + position: relative; + overflow: hidden; } + .mui-btn:hover, .mui-btn:focus, .mui-btn:active { + color: rgba(0, 0, 0, 0.87); + background-color: white; } + .mui-btn[disabled]:hover, .mui-btn[disabled]:focus, .mui-btn[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; } + .mui-btn.mui-btn--flat { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; } + .mui-btn.mui-btn--flat:hover, .mui-btn.mui-btn--flat:focus, .mui-btn.mui-btn--flat:active { + color: rgba(0, 0, 0, 0.87); + background-color: #f2f2f2; } + .mui-btn.mui-btn--flat[disabled]:hover, .mui-btn.mui-btn--flat[disabled]:focus, .mui-btn.mui-btn--flat[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; } + .mui-btn:hover, .mui-btn:focus, .mui-btn:active { + outline: 0; + text-decoration: none; + color: rgba(0, 0, 0, 0.87); } + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } } + .mui-btn:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } } + .mui-btn:disabled, .mui-btn.mui--is-disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; } + +.mui-btn + .mui-btn { + margin-left: 8px; } + +.mui-btn--flat { + background-color: transparent; } + .mui-btn--flat:hover, .mui-btn--flat:focus, .mui-btn--flat:active { + box-shadow: none; + background-color: #f2f2f2; } + +.mui-btn--raised, .mui-btn--fab { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised, .mui-btn--fab { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } } + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } } + +.mui-btn--fab { + position: relative; + padding: 0; + width: 55px; + height: 55px; + line-height: 55px; + border-radius: 50%; + z-index: 1; } + +.mui-btn--primary { + color: #FFF; + background-color: #2196F3; } + .mui-btn--primary:hover, .mui-btn--primary:focus, .mui-btn--primary:active { + color: #FFF; + background-color: #39a1f4; } + .mui-btn--primary[disabled]:hover, .mui-btn--primary[disabled]:focus, .mui-btn--primary[disabled]:active { + color: #FFF; + background-color: #2196F3; } + .mui-btn--primary.mui-btn--flat { + color: #2196F3; + background-color: transparent; } + .mui-btn--primary.mui-btn--flat:hover, .mui-btn--primary.mui-btn--flat:focus, .mui-btn--primary.mui-btn--flat:active { + color: #2196F3; + background-color: #f2f2f2; } + .mui-btn--primary.mui-btn--flat[disabled]:hover, .mui-btn--primary.mui-btn--flat[disabled]:focus, .mui-btn--primary.mui-btn--flat[disabled]:active { + color: #2196F3; + background-color: transparent; } + +.mui-btn--dark { + color: #FFF; + background-color: #424242; } + .mui-btn--dark:hover, .mui-btn--dark:focus, .mui-btn--dark:active { + color: #FFF; + background-color: #4f4f4f; } + .mui-btn--dark[disabled]:hover, .mui-btn--dark[disabled]:focus, .mui-btn--dark[disabled]:active { + color: #FFF; + background-color: #424242; } + .mui-btn--dark.mui-btn--flat { + color: #424242; + background-color: transparent; } + .mui-btn--dark.mui-btn--flat:hover, .mui-btn--dark.mui-btn--flat:focus, .mui-btn--dark.mui-btn--flat:active { + color: #424242; + background-color: #f2f2f2; } + .mui-btn--dark.mui-btn--flat[disabled]:hover, .mui-btn--dark.mui-btn--flat[disabled]:focus, .mui-btn--dark.mui-btn--flat[disabled]:active { + color: #424242; + background-color: transparent; } + +.mui-btn--danger { + color: #FFF; + background-color: #F44336; } + .mui-btn--danger:hover, .mui-btn--danger:focus, .mui-btn--danger:active { + color: #FFF; + background-color: #f55a4e; } + .mui-btn--danger[disabled]:hover, .mui-btn--danger[disabled]:focus, .mui-btn--danger[disabled]:active { + color: #FFF; + background-color: #F44336; } + .mui-btn--danger.mui-btn--flat { + color: #F44336; + background-color: transparent; } + .mui-btn--danger.mui-btn--flat:hover, .mui-btn--danger.mui-btn--flat:focus, .mui-btn--danger.mui-btn--flat:active { + color: #F44336; + background-color: #f2f2f2; } + .mui-btn--danger.mui-btn--flat[disabled]:hover, .mui-btn--danger.mui-btn--flat[disabled]:focus, .mui-btn--danger.mui-btn--flat[disabled]:active { + color: #F44336; + background-color: transparent; } + +.mui-btn--accent { + color: #004c6d; + background-color: #bad649; } + .mui-btn--accent:hover, .mui-btn--accent:focus, .mui-btn--accent:active { + color: #004c6d; + background-color: #c2db5e; } + .mui-btn--accent[disabled]:hover, .mui-btn--accent[disabled]:focus, .mui-btn--accent[disabled]:active { + color: #004c6d; + background-color: #bad649; } + .mui-btn--accent.mui-btn--flat { + color: #bad649; + background-color: transparent; } + .mui-btn--accent.mui-btn--flat:hover, .mui-btn--accent.mui-btn--flat:focus, .mui-btn--accent.mui-btn--flat:active { + color: #bad649; + background-color: #f2f2f2; } + .mui-btn--accent.mui-btn--flat[disabled]:hover, .mui-btn--accent.mui-btn--flat[disabled]:focus, .mui-btn--accent.mui-btn--flat[disabled]:active { + color: #bad649; + background-color: transparent; } + +.mui-btn--small { + height: 30.6px; + line-height: 30.6px; + padding: 0 16px; + font-size: 13px; } + +.mui-btn--large { + height: 54px; + line-height: 54px; + padding: 0 26px; + font-size: 14px; } + +.mui-btn--fab.mui-btn--small { + width: 44px; + height: 44px; + line-height: 44px; } + +.mui-btn--fab.mui-btn--large { + width: 75px; + height: 75px; + line-height: 75px; } + +/** + * MUI Checkboxe and Radio Components + */ +.mui-radio, +.mui-checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; } + .mui-radio > label, + .mui-checkbox > label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } + +.mui-radio > label > input[type="radio"], +.mui-radio--inline > label > input[type="radio"], +.mui-checkbox > label > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px; } + +.mui-radio + .mui-radio, +.mui-checkbox + .mui-checkbox { + margin-top: -5px; } + +.mui-radio--inline, +.mui-checkbox--inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; } + .mui-radio--inline > input[type="radio"], + .mui-radio--inline > input[type="checkbox"], + .mui-radio--inline > label > input[type="radio"], + .mui-radio--inline > label > input[type="checkbox"], + .mui-checkbox--inline > input[type="radio"], + .mui-checkbox--inline > input[type="checkbox"], + .mui-checkbox--inline > label > input[type="radio"], + .mui-checkbox--inline > label > input[type="checkbox"] { + margin: 4px 0 0; + line-height: normal; } + +.mui-radio--inline + .mui-radio--inline, +.mui-checkbox--inline + .mui-checkbox--inline { + margin-top: 0; + margin-left: 10px; } + +/** + * MUI Container module + */ +.mui-container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .mui-container:before, .mui-container:after { + content: " "; + display: table; } + .mui-container:after { + clear: both; } + @media (min-width: 544px) { + .mui-container { + max-width: 570px; } } + @media (min-width: 768px) { + .mui-container { + max-width: 740px; } } + @media (min-width: 992px) { + .mui-container { + max-width: 960px; } } + @media (min-width: 1200px) { + .mui-container { + max-width: 1170px; } } + +.mui-container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .mui-container-fluid:before, .mui-container-fluid:after { + content: " "; + display: table; } + .mui-container-fluid:after { + clear: both; } + +/** + * MUI Divider Component and CSS Helpers + */ +.mui-divider { + display: block; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); } + +.mui--divider-top { + border-top: 1px solid rgba(0, 0, 0, 0.12); } + +.mui--divider-bottom { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } + +.mui--divider-left { + border-left: 1px solid rgba(0, 0, 0, 0.12); } + +.mui--divider-right { + border-right: 1px solid rgba(0, 0, 0, 0.12); } + +/** + * MUI Dropdown module + */ +.mui-dropdown { + display: inline-block; + position: relative; } + +[data-mui-toggle="dropdown"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + outline: 0; } + +.mui-dropdown__menu { + position: absolute; + top: 100%; + left: 0; + display: none; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border-radius: 2px; + z-index: 1; + background-clip: padding-box; } + .mui-dropdown__menu.mui--is-open { + display: block; } + .mui-dropdown__menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + white-space: nowrap; } + .mui-dropdown__menu > li > a:hover, .mui-dropdown__menu > li > a:focus { + text-decoration: none; + color: rgba(0, 0, 0, 0.87); + background-color: #EEEEEE; } + .mui-dropdown__menu > .mui--is-disabled > a, .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + color: #EEEEEE; } + .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; } + +.mui-dropdown__menu--right { + left: auto; + right: 0; } + +/** + * MUI Form Component + */ +@media (min-width: 544px) { + .mui-form--inline > .mui-textfield { + display: inline-block; + margin-bottom: 0; } + .mui-form--inline > .mui-radio, + .mui-form--inline > .mui-checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .mui-form--inline > .mui-radio > label, + .mui-form--inline > .mui-checkbox > label { + padding-left: 0; } + .mui-form--inline > .mui-radio > label > input[type="radio"], + .mui-form--inline > .mui-checkbox > label > input[type="checkbox"] { + position: relative; + margin-left: 0; } + .mui-form--inline > .mui-select { + display: inline-block; } + .mui-form--inline > .mui-btn { + margin-bottom: 0; + margin-top: 0; + vertical-align: bottom; } } + +/** + * MUI Grid module + */ +.mui-row { + margin-left: -15px; + margin-right: -15px; } + .mui-row:before, .mui-row:after { + content: " "; + display: table; } + .mui-row:after { + clear: both; } + +.mui-col-xs-1, .mui-col-sm-1, .mui-col-md-1, .mui-col-lg-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-md-2, .mui-col-lg-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-md-3, .mui-col-lg-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-md-4, .mui-col-lg-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-md-5, .mui-col-lg-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-md-6, .mui-col-lg-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-md-7, .mui-col-lg-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-md-8, .mui-col-lg-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-md-9, .mui-col-lg-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-md-10, .mui-col-lg-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-md-11, .mui-col-lg-11, .mui-col-xs-12, .mui-col-sm-12, .mui-col-md-12, .mui-col-lg-12 { + min-height: 1px; + padding-left: 15px; + padding-right: 15px; } + +.mui-col-xs-1, .mui-col-xs-2, .mui-col-xs-3, .mui-col-xs-4, .mui-col-xs-5, .mui-col-xs-6, .mui-col-xs-7, .mui-col-xs-8, .mui-col-xs-9, .mui-col-xs-10, .mui-col-xs-11, .mui-col-xs-12 { + float: left; } + +.mui-col-xs-1 { + width: 8.33333%; } + +.mui-col-xs-2 { + width: 16.66667%; } + +.mui-col-xs-3 { + width: 25%; } + +.mui-col-xs-4 { + width: 33.33333%; } + +.mui-col-xs-5 { + width: 41.66667%; } + +.mui-col-xs-6 { + width: 50%; } + +.mui-col-xs-7 { + width: 58.33333%; } + +.mui-col-xs-8 { + width: 66.66667%; } + +.mui-col-xs-9 { + width: 75%; } + +.mui-col-xs-10 { + width: 83.33333%; } + +.mui-col-xs-11 { + width: 91.66667%; } + +.mui-col-xs-12 { + width: 100%; } + +.mui-col-xs-offset-0 { + margin-left: 0%; } + +.mui-col-xs-offset-1 { + margin-left: 8.33333%; } + +.mui-col-xs-offset-2 { + margin-left: 16.66667%; } + +.mui-col-xs-offset-3 { + margin-left: 25%; } + +.mui-col-xs-offset-4 { + margin-left: 33.33333%; } + +.mui-col-xs-offset-5 { + margin-left: 41.66667%; } + +.mui-col-xs-offset-6 { + margin-left: 50%; } + +.mui-col-xs-offset-7 { + margin-left: 58.33333%; } + +.mui-col-xs-offset-8 { + margin-left: 66.66667%; } + +.mui-col-xs-offset-9 { + margin-left: 75%; } + +.mui-col-xs-offset-10 { + margin-left: 83.33333%; } + +.mui-col-xs-offset-11 { + margin-left: 91.66667%; } + +.mui-col-xs-offset-12 { + margin-left: 100%; } + +@media (min-width: 544px) { + .mui-col-sm-1, .mui-col-sm-2, .mui-col-sm-3, .mui-col-sm-4, .mui-col-sm-5, .mui-col-sm-6, .mui-col-sm-7, .mui-col-sm-8, .mui-col-sm-9, .mui-col-sm-10, .mui-col-sm-11, .mui-col-sm-12 { + float: left; } + .mui-col-sm-1 { + width: 8.33333%; } + .mui-col-sm-2 { + width: 16.66667%; } + .mui-col-sm-3 { + width: 25%; } + .mui-col-sm-4 { + width: 33.33333%; } + .mui-col-sm-5 { + width: 41.66667%; } + .mui-col-sm-6 { + width: 50%; } + .mui-col-sm-7 { + width: 58.33333%; } + .mui-col-sm-8 { + width: 66.66667%; } + .mui-col-sm-9 { + width: 75%; } + .mui-col-sm-10 { + width: 83.33333%; } + .mui-col-sm-11 { + width: 91.66667%; } + .mui-col-sm-12 { + width: 100%; } + .mui-col-sm-offset-0 { + margin-left: 0%; } + .mui-col-sm-offset-1 { + margin-left: 8.33333%; } + .mui-col-sm-offset-2 { + margin-left: 16.66667%; } + .mui-col-sm-offset-3 { + margin-left: 25%; } + .mui-col-sm-offset-4 { + margin-left: 33.33333%; } + .mui-col-sm-offset-5 { + margin-left: 41.66667%; } + .mui-col-sm-offset-6 { + margin-left: 50%; } + .mui-col-sm-offset-7 { + margin-left: 58.33333%; } + .mui-col-sm-offset-8 { + margin-left: 66.66667%; } + .mui-col-sm-offset-9 { + margin-left: 75%; } + .mui-col-sm-offset-10 { + margin-left: 83.33333%; } + .mui-col-sm-offset-11 { + margin-left: 91.66667%; } + .mui-col-sm-offset-12 { + margin-left: 100%; } } + +@media (min-width: 768px) { + .mui-col-md-1, .mui-col-md-2, .mui-col-md-3, .mui-col-md-4, .mui-col-md-5, .mui-col-md-6, .mui-col-md-7, .mui-col-md-8, .mui-col-md-9, .mui-col-md-10, .mui-col-md-11, .mui-col-md-12 { + float: left; } + .mui-col-md-1 { + width: 8.33333%; } + .mui-col-md-2 { + width: 16.66667%; } + .mui-col-md-3 { + width: 25%; } + .mui-col-md-4 { + width: 33.33333%; } + .mui-col-md-5 { + width: 41.66667%; } + .mui-col-md-6 { + width: 50%; } + .mui-col-md-7 { + width: 58.33333%; } + .mui-col-md-8 { + width: 66.66667%; } + .mui-col-md-9 { + width: 75%; } + .mui-col-md-10 { + width: 83.33333%; } + .mui-col-md-11 { + width: 91.66667%; } + .mui-col-md-12 { + width: 100%; } + .mui-col-md-offset-0 { + margin-left: 0%; } + .mui-col-md-offset-1 { + margin-left: 8.33333%; } + .mui-col-md-offset-2 { + margin-left: 16.66667%; } + .mui-col-md-offset-3 { + margin-left: 25%; } + .mui-col-md-offset-4 { + margin-left: 33.33333%; } + .mui-col-md-offset-5 { + margin-left: 41.66667%; } + .mui-col-md-offset-6 { + margin-left: 50%; } + .mui-col-md-offset-7 { + margin-left: 58.33333%; } + .mui-col-md-offset-8 { + margin-left: 66.66667%; } + .mui-col-md-offset-9 { + margin-left: 75%; } + .mui-col-md-offset-10 { + margin-left: 83.33333%; } + .mui-col-md-offset-11 { + margin-left: 91.66667%; } + .mui-col-md-offset-12 { + margin-left: 100%; } } + +@media (min-width: 992px) { + .mui-col-lg-1, .mui-col-lg-2, .mui-col-lg-3, .mui-col-lg-4, .mui-col-lg-5, .mui-col-lg-6, .mui-col-lg-7, .mui-col-lg-8, .mui-col-lg-9, .mui-col-lg-10, .mui-col-lg-11, .mui-col-lg-12 { + float: left; } + .mui-col-lg-1 { + width: 8.33333%; } + .mui-col-lg-2 { + width: 16.66667%; } + .mui-col-lg-3 { + width: 25%; } + .mui-col-lg-4 { + width: 33.33333%; } + .mui-col-lg-5 { + width: 41.66667%; } + .mui-col-lg-6 { + width: 50%; } + .mui-col-lg-7 { + width: 58.33333%; } + .mui-col-lg-8 { + width: 66.66667%; } + .mui-col-lg-9 { + width: 75%; } + .mui-col-lg-10 { + width: 83.33333%; } + .mui-col-lg-11 { + width: 91.66667%; } + .mui-col-lg-12 { + width: 100%; } + .mui-col-lg-offset-0 { + margin-left: 0%; } + .mui-col-lg-offset-1 { + margin-left: 8.33333%; } + .mui-col-lg-offset-2 { + margin-left: 16.66667%; } + .mui-col-lg-offset-3 { + margin-left: 25%; } + .mui-col-lg-offset-4 { + margin-left: 33.33333%; } + .mui-col-lg-offset-5 { + margin-left: 41.66667%; } + .mui-col-lg-offset-6 { + margin-left: 50%; } + .mui-col-lg-offset-7 { + margin-left: 58.33333%; } + .mui-col-lg-offset-8 { + margin-left: 66.66667%; } + .mui-col-lg-offset-9 { + margin-left: 75%; } + .mui-col-lg-offset-10 { + margin-left: 83.33333%; } + .mui-col-lg-offset-11 { + margin-left: 91.66667%; } + .mui-col-lg-offset-12 { + margin-left: 100%; } } + +@media (min-width: 1200px) { + .mui-col-xl-1, .mui-col-xl-2, .mui-col-xl-3, .mui-col-xl-4, .mui-col-xl-5, .mui-col-xl-6, .mui-col-xl-7, .mui-col-xl-8, .mui-col-xl-9, .mui-col-xl-10, .mui-col-xl-11, .mui-col-xl-12 { + float: left; } + .mui-col-xl-1 { + width: 8.33333%; } + .mui-col-xl-2 { + width: 16.66667%; } + .mui-col-xl-3 { + width: 25%; } + .mui-col-xl-4 { + width: 33.33333%; } + .mui-col-xl-5 { + width: 41.66667%; } + .mui-col-xl-6 { + width: 50%; } + .mui-col-xl-7 { + width: 58.33333%; } + .mui-col-xl-8 { + width: 66.66667%; } + .mui-col-xl-9 { + width: 75%; } + .mui-col-xl-10 { + width: 83.33333%; } + .mui-col-xl-11 { + width: 91.66667%; } + .mui-col-xl-12 { + width: 100%; } + .mui-col-xl-offset-0 { + margin-left: 0%; } + .mui-col-xl-offset-1 { + margin-left: 8.33333%; } + .mui-col-xl-offset-2 { + margin-left: 16.66667%; } + .mui-col-xl-offset-3 { + margin-left: 25%; } + .mui-col-xl-offset-4 { + margin-left: 33.33333%; } + .mui-col-xl-offset-5 { + margin-left: 41.66667%; } + .mui-col-xl-offset-6 { + margin-left: 50%; } + .mui-col-xl-offset-7 { + margin-left: 58.33333%; } + .mui-col-xl-offset-8 { + margin-left: 66.66667%; } + .mui-col-xl-offset-9 { + margin-left: 75%; } + .mui-col-xl-offset-10 { + margin-left: 83.33333%; } + .mui-col-xl-offset-11 { + margin-left: 91.66667%; } + .mui-col-xl-offset-12 { + margin-left: 100%; } } + +/** + * MUI Panel module + */ +.mui-panel { + padding: 15px; + margin-bottom: 20px; + border-radius: 0; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); } + .mui-panel:before, .mui-panel:after { + content: " "; + display: table; } + .mui-panel:after { + clear: both; } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-panel { + box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.12), -1px 0px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); } } + +/** + * MUI Select Component + */ +.mui-select { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; } + .mui-select:focus { + outline: 0; } + .mui-select:focus > select { + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; } + .mui-select > select { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + height: 32px; + width: 100%; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + outline: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0px; + box-shadow: none; + background-color: transparent; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg=="); + background-repeat: no-repeat; + background-position: right center; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + padding: 0 25px 0 0; } + .mui-select > select::-ms-expand { + display: none; } + .mui-select > select:focus { + outline: 0; + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; } + .mui-select > select:disabled { + color: rgba(0, 0, 0, 0.38); + cursor: not-allowed; + background-color: transparent; + opacity: 1; } + +.mui-select__menu { + position: absolute; + z-index: 1; + min-width: 100%; + overflow-y: auto; + padding: 8px 0; + background-color: #FFF; + font-size: 16px; } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-select__menu { + border-left: 1px solid rgba(0, 0, 0, 0.12); + border-top: 1px solid rgba(0, 0, 0, 0.12); } } + .mui-select__menu > div { + padding: 0 22px; + height: 42px; + line-height: 42px; + cursor: pointer; + white-space: nowrap; } + .mui-select__menu > div:hover { + background-color: #E0E0E0; } + .mui-select__menu > div.mui--is-selected { + background-color: #EEEEEE; } + +/** + * MUI Table Component + */ +th { + text-align: left; } + +.mui-table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; } + .mui-table > thead > tr > th, + .mui-table > thead > tr > td, + .mui-table > tbody > tr > th, + .mui-table > tbody > tr > td, + .mui-table > tfoot > tr > th, + .mui-table > tfoot > tr > td { + padding: 10px; + line-height: 1.429; } + .mui-table > thead > tr > th { + border-bottom: 2px solid rgba(0, 0, 0, 0.12); + font-weight: 700; } + .mui-table > tbody + tbody { + border-top: 2px solid rgba(0, 0, 0, 0.12); } + .mui-table.mui-table--bordered > tbody > tr > td { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } + +/** + * MUI Tabs module + */ +.mui-tabs__bar { + list-style: none; + padding-left: 0; + margin-bottom: 0; + background-color: transparent; + white-space: nowrap; + overflow-x: auto; } + .mui-tabs__bar > li { + display: inline-block; } + .mui-tabs__bar > li > a { + display: block; + white-space: nowrap; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + color: rgba(0, 0, 0, 0.87); + cursor: default; + height: 48px; + line-height: 48px; + padding-left: 24px; + padding-right: 24px; + user-select: none; } + .mui-tabs__bar > li > a:hover { + text-decoration: none; } + .mui-tabs__bar > li.mui--is-active { + border-bottom: 2px solid #2196F3; } + .mui-tabs__bar > li.mui--is-active > a { + color: #2196F3; } + .mui-tabs__bar.mui-tabs__bar--justified { + display: table; + width: 100%; + table-layout: fixed; } + .mui-tabs__bar.mui-tabs__bar--justified > li { + display: table-cell; } + .mui-tabs__bar.mui-tabs__bar--justified > li > a { + text-align: center; + padding-left: 0px; + padding-right: 0px; } + +.mui-tabs__pane { + display: none; } + .mui-tabs__pane.mui--is-active { + display: block; } + +[data-mui-toggle="tab"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; } + +/** + * MUI Textfield Component + */ +.mui-textfield { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; } + .mui-textfield > label { + position: absolute; + top: 0; + display: block; + width: 100%; + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + font-weight: 400; + line-height: 15px; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .mui-textfield > textarea { + padding-top: 5px; } + .mui-textfield > input, + .mui-textfield > textarea { + display: block; } + .mui-textfield > input:focus ~ label, + .mui-textfield > textarea:focus ~ label { + color: #2196F3; } + +.mui-textfield--float-label > label { + position: absolute; + transform: translate(0px, 15px); + font-size: 16px; + line-height: 32px; + color: rgba(0, 0, 0, 0.26); + text-overflow: clip; + cursor: text; + pointer-events: none; } + +.mui-textfield--float-label > input:focus ~ label, +.mui-textfield--float-label > textarea:focus ~ label { + transform: translate(0px, 0px); + font-size: 12px; + line-height: 15px; + text-overflow: ellipsis; } + +.mui-textfield--float-label > input:not(:focus).mui--is-not-empty ~ label, .mui-textfield--float-label > input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield--float-label > input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus).mui--is-not-empty ~ label, +.mui-textfield--float-label > textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + line-height: 15px; + transform: translate(0px, 0px); + text-overflow: ellipsis; } + +.mui-textfield--wrap-label { + display: table; + width: 100%; + padding-top: 0px; } + .mui-textfield--wrap-label:not(.mui-textfield--float-label) > label { + display: table-header-group; + position: static; + white-space: normal; + overflow-x: visible; } + +.mui-textfield > input, +.mui-textfield > textarea { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + background-color: transparent; + color: rgba(0, 0, 0, 0.87); + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + outline: none; + width: 100%; + font-size: 16px; + padding: 0; + box-shadow: none; + border-radius: 0px; + background-image: none; } + .mui-textfield > input:focus, + .mui-textfield > textarea:focus { + border-color: #2196F3; + border-width: 2px; } + .mui-textfield > input:disabled, .mui-textfield > input:read-only, + .mui-textfield > textarea:disabled, + .mui-textfield > textarea:read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; } + .mui-textfield > input::placeholder, + .mui-textfield > textarea::placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; } + +.mui-textfield > input { + height: 32px; } + .mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; } + +.mui-textfield > textarea { + min-height: 64px; } + .mui-textfield > textarea[rows]:not([rows="2"]):focus { + margin-bottom: -1px; } + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; } + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):not(:required), +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + border-color: #F44336; + border-width: 2px; } + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + height: 33px; + margin-bottom: -1px; } + +.mui-textfield > input:invalid:not(:focus):not(:required) ~ label, .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty ~ label, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):not(:required) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty ~ label, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: #F44336; } + +.mui-textfield:not(.mui-textfield--float-label) > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label { + color: #F44336; } + +/** + * MUI Helpers module + */ +@keyframes mui-node-inserted { + from { + opacity: 0.99; } + to { + opacity: 1; } } + +.mui--no-transition { + transition: none !important; } + +.mui--no-user-select { + user-select: none; } + +.mui-caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; } + +.mui--text-left { + text-align: left !important; } + +.mui--text-right { + text-align: right !important; } + +.mui--text-center { + text-align: center !important; } + +.mui--text-justify { + text-align: justify !important; } + +.mui--text-nowrap { + white-space: nowrap !important; } + +.mui--align-baseline { + vertical-align: baseline !important; } + +.mui--align-top { + vertical-align: top !important; } + +.mui--align-middle { + vertical-align: middle !important; } + +.mui--align-bottom { + vertical-align: bottom !important; } + +.mui--text-dark { + color: rgba(0, 0, 0, 0.87); } + +.mui--text-dark-secondary { + color: rgba(0, 0, 0, 0.54); } + +.mui--text-dark-hint { + color: rgba(0, 0, 0, 0.38); } + +.mui--text-light { + color: #FFF; } + +.mui--text-light-secondary { + color: rgba(255, 255, 255, 0.7); } + +.mui--text-light-hint { + color: rgba(255, 255, 255, 0.3); } + +.mui--text-accent { + color: rgba(186, 214, 73, 0.87); } + +.mui--text-accent-secondary { + color: rgba(186, 214, 73, 0.54); } + +.mui--text-accent-hint { + color: rgba(186, 214, 73, 0.38); } + +.mui--text-black { + color: #000; } + +.mui--text-white { + color: #FFF; } + +.mui--text-danger { + color: #F44336; } + +.mui-list--unstyled { + padding-left: 0; + list-style: none; } + +.mui-list--inline { + padding-left: 0; + list-style: none; + margin-left: -5px; } + .mui-list--inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; } + +.mui--z1, .mui-dropdown__menu, .mui-select__menu { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.mui--z2 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.mui--z3 { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.mui--z4 { + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.mui--z5 { + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.mui--clearfix:before, .mui--clearfix:after { + content: " "; + display: table; } + +.mui--clearfix:after { + clear: both; } + +.mui--pull-right { + float: right !important; } + +.mui--pull-left { + float: left !important; } + +.mui--hide { + display: none !important; } + +.mui--show { + display: block !important; } + +.mui--invisible { + visibility: hidden; } + +.mui--overflow-hidden { + overflow: hidden !important; } + +.mui--overflow-hidden-x { + overflow-x: hidden !important; } + +.mui--overflow-hidden-y { + overflow-y: hidden !important; } + +.mui--visible-xs-block, +.mui--visible-xs-inline, +.mui--visible-xs-inline-block, +.mui--visible-sm-block, +.mui--visible-sm-inline, +.mui--visible-sm-inline-block, +.mui--visible-md-block, +.mui--visible-md-inline, +.mui--visible-md-inline-block, +.mui--visible-lg-block, +.mui--visible-lg-inline, +.mui--visible-lg-inline-block, +.mui--visible-xl-block, +.mui--visible-xl-inline, +.mui--visible-xl-inline-block { + display: none !important; } + +@media (max-width: 543px) { + .mui-visible-xs { + display: block !important; } + table.mui-visible-xs { + display: table; } + tr.mui-visible-xs { + display: table-row !important; } + th.mui-visible-xs, + td.mui-visible-xs { + display: table-cell !important; } + .mui--visible-xs-block { + display: block !important; } + .mui--visible-xs-inline { + display: inline !important; } + .mui--visible-xs-inline-block { + display: inline-block !important; } } + +@media (min-width: 544px) and (max-width: 767px) { + .mui-visible-sm { + display: block !important; } + table.mui-visible-sm { + display: table; } + tr.mui-visible-sm { + display: table-row !important; } + th.mui-visible-sm, + td.mui-visible-sm { + display: table-cell !important; } + .mui--visible-sm-block { + display: block !important; } + .mui--visible-sm-inline { + display: inline !important; } + .mui--visible-sm-inline-block { + display: inline-block !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .mui-visible-md { + display: block !important; } + table.mui-visible-md { + display: table; } + tr.mui-visible-md { + display: table-row !important; } + th.mui-visible-md, + td.mui-visible-md { + display: table-cell !important; } + .mui--visible-md-block { + display: block !important; } + .mui--visible-md-inline { + display: inline !important; } + .mui--visible-md-inline-block { + display: inline-block !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .mui-visible-lg { + display: block !important; } + table.mui-visible-lg { + display: table; } + tr.mui-visible-lg { + display: table-row !important; } + th.mui-visible-lg, + td.mui-visible-lg { + display: table-cell !important; } + .mui--visible-lg-block { + display: block !important; } + .mui--visible-lg-inline { + display: inline !important; } + .mui--visible-lg-inline-block { + display: inline-block !important; } } + +@media (min-width: 1200px) { + .mui-visible-xl { + display: block !important; } + table.mui-visible-xl { + display: table; } + tr.mui-visible-xl { + display: table-row !important; } + th.mui-visible-xl, + td.mui-visible-xl { + display: table-cell !important; } + .mui--visible-xl-block { + display: block !important; } + .mui--visible-xl-inline { + display: inline !important; } + .mui--visible-xl-inline-block { + display: inline-block !important; } } + +@media (max-width: 543px) { + .mui--hidden-xs { + display: none !important; } } + +@media (min-width: 544px) and (max-width: 767px) { + .mui--hidden-sm { + display: none !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .mui--hidden-md { + display: none !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .mui--hidden-lg { + display: none !important; } } + +@media (min-width: 1200px) { + .mui--hidden-xl { + display: none !important; } } + +body.mui-body--scroll-lock { + overflow: hidden !important; } + +/** + * MUI Overlay module + */ +#mui-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 99999999; + background-color: rgba(0, 0, 0, 0.2); + overflow: auto; } + +/** + * MUI Ripple module + */ +.mui-ripple-effect { + position: absolute; + border-radius: 50%; + pointer-events: none; + opacity: 0; + animation: mui-ripple-animation 2s; } + +@keyframes mui-ripple-animation { + from { + transform: scale(1); + opacity: 0.4; } + to { + transform: scale(100); + opacity: 0; } } + +.mui-btn > .mui-ripple-effect { + background-color: #a6a6a6; } + +.mui-btn--primary > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--dark > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--danger > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--accent > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--flat > .mui-ripple-effect { + background-color: #a6a6a6; } + +/** + * MUI Typography module + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; } + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; } + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; } + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; } + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; } + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; } + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; } + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; } + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; } + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; } + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; } + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; } + diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/mui.custom.css b/sensortoy/sensortoy/platforms/android/assets/www/css/mui.custom.css new file mode 100644 index 0000000..17b163f --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/mui.custom.css @@ -0,0 +1,1912 @@ +/** + * MUI Colors module + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS and IE text size adjust after device orientation change, + * without disabling user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ } + +/** + * Remove default margin. + */ +body { + margin: 0; } + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; } + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ } + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; } + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; } + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background-color: transparent; } + +/** + * Improve readability of focused elements when they are also in an + * active/hover state. + */ +a:active, +a:hover { + outline: 0; } + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; } + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; } + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; } + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; } + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; } + +/** + * 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 { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; } + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; } + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; } + +/** + * Address differences between Firefox and other browsers. + */ +hr { + box-sizing: content-box; + height: 0; } + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; } + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; } + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ } + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; } + +/** + * 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 Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +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"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ } + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; } + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; } + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ } + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; } + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + box-sizing: content-box; + /* 2 */ } + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ } + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; } + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; } + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + +/** + * MUI Colors module + */ +/** + * MUI Reboot + */ +* { + box-sizing: border-box; } + +*:before, +*:after { + box-sizing: border-box; } + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; } + +body { + font-family: Arial, Verdana, Tahoma; + font-size: 14px; + font-weight: 400; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + background-color: #F5F5F5; } + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +a { + color: #2196F3; + text-decoration: none; } + a:hover, a:focus { + color: #1976D2; + text-decoration: underline; } + a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +p { + margin: 0 0 10px; } + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; } + +figure { + margin: 0; } + +img { + vertical-align: middle; } + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); } + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 10px; + font-size: 21px; + color: rgba(0, 0, 0, 0.87); + line-height: inherit; + border: 0; } + +input[type="search"] { + box-sizing: border-box; + -webkit-appearance: none; } + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; } + +strong { + font-weight: 700; } + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #2196F3; } + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; } + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; } + +/** + * MUI Appbar + */ +.mui--appbar-height { + height: 56px; } + +.mui--appbar-min-height, .mui-appbar { + min-height: 56px; } + +.mui--appbar-line-height { + line-height: 56px; } + +.mui--appbar-top { + top: 56px; } + +@media (orientation: landscape) and (max-height: 480px) { + .mui--appbar-height { + height: 48px; } + .mui--appbar-min-height, .mui-appbar { + min-height: 48px; } + .mui--appbar-line-height { + line-height: 48px; } + .mui--appbar-top { + top: 48px; } } + +@media (min-width: 480px) { + .mui--appbar-height { + height: 64px; } + .mui--appbar-min-height, .mui-appbar { + min-height: 64px; } + .mui--appbar-line-height { + line-height: 64px; } + .mui--appbar-top { + top: 64px; } } + +.mui-appbar { + background-color: #004c6d; + color: #FFF; } + +/** + * MUI Buttons + */ +.mui-btn { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; + transition: all 0.2s ease-in-out; + display: inline-block; + height: 36px; + padding: 0 26px; + margin-top: 6px; + margin-bottom: 6px; + border: none; + border-radius: 2px; + cursor: pointer; + touch-action: manipulation; + background-image: none; + text-align: center; + line-height: 36px; + vertical-align: middle; + white-space: nowrap; + user-select: none; + font-size: 14px; + letter-spacing: 0.03em; + position: relative; + overflow: hidden; } + .mui-btn:hover, .mui-btn:focus, .mui-btn:active { + color: rgba(0, 0, 0, 0.87); + background-color: white; } + .mui-btn[disabled]:hover, .mui-btn[disabled]:focus, .mui-btn[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; } + .mui-btn.mui-btn--flat { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; } + .mui-btn.mui-btn--flat:hover, .mui-btn.mui-btn--flat:focus, .mui-btn.mui-btn--flat:active { + color: rgba(0, 0, 0, 0.87); + background-color: #f2f2f2; } + .mui-btn.mui-btn--flat[disabled]:hover, .mui-btn.mui-btn--flat[disabled]:focus, .mui-btn.mui-btn--flat[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; } + .mui-btn:hover, .mui-btn:focus, .mui-btn:active { + outline: 0; + text-decoration: none; + color: rgba(0, 0, 0, 0.87); } + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } } + .mui-btn:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } } + .mui-btn:disabled, .mui-btn.mui--is-disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; } + +.mui-btn + .mui-btn { + margin-left: 8px; } + +.mui-btn--flat { + background-color: transparent; } + .mui-btn--flat:hover, .mui-btn--flat:focus, .mui-btn--flat:active { + box-shadow: none; + background-color: #f2f2f2; } + +.mui-btn--raised, .mui-btn--fab { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised, .mui-btn--fab { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); } } + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } } + +.mui-btn--fab { + position: relative; + padding: 0; + width: 55px; + height: 55px; + line-height: 55px; + border-radius: 50%; + z-index: 1; } + +.mui-btn--primary { + color: #FFF; + background-color: #2196F3; } + .mui-btn--primary:hover, .mui-btn--primary:focus, .mui-btn--primary:active { + color: #FFF; + background-color: #39a1f4; } + .mui-btn--primary[disabled]:hover, .mui-btn--primary[disabled]:focus, .mui-btn--primary[disabled]:active { + color: #FFF; + background-color: #2196F3; } + .mui-btn--primary.mui-btn--flat { + color: #2196F3; + background-color: transparent; } + .mui-btn--primary.mui-btn--flat:hover, .mui-btn--primary.mui-btn--flat:focus, .mui-btn--primary.mui-btn--flat:active { + color: #2196F3; + background-color: #f2f2f2; } + .mui-btn--primary.mui-btn--flat[disabled]:hover, .mui-btn--primary.mui-btn--flat[disabled]:focus, .mui-btn--primary.mui-btn--flat[disabled]:active { + color: #2196F3; + background-color: transparent; } + +.mui-btn--dark { + color: #FFF; + background-color: #424242; } + .mui-btn--dark:hover, .mui-btn--dark:focus, .mui-btn--dark:active { + color: #FFF; + background-color: #4f4f4f; } + .mui-btn--dark[disabled]:hover, .mui-btn--dark[disabled]:focus, .mui-btn--dark[disabled]:active { + color: #FFF; + background-color: #424242; } + .mui-btn--dark.mui-btn--flat { + color: #424242; + background-color: transparent; } + .mui-btn--dark.mui-btn--flat:hover, .mui-btn--dark.mui-btn--flat:focus, .mui-btn--dark.mui-btn--flat:active { + color: #424242; + background-color: #f2f2f2; } + .mui-btn--dark.mui-btn--flat[disabled]:hover, .mui-btn--dark.mui-btn--flat[disabled]:focus, .mui-btn--dark.mui-btn--flat[disabled]:active { + color: #424242; + background-color: transparent; } + +.mui-btn--danger { + color: #FFF; + background-color: #F44336; } + .mui-btn--danger:hover, .mui-btn--danger:focus, .mui-btn--danger:active { + color: #FFF; + background-color: #f55a4e; } + .mui-btn--danger[disabled]:hover, .mui-btn--danger[disabled]:focus, .mui-btn--danger[disabled]:active { + color: #FFF; + background-color: #F44336; } + .mui-btn--danger.mui-btn--flat { + color: #F44336; + background-color: transparent; } + .mui-btn--danger.mui-btn--flat:hover, .mui-btn--danger.mui-btn--flat:focus, .mui-btn--danger.mui-btn--flat:active { + color: #F44336; + background-color: #f2f2f2; } + .mui-btn--danger.mui-btn--flat[disabled]:hover, .mui-btn--danger.mui-btn--flat[disabled]:focus, .mui-btn--danger.mui-btn--flat[disabled]:active { + color: #F44336; + background-color: transparent; } + +.mui-btn--accent { + color: #004c6d; + background-color: #004c6d; } + .mui-btn--accent:hover, .mui-btn--accent:focus, .mui-btn--accent:active { + color: #004c6d; + background-color: #005e87; } + .mui-btn--accent[disabled]:hover, .mui-btn--accent[disabled]:focus, .mui-btn--accent[disabled]:active { + color: #004c6d; + background-color: #004c6d; } + .mui-btn--accent.mui-btn--flat { + color: #004c6d; + background-color: transparent; } + .mui-btn--accent.mui-btn--flat:hover, .mui-btn--accent.mui-btn--flat:focus, .mui-btn--accent.mui-btn--flat:active { + color: #004c6d; + background-color: #f2f2f2; } + .mui-btn--accent.mui-btn--flat[disabled]:hover, .mui-btn--accent.mui-btn--flat[disabled]:focus, .mui-btn--accent.mui-btn--flat[disabled]:active { + color: #004c6d; + background-color: transparent; } + +.mui-btn--small { + height: 30.6px; + line-height: 30.6px; + padding: 0 16px; + font-size: 13px; } + +.mui-btn--large { + height: 54px; + line-height: 54px; + padding: 0 26px; + font-size: 14px; } + +.mui-btn--fab.mui-btn--small { + width: 44px; + height: 44px; + line-height: 44px; } + +.mui-btn--fab.mui-btn--large { + width: 75px; + height: 75px; + line-height: 75px; } + +/** + * MUI Checkboxe and Radio Components + */ +.mui-radio, +.mui-checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; } + .mui-radio > label, + .mui-checkbox > label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } + +.mui-radio > label > input[type="radio"], +.mui-radio--inline > label > input[type="radio"], +.mui-checkbox > label > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px; } + +.mui-radio + .mui-radio, +.mui-checkbox + .mui-checkbox { + margin-top: -5px; } + +.mui-radio--inline, +.mui-checkbox--inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; } + .mui-radio--inline > input[type="radio"], + .mui-radio--inline > input[type="checkbox"], + .mui-radio--inline > label > input[type="radio"], + .mui-radio--inline > label > input[type="checkbox"], + .mui-checkbox--inline > input[type="radio"], + .mui-checkbox--inline > input[type="checkbox"], + .mui-checkbox--inline > label > input[type="radio"], + .mui-checkbox--inline > label > input[type="checkbox"] { + margin: 4px 0 0; + line-height: normal; } + +.mui-radio--inline + .mui-radio--inline, +.mui-checkbox--inline + .mui-checkbox--inline { + margin-top: 0; + margin-left: 10px; } + +/** + * MUI Container module + */ +.mui-container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .mui-container:before, .mui-container:after { + content: " "; + display: table; } + .mui-container:after { + clear: both; } + @media (min-width: 544px) { + .mui-container { + max-width: 570px; } } + @media (min-width: 768px) { + .mui-container { + max-width: 740px; } } + @media (min-width: 992px) { + .mui-container { + max-width: 960px; } } + @media (min-width: 1200px) { + .mui-container { + max-width: 1170px; } } + +.mui-container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; } + .mui-container-fluid:before, .mui-container-fluid:after { + content: " "; + display: table; } + .mui-container-fluid:after { + clear: both; } + +/** + * MUI Divider Component and CSS Helpers + */ +.mui-divider { + display: block; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); } + +.mui--divider-top { + border-top: 1px solid rgba(0, 0, 0, 0.12); } + +.mui--divider-bottom { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } + +.mui--divider-left { + border-left: 1px solid rgba(0, 0, 0, 0.12); } + +.mui--divider-right { + border-right: 1px solid rgba(0, 0, 0, 0.12); } + +/** + * MUI Dropdown module + */ +.mui-dropdown { + display: inline-block; + position: relative; } + +[data-mui-toggle="dropdown"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + outline: 0; } + +.mui-dropdown__menu { + position: absolute; + top: 100%; + left: 0; + display: none; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border-radius: 2px; + z-index: 1; + background-clip: padding-box; } + .mui-dropdown__menu.mui--is-open { + display: block; } + .mui-dropdown__menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + white-space: nowrap; } + .mui-dropdown__menu > li > a:hover, .mui-dropdown__menu > li > a:focus { + text-decoration: none; + color: rgba(0, 0, 0, 0.87); + background-color: #EEEEEE; } + .mui-dropdown__menu > .mui--is-disabled > a, .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + color: #EEEEEE; } + .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; } + +.mui-dropdown__menu--right { + left: auto; + right: 0; } + +/** + * MUI Form Component + */ +@media (min-width: 544px) { + .mui-form--inline > .mui-textfield { + display: inline-block; + margin-bottom: 0; } + .mui-form--inline > .mui-radio, + .mui-form--inline > .mui-checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .mui-form--inline > .mui-radio > label, + .mui-form--inline > .mui-checkbox > label { + padding-left: 0; } + .mui-form--inline > .mui-radio > label > input[type="radio"], + .mui-form--inline > .mui-checkbox > label > input[type="checkbox"] { + position: relative; + margin-left: 0; } + .mui-form--inline > .mui-select { + display: inline-block; } + .mui-form--inline > .mui-btn { + margin-bottom: 0; + margin-top: 0; + vertical-align: bottom; } } + +/** + * MUI Grid module + */ +.mui-row { + margin-left: -15px; + margin-right: -15px; } + .mui-row:before, .mui-row:after { + content: " "; + display: table; } + .mui-row:after { + clear: both; } + +.mui-col-xs-1, .mui-col-sm-1, .mui-col-md-1, .mui-col-lg-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-md-2, .mui-col-lg-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-md-3, .mui-col-lg-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-md-4, .mui-col-lg-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-md-5, .mui-col-lg-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-md-6, .mui-col-lg-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-md-7, .mui-col-lg-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-md-8, .mui-col-lg-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-md-9, .mui-col-lg-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-md-10, .mui-col-lg-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-md-11, .mui-col-lg-11, .mui-col-xs-12, .mui-col-sm-12, .mui-col-md-12, .mui-col-lg-12 { + min-height: 1px; + padding-left: 15px; + padding-right: 15px; } + +.mui-col-xs-1, .mui-col-xs-2, .mui-col-xs-3, .mui-col-xs-4, .mui-col-xs-5, .mui-col-xs-6, .mui-col-xs-7, .mui-col-xs-8, .mui-col-xs-9, .mui-col-xs-10, .mui-col-xs-11, .mui-col-xs-12 { + float: left; } + +.mui-col-xs-1 { + width: 8.33333%; } + +.mui-col-xs-2 { + width: 16.66667%; } + +.mui-col-xs-3 { + width: 25%; } + +.mui-col-xs-4 { + width: 33.33333%; } + +.mui-col-xs-5 { + width: 41.66667%; } + +.mui-col-xs-6 { + width: 50%; } + +.mui-col-xs-7 { + width: 58.33333%; } + +.mui-col-xs-8 { + width: 66.66667%; } + +.mui-col-xs-9 { + width: 75%; } + +.mui-col-xs-10 { + width: 83.33333%; } + +.mui-col-xs-11 { + width: 91.66667%; } + +.mui-col-xs-12 { + width: 100%; } + +.mui-col-xs-offset-0 { + margin-left: 0%; } + +.mui-col-xs-offset-1 { + margin-left: 8.33333%; } + +.mui-col-xs-offset-2 { + margin-left: 16.66667%; } + +.mui-col-xs-offset-3 { + margin-left: 25%; } + +.mui-col-xs-offset-4 { + margin-left: 33.33333%; } + +.mui-col-xs-offset-5 { + margin-left: 41.66667%; } + +.mui-col-xs-offset-6 { + margin-left: 50%; } + +.mui-col-xs-offset-7 { + margin-left: 58.33333%; } + +.mui-col-xs-offset-8 { + margin-left: 66.66667%; } + +.mui-col-xs-offset-9 { + margin-left: 75%; } + +.mui-col-xs-offset-10 { + margin-left: 83.33333%; } + +.mui-col-xs-offset-11 { + margin-left: 91.66667%; } + +.mui-col-xs-offset-12 { + margin-left: 100%; } + +@media (min-width: 544px) { + .mui-col-sm-1, .mui-col-sm-2, .mui-col-sm-3, .mui-col-sm-4, .mui-col-sm-5, .mui-col-sm-6, .mui-col-sm-7, .mui-col-sm-8, .mui-col-sm-9, .mui-col-sm-10, .mui-col-sm-11, .mui-col-sm-12 { + float: left; } + .mui-col-sm-1 { + width: 8.33333%; } + .mui-col-sm-2 { + width: 16.66667%; } + .mui-col-sm-3 { + width: 25%; } + .mui-col-sm-4 { + width: 33.33333%; } + .mui-col-sm-5 { + width: 41.66667%; } + .mui-col-sm-6 { + width: 50%; } + .mui-col-sm-7 { + width: 58.33333%; } + .mui-col-sm-8 { + width: 66.66667%; } + .mui-col-sm-9 { + width: 75%; } + .mui-col-sm-10 { + width: 83.33333%; } + .mui-col-sm-11 { + width: 91.66667%; } + .mui-col-sm-12 { + width: 100%; } + .mui-col-sm-offset-0 { + margin-left: 0%; } + .mui-col-sm-offset-1 { + margin-left: 8.33333%; } + .mui-col-sm-offset-2 { + margin-left: 16.66667%; } + .mui-col-sm-offset-3 { + margin-left: 25%; } + .mui-col-sm-offset-4 { + margin-left: 33.33333%; } + .mui-col-sm-offset-5 { + margin-left: 41.66667%; } + .mui-col-sm-offset-6 { + margin-left: 50%; } + .mui-col-sm-offset-7 { + margin-left: 58.33333%; } + .mui-col-sm-offset-8 { + margin-left: 66.66667%; } + .mui-col-sm-offset-9 { + margin-left: 75%; } + .mui-col-sm-offset-10 { + margin-left: 83.33333%; } + .mui-col-sm-offset-11 { + margin-left: 91.66667%; } + .mui-col-sm-offset-12 { + margin-left: 100%; } } + +@media (min-width: 768px) { + .mui-col-md-1, .mui-col-md-2, .mui-col-md-3, .mui-col-md-4, .mui-col-md-5, .mui-col-md-6, .mui-col-md-7, .mui-col-md-8, .mui-col-md-9, .mui-col-md-10, .mui-col-md-11, .mui-col-md-12 { + float: left; } + .mui-col-md-1 { + width: 8.33333%; } + .mui-col-md-2 { + width: 16.66667%; } + .mui-col-md-3 { + width: 25%; } + .mui-col-md-4 { + width: 33.33333%; } + .mui-col-md-5 { + width: 41.66667%; } + .mui-col-md-6 { + width: 50%; } + .mui-col-md-7 { + width: 58.33333%; } + .mui-col-md-8 { + width: 66.66667%; } + .mui-col-md-9 { + width: 75%; } + .mui-col-md-10 { + width: 83.33333%; } + .mui-col-md-11 { + width: 91.66667%; } + .mui-col-md-12 { + width: 100%; } + .mui-col-md-offset-0 { + margin-left: 0%; } + .mui-col-md-offset-1 { + margin-left: 8.33333%; } + .mui-col-md-offset-2 { + margin-left: 16.66667%; } + .mui-col-md-offset-3 { + margin-left: 25%; } + .mui-col-md-offset-4 { + margin-left: 33.33333%; } + .mui-col-md-offset-5 { + margin-left: 41.66667%; } + .mui-col-md-offset-6 { + margin-left: 50%; } + .mui-col-md-offset-7 { + margin-left: 58.33333%; } + .mui-col-md-offset-8 { + margin-left: 66.66667%; } + .mui-col-md-offset-9 { + margin-left: 75%; } + .mui-col-md-offset-10 { + margin-left: 83.33333%; } + .mui-col-md-offset-11 { + margin-left: 91.66667%; } + .mui-col-md-offset-12 { + margin-left: 100%; } } + +@media (min-width: 992px) { + .mui-col-lg-1, .mui-col-lg-2, .mui-col-lg-3, .mui-col-lg-4, .mui-col-lg-5, .mui-col-lg-6, .mui-col-lg-7, .mui-col-lg-8, .mui-col-lg-9, .mui-col-lg-10, .mui-col-lg-11, .mui-col-lg-12 { + float: left; } + .mui-col-lg-1 { + width: 8.33333%; } + .mui-col-lg-2 { + width: 16.66667%; } + .mui-col-lg-3 { + width: 25%; } + .mui-col-lg-4 { + width: 33.33333%; } + .mui-col-lg-5 { + width: 41.66667%; } + .mui-col-lg-6 { + width: 50%; } + .mui-col-lg-7 { + width: 58.33333%; } + .mui-col-lg-8 { + width: 66.66667%; } + .mui-col-lg-9 { + width: 75%; } + .mui-col-lg-10 { + width: 83.33333%; } + .mui-col-lg-11 { + width: 91.66667%; } + .mui-col-lg-12 { + width: 100%; } + .mui-col-lg-offset-0 { + margin-left: 0%; } + .mui-col-lg-offset-1 { + margin-left: 8.33333%; } + .mui-col-lg-offset-2 { + margin-left: 16.66667%; } + .mui-col-lg-offset-3 { + margin-left: 25%; } + .mui-col-lg-offset-4 { + margin-left: 33.33333%; } + .mui-col-lg-offset-5 { + margin-left: 41.66667%; } + .mui-col-lg-offset-6 { + margin-left: 50%; } + .mui-col-lg-offset-7 { + margin-left: 58.33333%; } + .mui-col-lg-offset-8 { + margin-left: 66.66667%; } + .mui-col-lg-offset-9 { + margin-left: 75%; } + .mui-col-lg-offset-10 { + margin-left: 83.33333%; } + .mui-col-lg-offset-11 { + margin-left: 91.66667%; } + .mui-col-lg-offset-12 { + margin-left: 100%; } } + +@media (min-width: 1200px) { + .mui-col-xl-1, .mui-col-xl-2, .mui-col-xl-3, .mui-col-xl-4, .mui-col-xl-5, .mui-col-xl-6, .mui-col-xl-7, .mui-col-xl-8, .mui-col-xl-9, .mui-col-xl-10, .mui-col-xl-11, .mui-col-xl-12 { + float: left; } + .mui-col-xl-1 { + width: 8.33333%; } + .mui-col-xl-2 { + width: 16.66667%; } + .mui-col-xl-3 { + width: 25%; } + .mui-col-xl-4 { + width: 33.33333%; } + .mui-col-xl-5 { + width: 41.66667%; } + .mui-col-xl-6 { + width: 50%; } + .mui-col-xl-7 { + width: 58.33333%; } + .mui-col-xl-8 { + width: 66.66667%; } + .mui-col-xl-9 { + width: 75%; } + .mui-col-xl-10 { + width: 83.33333%; } + .mui-col-xl-11 { + width: 91.66667%; } + .mui-col-xl-12 { + width: 100%; } + .mui-col-xl-offset-0 { + margin-left: 0%; } + .mui-col-xl-offset-1 { + margin-left: 8.33333%; } + .mui-col-xl-offset-2 { + margin-left: 16.66667%; } + .mui-col-xl-offset-3 { + margin-left: 25%; } + .mui-col-xl-offset-4 { + margin-left: 33.33333%; } + .mui-col-xl-offset-5 { + margin-left: 41.66667%; } + .mui-col-xl-offset-6 { + margin-left: 50%; } + .mui-col-xl-offset-7 { + margin-left: 58.33333%; } + .mui-col-xl-offset-8 { + margin-left: 66.66667%; } + .mui-col-xl-offset-9 { + margin-left: 75%; } + .mui-col-xl-offset-10 { + margin-left: 83.33333%; } + .mui-col-xl-offset-11 { + margin-left: 91.66667%; } + .mui-col-xl-offset-12 { + margin-left: 100%; } } + +/** + * MUI Panel module + */ +.mui-panel { + padding: 15px; + margin-bottom: 20px; + border-radius: 0; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); } + .mui-panel:before, .mui-panel:after { + content: " "; + display: table; } + .mui-panel:after { + clear: both; } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-panel { + box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.12), -1px 0px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); } } + +/** + * MUI Select Component + */ +.mui-select { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; } + .mui-select:focus { + outline: 0; } + .mui-select:focus > select { + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; } + .mui-select > select { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + height: 32px; + width: 100%; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + outline: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0px; + box-shadow: none; + background-color: transparent; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg=="); + background-repeat: no-repeat; + background-position: right center; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + padding: 0 25px 0 0; } + .mui-select > select::-ms-expand { + display: none; } + .mui-select > select:focus { + outline: 0; + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; } + .mui-select > select:disabled { + color: rgba(0, 0, 0, 0.38); + cursor: not-allowed; + background-color: transparent; + opacity: 1; } + +.mui-select__menu { + position: absolute; + z-index: 2; + min-width: 100%; + overflow-y: auto; + padding: 8px 0; + background-color: #FFF; + font-size: 16px; } + @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-select__menu { + border-left: 1px solid rgba(0, 0, 0, 0.12); + border-top: 1px solid rgba(0, 0, 0, 0.12); } } + .mui-select__menu > div { + padding: 0 22px; + height: 42px; + line-height: 42px; + cursor: pointer; + white-space: nowrap; } + .mui-select__menu > div:hover { + background-color: #E0E0E0; } + .mui-select__menu > div.mui--is-selected { + background-color: #EEEEEE; } + +/** + * MUI Table Component + */ +th { + text-align: left; } + +.mui-table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; } + .mui-table > thead > tr > th, + .mui-table > thead > tr > td, + .mui-table > tbody > tr > th, + .mui-table > tbody > tr > td, + .mui-table > tfoot > tr > th, + .mui-table > tfoot > tr > td { + padding: 10px; + line-height: 1.429; } + .mui-table > thead > tr > th { + border-bottom: 2px solid rgba(0, 0, 0, 0.12); + font-weight: 700; } + .mui-table > tbody + tbody { + border-top: 2px solid rgba(0, 0, 0, 0.12); } + .mui-table.mui-table--bordered > tbody > tr > td { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); } + +/** + * MUI Tabs module + */ +.mui-tabs__bar { + list-style: none; + padding-left: 0; + margin-bottom: 0; + background-color: transparent; + white-space: nowrap; + overflow-x: auto; } + .mui-tabs__bar > li { + display: inline-block; } + .mui-tabs__bar > li > a { + display: block; + white-space: nowrap; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + color: rgba(255, 255, 255, 0.87); + cursor: default; + height: 48px; + line-height: 48px; + padding-left: 24px; + padding-right: 24px; + user-select: none; } + .mui-tabs__bar > li > a:hover { + text-decoration: none; } + .mui-tabs__bar > li.mui--is-active { + border-bottom: 2px solid #2196F3; } + .mui-tabs__bar > li.mui--is-active > a { + color: #2196F3; } + .mui-tabs__bar.mui-tabs__bar--justified { + display: table; + width: 100%; + table-layout: fixed; } + .mui-tabs__bar.mui-tabs__bar--justified > li { + display: table-cell; } + .mui-tabs__bar.mui-tabs__bar--justified > li > a { + text-align: center; + padding-left: 0px; + padding-right: 0px; } + +.mui-tabs__pane { + display: none; } + .mui-tabs__pane.mui--is-active { + display: block; } + +[data-mui-toggle="tab"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; } + +/** + * MUI Textfield Component + */ +.mui-textfield { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; } + .mui-textfield > label { + position: absolute; + top: 0; + display: block; + width: 100%; + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + font-weight: 400; + line-height: 15px; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .mui-textfield > textarea { + padding-top: 5px; } + .mui-textfield > input, + .mui-textfield > textarea { + display: block; } + .mui-textfield > input:focus ~ label, + .mui-textfield > textarea:focus ~ label { + color: #2196F3; } + +.mui-textfield--float-label > label { + position: absolute; + transform: translate(0px, 15px); + font-size: 16px; + line-height: 32px; + color: rgba(0, 0, 0, 0.26); + text-overflow: clip; + cursor: text; + pointer-events: none; } + +.mui-textfield--float-label > input:focus ~ label, +.mui-textfield--float-label > textarea:focus ~ label { + transform: translate(0px, 0px); + font-size: 12px; + line-height: 15px; + text-overflow: ellipsis; } + +.mui-textfield--float-label > input:not(:focus).mui--is-not-empty ~ label, .mui-textfield--float-label > input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield--float-label > input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus).mui--is-not-empty ~ label, +.mui-textfield--float-label > textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + line-height: 15px; + transform: translate(0px, 0px); + text-overflow: ellipsis; } + +.mui-textfield--wrap-label { + display: table; + width: 100%; + padding-top: 0px; } + .mui-textfield--wrap-label:not(.mui-textfield--float-label) > label { + display: table-header-group; + position: static; + white-space: normal; + overflow-x: visible; } + +.mui-textfield > input, +.mui-textfield > textarea { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + background-color: transparent; + color: rgba(0, 0, 0, 0.87); + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + outline: none; + width: 100%; + font-size: 16px; + padding: 0; + box-shadow: none; + border-radius: 0px; + background-image: none; } + .mui-textfield > input:focus, + .mui-textfield > textarea:focus { + border-color: #2196F3; + border-width: 2px; } + .mui-textfield > input:disabled, .mui-textfield > input:read-only, + .mui-textfield > textarea:disabled, + .mui-textfield > textarea:read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; } + .mui-textfield > input::placeholder, + .mui-textfield > textarea::placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; } + +.mui-textfield > input { + height: 32px; } + .mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; } + +.mui-textfield > textarea { + min-height: 64px; } + .mui-textfield > textarea[rows]:not([rows="2"]):focus { + margin-bottom: -1px; } + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; } + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):not(:required), +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + border-color: #F44336; + border-width: 2px; } + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + height: 33px; + margin-bottom: -1px; } + +.mui-textfield > input:invalid:not(:focus):not(:required) ~ label, .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty ~ label, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):not(:required) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty ~ label, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: #F44336; } + +.mui-textfield:not(.mui-textfield--float-label) > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label { + color: #F44336; } + +/** + * MUI Helpers module + */ +@keyframes mui-node-inserted { + from { + opacity: 0.99; } + to { + opacity: 1; } } + +.mui--no-transition { + transition: none !important; } + +.mui--no-user-select { + user-select: none; } + +.mui-caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; } + +.mui--text-left { + text-align: left !important; } + +.mui--text-right { + text-align: right !important; } + +.mui--text-center { + text-align: center !important; } + +.mui--text-justify { + text-align: justify !important; } + +.mui--text-nowrap { + white-space: nowrap !important; } + +.mui--align-baseline { + vertical-align: baseline !important; } + +.mui--align-top { + vertical-align: top !important; } + +.mui--align-middle { + vertical-align: middle !important; } + +.mui--align-bottom { + vertical-align: bottom !important; } + +.mui--text-dark { + color: rgba(0, 0, 0, 0.87); } + +.mui--text-dark-secondary { + color: rgba(0, 0, 0, 0.54); } + +.mui--text-dark-hint { + color: rgba(0, 0, 0, 0.38); } + +.mui--text-light { + color: #FFF; } + +.mui--text-light-secondary { + color: rgba(255, 255, 255, 0.7); } + +.mui--text-light-hint { + color: rgba(255, 255, 255, 0.3); } + +.mui--text-accent { + color: rgba(0, 76, 109, 0.87); } + +.mui--text-accent-secondary { + color: rgba(0, 76, 109, 0.54); } + +.mui--text-accent-hint { + color: rgba(0, 76, 109, 0.38); } + +.mui--text-black { + color: #000; } + +.mui--text-white { + color: #FFF; } + +.mui--text-danger { + color: #F44336; } + +.mui-list--unstyled { + padding-left: 0; + list-style: none; } + +.mui-list--inline { + padding-left: 0; + list-style: none; + margin-left: -5px; } + .mui-list--inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; } + +.mui--z1, .mui-dropdown__menu, .mui-select__menu { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); } + +.mui--z2 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); } + +.mui--z3 { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } + +.mui--z4 { + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); } + +.mui--z5 { + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); } + +.mui--clearfix:before, .mui--clearfix:after { + content: " "; + display: table; } + +.mui--clearfix:after { + clear: both; } + +.mui--pull-right { + float: right !important; } + +.mui--pull-left { + float: left !important; } + +.mui--hide { + display: none !important; } + +.mui--show { + display: block !important; } + +.mui--invisible { + visibility: hidden; } + +.mui--overflow-hidden { + overflow: hidden !important; } + +.mui--overflow-hidden-x { + overflow-x: hidden !important; } + +.mui--overflow-hidden-y { + overflow-y: hidden !important; } + +.mui--visible-xs-block, +.mui--visible-xs-inline, +.mui--visible-xs-inline-block, +.mui--visible-sm-block, +.mui--visible-sm-inline, +.mui--visible-sm-inline-block, +.mui--visible-md-block, +.mui--visible-md-inline, +.mui--visible-md-inline-block, +.mui--visible-lg-block, +.mui--visible-lg-inline, +.mui--visible-lg-inline-block, +.mui--visible-xl-block, +.mui--visible-xl-inline, +.mui--visible-xl-inline-block { + display: none !important; } + +@media (max-width: 543px) { + .mui-visible-xs { + display: block !important; } + table.mui-visible-xs { + display: table; } + tr.mui-visible-xs { + display: table-row !important; } + th.mui-visible-xs, + td.mui-visible-xs { + display: table-cell !important; } + .mui--visible-xs-block { + display: block !important; } + .mui--visible-xs-inline { + display: inline !important; } + .mui--visible-xs-inline-block { + display: inline-block !important; } } + +@media (min-width: 544px) and (max-width: 767px) { + .mui-visible-sm { + display: block !important; } + table.mui-visible-sm { + display: table; } + tr.mui-visible-sm { + display: table-row !important; } + th.mui-visible-sm, + td.mui-visible-sm { + display: table-cell !important; } + .mui--visible-sm-block { + display: block !important; } + .mui--visible-sm-inline { + display: inline !important; } + .mui--visible-sm-inline-block { + display: inline-block !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .mui-visible-md { + display: block !important; } + table.mui-visible-md { + display: table; } + tr.mui-visible-md { + display: table-row !important; } + th.mui-visible-md, + td.mui-visible-md { + display: table-cell !important; } + .mui--visible-md-block { + display: block !important; } + .mui--visible-md-inline { + display: inline !important; } + .mui--visible-md-inline-block { + display: inline-block !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .mui-visible-lg { + display: block !important; } + table.mui-visible-lg { + display: table; } + tr.mui-visible-lg { + display: table-row !important; } + th.mui-visible-lg, + td.mui-visible-lg { + display: table-cell !important; } + .mui--visible-lg-block { + display: block !important; } + .mui--visible-lg-inline { + display: inline !important; } + .mui--visible-lg-inline-block { + display: inline-block !important; } } + +@media (min-width: 1200px) { + .mui-visible-xl { + display: block !important; } + table.mui-visible-xl { + display: table; } + tr.mui-visible-xl { + display: table-row !important; } + th.mui-visible-xl, + td.mui-visible-xl { + display: table-cell !important; } + .mui--visible-xl-block { + display: block !important; } + .mui--visible-xl-inline { + display: inline !important; } + .mui--visible-xl-inline-block { + display: inline-block !important; } } + +@media (max-width: 543px) { + .mui--hidden-xs { + display: none !important; } } + +@media (min-width: 544px) and (max-width: 767px) { + .mui--hidden-sm { + display: none !important; } } + +@media (min-width: 768px) and (max-width: 991px) { + .mui--hidden-md { + display: none !important; } } + +@media (min-width: 992px) and (max-width: 1199px) { + .mui--hidden-lg { + display: none !important; } } + +@media (min-width: 1200px) { + .mui--hidden-xl { + display: none !important; } } + +body.mui-body--scroll-lock { + overflow: hidden !important; } + +/** + * MUI Overlay module + */ +#mui-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 99999999; + background-color: rgba(0, 0, 0, 0.2); + overflow: auto; } + +/** + * MUI Ripple module + */ +.mui-ripple-effect { + position: absolute; + border-radius: 50%; + pointer-events: none; + opacity: 0; + animation: mui-ripple-animation 2s; } + +@keyframes mui-ripple-animation { + from { + transform: scale(1); + opacity: 0.4; } + to { + transform: scale(100); + opacity: 0; } } + +.mui-btn > .mui-ripple-effect { + background-color: #a6a6a6; } + +.mui-btn--primary > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--dark > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--danger > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--accent > .mui-ripple-effect { + background-color: #FFF; } + +.mui-btn--flat > .mui-ripple-effect { + background-color: #a6a6a6; } + +/** + * MUI Typography module + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; } + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; } + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; } + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; } + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; } + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; } + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; } + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; } + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; } + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; } + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; } + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; } + diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/mui.min.css b/sensortoy/sensortoy/platforms/android/assets/www/css/mui.min.css new file mode 100644 index 0000000..5ea8f9e --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/mui.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:1;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;-webkit-transform:translate(0,15px);transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{-webkit-transform:translate(0,0);transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;-webkit-transform:translate(0,0);transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{-webkit-animation-duration:.1ms;animation-duration:.1ms;-webkit-animation-name:mui-node-inserted;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@-webkit-keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;-webkit-animation:mui-ripple-animation 2s;animation:mui-ripple-animation 2s}@-webkit-keyframes mui-ripple-animation{from{-webkit-transform:scale(1);transform:scale(1);opacity:.4}to{-webkit-transform:scale(100);transform:scale(100);opacity:0}}@keyframes mui-ripple-animation{from{-webkit-transform:scale(1);transform:scale(1);opacity:.4}to{-webkit-transform:scale(100);transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase} \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/progress.css b/sensortoy/sensortoy/platforms/android/assets/www/css/progress.css new file mode 100644 index 0000000..c2b6981 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/progress.css @@ -0,0 +1,94 @@ +/* Progress Bar */ +.progress { + position: relative; + height: 4px; + display: block; + width: 100%; + background-color: #acece6; + border-radius: 2px; + background-clip: padding-box; + /* margin: 0.5rem 0 1rem 0; */ + overflow: hidden; } + +.progress .determinate { + position: absolute; + background-color: inherit; + top: 0; + bottom: 0; + background-color: #26a69a; + transition: width .3s linear; } + +.progress .indeterminate { + background-color: #26a69a; } + +.progress .indeterminate:before { + content: ''; + position: absolute; + background-color: inherit; + top: 0; + left: 0; + bottom: 0; + will-change: left, right; + -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; + animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; } + +.progress .indeterminate:after { + content: ''; + position: absolute; + background-color: inherit; + top: 0; + left: 0; + bottom: 0; + will-change: left, right; + -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; + animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; + -webkit-animation-delay: 1.15s; + animation-delay: 1.15s; } + +@-webkit-keyframes indeterminate { + 0% { + left: -35%; + right: 100%; } + 60% { + left: 100%; + right: -90%; } + 100% { + left: 100%; + right: -90%; } + } + +@keyframes indeterminate { + 0% { + left: -35%; + right: 100%; } + 60% { + left: 100%; + right: -90%; } + 100% { + left: 100%; + right: -90%; } + } + +@-webkit-keyframes indeterminate-short { + 0% { + left: -200%; + right: 100%; } + 60% { + left: 107%; + right: -8%; } + 100% { + left: 107%; + right: -8%; } + } + +@keyframes indeterminate-short { + 0% { + left: -200%; + right: 100%; } + 60% { + left: 107%; + right: -8%; } + 100% { + left: 107%; + right: -8%; } + } diff --git a/sensortoy/sensortoy/platforms/android/assets/www/css/ripple.css b/sensortoy/sensortoy/platforms/android/assets/www/css/ripple.css new file mode 100644 index 0000000..b470db6 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/css/ripple.css @@ -0,0 +1,195 @@ + +@-webkit-keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +@-webkit-keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +@-moz-keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +@-ms-keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +@-moz-keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +@-webkit-keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +@-o-keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +@keyframes uil-ripple { + 0% { + width: 0; + height: 0; + opacity: 0; + margin: 0 0 0 0; + } + 33% { + width: 44%; + height: 44%; + margin: -22% 0 0 -22%; + opacity: 1; + } + 100% { + width: 88%; + height: 88%; + margin: -44% 0 0 -44%; + opacity: 0; + } +} +.uil-ripple-css { + background: none; + position: relative; + width: 200px; + height: 200px; +} +.uil-ripple-css div { + position: absolute; + top: 50%; + left: 50%; + margin: 0; + width: 0; + height: 0; + opacity: 0; + border-radius: 50%; + border-width: 12px; + border-style: solid; + -ms-animation: uil-ripple 2s ease-out infinite; + -moz-animation: uil-ripple 2s ease-out infinite; + -webkit-animation: uil-ripple 2s ease-out infinite; + -o-animation: uil-ripple 2s ease-out infinite; + animation: uil-ripple 2s ease-out infinite; +} +.uil-ripple-css div:nth-of-type(1) { + border-color: #afafb7; +} +.uil-ripple-css div:nth-of-type(2) { + border-color: #5cffd6; + -ms-animation-delay: 1s; + -moz-animation-delay: 1s; + -webkit-animation-delay: 1s; + -o-animation-delay: 1s; + animation-delay: 1s; +} diff --git a/sensortoy/sensortoy/platforms/android/assets/www/fonts/Material_Icons-normal-400.woff b/sensortoy/sensortoy/platforms/android/assets/www/fonts/Material_Icons-normal-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..c6b66107808ce4dbda4f276031a5f3715cc745e1 GIT binary patch literal 58804 zcmYg$18k?y_jT=VZQHint+uvpw_6)q+qP}nwr$(i=il!yd6RdNGn0FA=FU7%Mwz*; za$;gYz(7Cgs1XR^rvU!y{jvYY{Kx+PNnAu!>_?#f!;$=e6bubWNnBn|>4)?BvFU!m zzKeO2DXygQ`-iIp0;1#s0^&&b7z@W++Nj|S|2KmryqGjROT(f#?cq5cB^00e4g?QZ(R$pZmZQ2+tE zWpB8^uA7?}7y|*VyZvZ>+5%#Ste_q<{~>?4pS}R0{eTn<7zE7R#_311J_rN^^5YY7 z-2Ty=)Y{JIN4Ev{W7qy*cni+w(Z;~-r`^NOpL&G<0gM-D&(^@kM zHPHXl7{(eg8t6|-(2g1H>gyW-`2zrb%#lNBDrNF@;BY@(=)#Bi_v6?NI8qff@namL zyTDl0CgG{rd+V{}YopobVXfKbr})6*{mFe!c(^R;b+WQqSzbDZrA5O2w9u00pf!!h zUsRIo(o){vjR=A@qNV5|vsS*U=fj{j-3ypVchmW%khQy%U31hc9b`8?r|J1TSI^`; z6xA{8JYBVP`wqoazug)1@LjojesQVq$C|iksj9kJ6qTsrBbv`KNW_TDQ^=G_QKRt+ ztCKa>hM8l^O{Q61(h#h-d{(|! zYz-0WQdS`^J#7cQx4zb@j$Ir^+A21Mud@h$@#B2*suQnLu2OK4wUWCLx{+MMpM>oE z0$|c(*dkw}Wh3gMZzJ)e`0QHwbOVY3ReJq3M=f_BuSTC--`Kt(zWqJN0_W$~*r(;L zQ!8eFK=CD<`rH;;>D)R1;ZYFWOf_^@56*H1D{VC&pEz&h3%XG)oKxYvmx; ze$6CZ(SAAjlaR>vONfy#dI9k^o8>ZH}_LWStl78sjD$I z4_K2Zs$PNM7dAUn^P5?eLNF5W4h;K-S}glK7|U}7(`=N@a1#W7=iVmUD5BRx_-M8k zcu0^a*D0ejG+U0i8*kN3amYeyDKxM(I2L08=tC~r8$h0?2xV1ozogW5(+YEH>EC#t zfmih{_<1Mq08ao@d9-0x4*84sK$7;w#3|V&b9LdxHox3*%`C^aH7n#cZA#{s3(hi3 z9uxjm4o%Xed;w0Ix9h5SM7?Cy=n-1YLEx_XQM6;=$&}Q%QkaGG1S!9v%A)ItU0Nhrr^gT0)POPr(sZCb*Ws5g zKEwHr^r1;+sd5_dO}HRs<({=2U)>2AOSAqO>2%ZBGolH~-#A@Q7J=m_6C`GPu@sjFB$d+or3gK4+s zT;)!-&l%z+&P#YXR`?LxU1;b$%;zTA;i3(1Q|KDiHLYWe zZ#UcC4vaWvoRA`nf>rJrn@R?2)Gpb_f(b*;fNdO0>}s_n;IPIqnG4W4lznzMVTZX) zxX?*&qnfIwSf9Z|<{i07a^E(?{C3&ZYMiF&*jzJm8X@rR`#@w2wbm-lX^ zk|`3&A8?S=ZYag%${P z@i^g;%R!5UK$-xop-LYz0qWj(vB}B}KDKfO<-dyH&WG@SyQsGShfP%p?thAvH{O7; zX-)&rECwxpV#Ye))t{-7n4~r5Shhy~#iy)!PR{P!&y1m65YELQtH%+;hwL)W$`-Yh zZjbo9ED0``$-mFocH2$_UBj?>-YUh2TQBVH{=~VGI6F^Gauhny0ojI7tNTuL3rpJ( zS`U{Y?B*r2B#_6n`nKsPd%Z8L@Ft_ZB^{QGU9%+09vGBJKn^H|y+H3FBIc6A^~CTR z4x76CR+^3Zw%ob(A&GVVu0W*2Gl_Gz$Zhq!#qPp!_q_B z!e&GBLs{*8-e&CC4UqLa_h0pc_9yg9^=I^p_pfw53H#&$+5u&NhM(p8nB$J;)%z3a z8`bw;&-l*n&3%kle<_T6QR~Esq zs;XUV_m|a-vh!1l>4f((7--AfWlkgxx<+p^7_wuq8 zy5nP%z-bN7sLi2YhR@0?Vy|ftvkN6}26imjqAqNde|VrFY1WXP4HI9P`JTwSP_7Ff zkd=uZ^>wFaoSw1&rOOqLx5mR8S;zcQ$yTTK^cxKd)$Xbom!RTR&N|lT`*6mKOMxlZ zw$AW!w!F?MRg+>v&orDVMt-a`f;fA*FInUdt!rh8)uly!EQ4YWN{Qb_c54cic=e)g zlP)c05-+bOdzOzBEevfXNbWuI!^y)i6JbeHd{DmIQP#WbnZiW~y^LRj<0fY<{J36I zX^+$=Bg{LlDi``4(#k)1n zeq5P*pxVz9uSu++LoHif*IflIo2nvQ21;LkCGFE%i;@CIaE{}d8G*gF$iGlJIQXq? zq<5E6Weo)o{=2j>lki4t>By4|GSXFRvKwlxf^BXDf!C!MBV*3fr=`xtp9X`?QI-2YP-58t`C8-eaiTr559)uO<>Wx>6`7m;y~{4R!Tx5cr(!-+usXI0T!qX(FhFb} zm!HpiY5ipqE{xFci!nJ?mhC~IzY6L)-IBMO0D+#AQrx*t5cSs_gK%mg>7Gi^ zlHT>tEABXt1#Bqx%yTSn{tycvX@vT%HiFQ%QK4bYhYH!M@Ot{ate84Cf09E1?csEw zT}q0bw1!!W<+G0$(Ql;kiKB@(D1L13cJXGv8fMi7L#gzh;>7f+xnMqyj6Yf{831Xl zmT3&7;i{WxRHSLn95Om{^9`!`P-_|sAreO#P2{Efc+|2jEkT+&d?$Rq-+Fh1fOxgN ztyj42fE`9rmWiJkY~aFDlA19IyS%#iJxg!OQR}&uaH;Z4^r4!V^b!C*S5r`w51+4d z2)~zk+J4%7+IHFnCxN?|lNP6u_-1gNa;zz-KlJfem^Ec_-MpiM`jUqzDcgdDz@;8( z6}E}m+!cDMb6MHa+iKLKB(+W1LLw<%9j2&F)|@=KOOBLbpa)zPBXRq=p! z8Y?6p^h9*JSU#6|ow+}Livw2k#mc68WD?ia3qy9uA(Tcx#a>FgyDZyQCkt1Cj7Pzq6JC6Y%dBHLjI`Ml2r7b1cFq|42vi&C5;(RDZJNstrLCl zfnM)KVr+o3B`w*(mHRna5YOwQ<*-Y22+6zRL{H?sD^Dnr$$ApZVo+UrSNx={DG>Z} zR8Vsn%VAuH;Y^-?L?90Rx|h-%GI0_rHmRxaEA}9_y1*I72h=k7l#Y)zjsM;=>rCvG z;!P}PO+C&LRQx8SqP(~I8xwzwKm3mI8n^@7z#aw~~ZYL-mF}YccO@_2X!%k>|!IL|k&vd5Z6i(pz1ZLBj!>6m6e9@*-mOh}aHuse^Xy{hCOJ6{UQKgnDco14$^);?Gz=Yff48 zLmazalSqIfCw570`FzX{&YaT={{m)03w_D5VeSyk$dZ4McFFH#584c*kM0R1pxPbc;i^;I#@e=LN;rvzX~oI7QaC zEV+s$v{rUpq_m3mrKskc^djl=Tijp(SuF=FuSCM8!HYWV2|NxN?&8?uu4=!qit3#?^7u9~5hrF4>Eks^hi^e6*fI&()VS zTnQI5bn)C1F!!E8pbln-wxfJ;AB1|NC5i@b-ac)gAHC3-f%GaiB(AU0?;xeUCc?IpLY=TPqD9JA}h-4(Q|1#Ba`HoL#P)dn%%HCL=u zA$2U=X4OQm+5Vye3i{ z8(q|{2&ZE~++`>>hM<0LM69i6-6-FHT7J)}p1!$YUDe>+BQ`A!Jgb-ZmTVgzs)6O0 z5X?);O{h_=2TJaBpVed=^X{C?RPZq??hxTGYoo5`l0A%Pj-E~SDbHh*4!7^X5K8WE zfZcInWcZ{4ioC~G+p)J!EESF3-KgJrwLm5Ic--tC-{zglAJMvLVnxf5(uqo3PzbwjRI#F z!cB*Er!F$e8RAUge?}>UCZ0$kxG+o-z2RHpkO}1s_ozX%ZaaB~@7DgC`U7Ldu63(m zRos*~x&S9q^#CN68 zQRmf?+g+VCzpx7lw)ENlhAll2xrZ3X*6~kR_-H}p1d__uVfK$B@K7zQPjxHsPQ)9A`5_88{saev)QsYSMsq0Z@B$>ARu6{| ztD9Vq*yj(TFW$R#4`IP2`3`m@^*tT%yqKEO^vVuxq4fjYoiF7@SCqD#hTS86V&9)I z*jJwyt>{34;y*W+D&}L|Yy1{_{Lm{Jk5+4UGUg22|LF60PN_UX!X`5BdB2$e*?=jU zTkcNq8<87>lX=r5ARkk(r55qWUrwbI{T<|F&zgN&hdPf)Xnsq3JQKGV30F|^STdzi zf;sq(kV7)czAXwps&1JH!rEncN;4 zWyy2nFaDbej$;)BHfgLZqPh}Et&00bM4MFupG4+rF=w9j*&%)@q`Yh67>Wp}{EXu{ zJqy0|km=lvQ>^zuDc;eD*OO1zwIFymNPfSVgN9e;?teG?;+M+Q7i+gy(!#!X6!EKA zi`5+pOAl1_1wHhQN|(~qL0`IGf}M)6-?N$DG2!7dmdE_N?y0I~=LWQWGzuBrV8r1I zaBY)v3cx-Fi&i9n@cq9oKI!+8Wi`H^a4waFj>=c8<8L>Po%zofna>KFjDy&v3iR{e z!NXm0qa3EQERUonTdp}8fm-Z-l25c22%|j?_?M{RP}~~@h2V>_C4ck;Q%Hr;Hk-)I zdAP%D3tBkiyuUgw&wT20TJB&!lg^kPCSQ6iE~$GrIg=lERQ$0dSp1jnZE1NtJtk4b zHW(s{8Ch6ZbW^!}x;q*1-V{>P5+06%($cs%^t{>l7SeUz`0vX*O7hy<+jnc&t3+7L zjk+eo07u_I}2YIix)!<3UH=wAN;OZDC`pP{W}u>Cf;PxkwKDUyHXcy4_@vD>Ke~z6sU#v&<2BnbmXM5U&`cM(PLL zE#o`&E61XTblJydqe7;Jx)23LEa}l%_UN{~u;gazrtNF;C=a(#-AqQN zXblZqQ=dz`Cfx<-Rf1acb52xSLJUl9NV?%GCtYu>-N`oxD-MZTq%9)0snh?%vHUgeIVlXB3sa6dZcW zN0!F7A!I~rY#82aG;{q66rg_7EsI9_OJ#inxm49?K8cK5=YwqfX4fj0b4iyNN?%r$pXoDE1z_Ii27dW@}WvixT z$b2)FB~~;)r%JEaVa_zMs>qxTVKcfAHL*>N%qj?-OzGxT3RrA3(S^#J#fv&;lT~F` zEFNtH%^FL$wL#Ibj1Oj5>AtcqozN88{$9>QW$pk6qq?dMD5h~A0X3cqfnnj7QeA!T zMq(5@%D=8CDx%>PvS_-%P}}A_4X$G*2nUMBl(2mc7CFE81ti%|>IGxozoE#DgTb%k#{hx3?t=DfogM$iu< z+r@7*B}M^OnlziKxno1e2={TX-$YFoSm{C=3wciHIx;P@D31`{14J#aE4)c&x5=G6 z1d}6oSiC6=CxHEnS9aasGuwWZB5~=^#4^s)2&jB)` zQsi;}Dz*C#n8hZANj!X^(Co>mC6{Es^d*$7qqB_)W_$ibO_SkSB%n`ogR%63>j!CC<`)4 z_P0|j`y@s=->?Jfa2W?+lOsy6(~Xl3rbdprTqBblF{!Sj1x%X3$FtW?xKjmhP8f8# zYNsUc!P$aJS6Xw1N*&vZ?zE1gS@<{e^J51^IwB9UBN#XbN3`<==F*!5TS+7GH}jI_ zxKmZjO;fdRsL0OoS}ctUC1R2I`45QWXQ~7Syjn{O$)cq+$Wtl>h3(Ak8pD_vC;w^+ zZE43w(9>a(!)<@>MyI_ROqxM4Ki~z6e4ZkKp;Rq<<-e2~uLvWd-4 z{QA^k3kn{N$qFU-4(n~R0+T7lzk!rT8q0TPKW9#35LzpnI|XBis%OE7lD}oXwRub3 zROtFtLk*HsRvNMX3_0wp)OX>)5T$s>v0T7zOEGLHmx zbS$_`!MGo7xt}=Vm?pq9;rr(6AslzL7EzC6gW*Asj=Fr(f|)_>reu%kiHyb65_frb zA9_=0p1{F(7v8SvO6rX2;_Es<4Y^BviGIn_dnkGBc`A8l`K0^e`x^LC`fU47LP9@a z2M__uprY>L05WBQ1(>xjtx;BGrlqY8G%SM)QW3d59~ktu(d2ZET>(7>4^3UyD&!=R zM)lZq*@H@RH9m?X2xXpTad68IZfNg?L45A)>8HuT{UkKGE6>*+grG~&;AgZII>0hC zK^>-_`sog4ouWhaJHz>V+%}7mNiD`n;E*oDpix>n>v}XVRv|Rk)BY+DTC*Az-`KG zH0v$--mbYPS4v&wX)*vF&4x_mS~amrqpCHp%o{O_EwdHdgAm2}%UQ{|O{dc*ogkK5 z?riB2HvMU%yl(EwO$Z|gNF!E%naZD?%3HAiHCyBfVURv$&AF|eOw{jebfx(#yhHXI z>jm~(aQRa8U#{4H24{Rvfz~1u&`bq*uy4wvp41O;T4S zX-CiIrv#%+7D)00)GA$<@~ep>0Cak6VCW95+IEh96>cE4ZYPu8q?ZuYvRpT;vRMpa zlzG{1;MF6kH8A)uzV|=UfE)vXtvQ!(cjJM)d=`8Cn!PdJs=gAzSm#ez;MHJyd62Jj zt`7bvDIA_c%5Rg1s=!MB%1rMzCYX9DU43iQ7QjooD?)Bcu+!d{^a^n(Cy&%qVjRiK zj4$(M?`|NLJ0F z)jV4Fp=}YN{L}W9dOrhek%4^9k#hB!?OhKQnMx2KLX-zz6WsY^!4Tp#sc@`yc!k5e zLPT(bQWfGADbTMmFSaZJ2Tl)D^za3S$s4DyWy##rwB7@{Kw5m>i!Z z-|St&x8^IdoeV&|I8dJ)fh{)nu{ur#oziwpaG&-P7H-6x%GEjJY)`e#2YL$q27zAzydFswH zu<7wUO!08Uh#VWJ5Va`V8`*-TvJqg)rciwJ#F<1cBfrHo(kJ z;EE)8KvL6SKMT;A5JTm2HfYvLj|wHU1? zEMHN(zT_0@ZL6SNib0P7{X2EuQUz7$Dvi6&p;OO|h-^20AOCA_rSUH|fQfD%zh>BT3C$VR^Xp3|ST35pavKYR9$NHZ~^*ih0QKE)w}k6M|^jq zZ6`ae8}*y}(Qu!EmroaC0lRAgY>nxaH`vb@NrSVIqO+nYDae#*ny;ou^|LOAGG0~P zV&0NY&$rh5&U?KHghV}RUj=9yqa-qFE0yMITy?H02aBWjap9yC>KyPQ{kYwfKA65p z{R{n_-PPU9-TU2}KEA$$KC3ovBb8?F}_!Qw( zbvC@%n8UCd_FntL>ljU8tzM@ligV(QHlWI}__3nNWrK5PTlTeyEJJa=feB|^*^j<{ zZV^FO)9ig>5Xv#;W6(qxF*E1Zl}qk^0C>S@hwy+0)lo~(fW)JrC_O)n2?e+kd%@ua zdTg4N>rjT%9Z&rDF>|ISeMjDuJORexU7=AW^&vC7# z(oN~n=_pZGi065ZX1+QBP@ma?kDd0-j4!>d^4OtJ(bl*K;kv!TD!Pc_QC}mrWeB{9 ziEYt7$RYY-5z8_2Xw)>jYSizVoBcdhydT0261b&+p^K?h zvA9lJrqo7pe%2vUN|xQ3XyyXCxcR0YmisQUC}rcX%Q`;enVY=Fn{tpW>YR_umv{eC zO71k14YK`9Wkqwg%Sz~-g}?mZrrzORwY0sWF%>P3Mu*hQd~}`g+B2C2u{=`|UiY}t z_aPaI#XDxWnZYiuOvXsNd3u@r89K?BEZpw$wk$KI_b9GVtsS>dglCwCFg3JgaxbmD zcnW6~^Iwxdx#|vjBBnqIFDK$nl($;DXv(;Du)@Ut_h|^!Wk(OYob=P>6_T_ufgv3j zb8@GJaTQD$^TRuoc6jmO#`Nz9%V%fM#?r`e;S17p06leo#MH&k6h7?5+OY9lm zYchWqa}7Rq|48n&IP5&i%`X8G$K}8pFM}?2vHYlW&+wzK_IN!N6}jrej)macqrlNk zww+Ubw|al7InfY&*59@O|1V>fabs>Yjj%1|)OxE4yU zL%RHH@WZRC7MA6te*6JQa#jKMg{k9XeaGxHJAB5PRJ&3Mf#M@`2pcKLc`7HS zuPprBlT%P~TZatanFV)ryD86yI4>Bz-joNg?y#G^kyk9Apq)HCCi8|euz#t8c}r?I zF8Qf%jC@niOY4(e-2%TKEoI%MOl9_29{rY(e~GVsNm|@O zjiW=xg%f8i4KXBozd50mc<0RKM<;W^kcIgBuN`_T)GN2pdv5Be{JR>}vS}{qutnd>vJ&MwEiK@7j zy&d;@32PgYSbg+KsZu9K83!tslW|;;Q;tWX=E$+3Ds`co8(9d9na+d1duNupg26xs zl|_4fvf1Pu?%e&`U%{ve)PR3e_n-eYDv?2SF8WK!cp7qu-`lbAb4e@$0mul9Z5x)B z3va})wlx2DN+0(s>c)ZsCC#xuP$>!rfEHj(>=&1;!1?Y5QR&&ixlv%jMs38{Bp@HGX0(&D08J`REta%&Nz9!r|S)o9oLP3kPBwQ_!XB z{ORQ;l5i@H-?9l?GoLYt!cMup0rD=eGC--?#5x<-3y1%>D$#2OSz z1d>?z<_{9h%EaW@zB&X&kDJQ=y5M@Q3~d;4|7vz9C|gkCnQ?BqpnP~KaO^gKd^}M5 z=o)vaTt^hf4+=#*l=Mz%-LCN$*lrom-Ne5mi3>#@E1D0%XL_?aK>RIbPq^5L`G*BEC)UAQge372Wob-)zxS@F8p{)$^>g_ zTA+c;l3AIr$f!X`-oR%%lAGBxBC(H`-KOIld6Bc4OaafyYr=+vOOIv4YPUR0>87Gx zD`H9v)ylgU(sV%4L3r~XQFKdzcbEQ(}MRTDv~#$2FwqvQ1KoQfx=6Rw`JA+ zhy!CD!M-p>^HNM_QjOwbRz}Q-O0cdu2uoNt5hKmBocN&FFb`j?S(j`xhe<(XbL2RCX|rVE5YCynw^)!zN>6g@Hu{T~ZkRn1s@P!XyEZ`I6*P|BD?o z(l;>F&+P3T@9jMuNFDC&-ThV6!~BQ2k&%&+sg{|g7pMR+R^LDn1Rf3o0ATr-CN0nQ zryd4w9Vk#4;>!(qa8@{z)D<)2uBBoHQ*O3ga|2h-`X}Hb(`ch@s2Rs$g{w4J4- z?wOvXzq=Hud6B$2e!H5Vay6BT$fR(!)O=YX z;?^FyK((1mcoh2*>sg5xyKcH(xR$b=%etU<=4j1!EmONcc8C4)`S$s?*89p5GGb&p zg)$3n3DzQ};3lOO&&a2X(~6QAUraS!u#{!wNSm45SKsHix8b$fV3HsvPT;x+r^e-~ z7;tKoU9?y)E;;>p&q8n7$KU54j@vmLjo56e_8{r9>x2=%zCgHT`JU)Lxq(g(7~2c1 zC8HH%o2xB-+=;8;nG#g8E6y;QlsHCz2-3jTvhQj2(b9@1rHOxucg>oUEm+uHOw?Rn|c zIIr@InJIWD>4P2HhPivEth{F~q%t(m~`jAPA1x?l%=Z8_NJ zbVxDflRlU0Mqp%g7-&j2meUl-(AbaehN+>pzRvNlgZ%?yQivPY>nk`|P@t&D&>$IU zQK5k3xW|41xoCMRtW!JDi*hlpn%$#^Dw+YV23n9MUj6pu_k&oSQ|r@mzx9UrI8 zIRaiPG2E7h-zE2@ya= z{42qasXsu({z)WJ2yl57PK?TcX30x~X1hy(nMfs};r?bzKtG{oqrPbOx&OfTy!^o5c-A_d3VBxVTa8nGCZ&e{H?64m{>6N;JdVrAG;|{cym=949JL)DEn= zy0UFJ!wwea@SvM?2$kkw5|B2PNShh49-eMQ6{Xi`R;g$xNRK;`7E6{UM|Q^BvVR;& z@z{=c^n6c#yqY$vF+Qo6!-@{L86p$a@L24`j2@XkQ|I-XyCiquQn!#+GjA`*JGIh& zxdAX?g^`k!!P3xRsFJsKD@WJXUC>xx?tB!J2>rPce3y}xqfl9`UM^8EbNXAA<{hs( z)r=~Ea^zI3*ZGeUWLSmklD| zdi#lnvD_Wl-Ew;lesQ`~A+A;}P5a62$LLw2%cWY9Eyfd)WKaA7SsBLVrobjwWr2ye!k;K*nV}Fzfbp zE1_*rrk`9XbB((-wqBSAm(1V~^gqenX+tvSjH!&mGLEu_t+QFv8kxXotsjqzuIFK>H$ z7neH~8k(Sm5&&f!Te&57cWk05`uzCPNXBs737*X0F+y;`IM~wKm7tcdtdDp$Iaq~ZcUxksgz0xHi#5V$R~86!2b4Ou6=zM z=yzr6t7T*Bsev^EWMo!|K@+G zrB-%O+WyFaau_~REor0K8)DnOh6_}(_4UF`Kwa^e$OA6z6f+io5U1-W9kA`Rk?9-z6Qny z1s!FwL?oU)XN^14TX*5Ub^WXxO{a5%34y%(%`48DNr-p-$W;; z`(ijgjo7d^w0ZGiY~tP903DzC<>wG1>$Xi#WCvhhVHKF%Fp-EOm6>PF_*x6EqC}QE zOk6B%fV}B^*wrXwZ#_>zuM$2%DKRyZBcCDQ_KMcYlFZ!6@SND>Iw@3MI<~NvFY9#o z@qW6Ue;SbTW$Vd49DA8a`BhUr^WtOrU9$@Q^nRvBh;N|~WBWG^t64ee2%*w!MAW%X z^l5wfJ1LG^6N~H5uZ2vxk|=~F$Tja*(^NGv-u1AKauRT(-nk61@B(TYjA&sw#2Za(tp3?0-3SNovE#nw!GqurW3F!FmjAuK4xJ?Rm&wRIS2`BGD~v z>?$Qc29L2>AH3&5*?Nu}^1y2zl(W@k;EU9tLgua+5&B-pQClUrx%p*`%~AqVz5ekb zV~wWpN+S1KH|N+L`81iRCLu0>I;7aoF2h5{mB(jJ zx5-FJLykgA3hgxit0zt~YA0lEqGIv@j2qpeMh$h}=*2HAjOp@l$%Mg{XTf-i1f@*n zjFIQTvKAEz{*G-2m)qFwG!2tv4W`K+IP%!(u<~Rk|CJT*?B{pE$XJ1{F-R5!?xzsDzu!LPjEQ)-zPT5?!j;&v*5G9Fhj?3TX2H2N4 z`X1WeK{G!L>z{z_84>?pCEyA}>L&>k=etJOmnBu8M6df$IA_{)8{le1cBdOH{yG%5 zLmudL{8eo*{EEg59ae7~oJR!?Dp7gZ?D~RbGCF#=`8b{ZG|i6R6`l@wB0Znlm5beD!BXEDC(+N`O^ zS`W6@88YY-p6G~MUR$?3*OEDQ;lXN~=maA`$i=Vd3&tg71{X(rEI~sH_iT z@1WI>oW8kc3}#{*dq}I|^JXN@URgs4^Kr1bTKj+?f)Tjgg~S)Hrn9P-TLhUyPMuA@ z5DWRnC=z|4YU#UfUJcuuy1igZhIVITFVwdr(lF{1(=9?ckqa}-nO$r+9oFjx9&GR8 zIFbYBsxr&^4(N%LW_N2kpKn?Cr3!YaRGc-t_||CLw5d8#G{o(!+2wK(_wld;e#XJL za^(1xhBJl3k^V(hz(?1h{ZHIUW5KP@e91;;Ss9i%KcI>E3tMYoY+Sznk+6Jd=>E5= zyU&DGy?&5qqW9{_JG_-bL3xFc5pAqMyj#3GA18`B-O?7!b~t zucGHi4uqXur#E&ETTBa|ZqG@cai52d8t2ya#<5m|pvDyJT;eT>v$EBmDVa{O)=VUu4YYlwhvqH59V?w32}iPa$@ z7lQkOIj8k%SwE~GbQptC$z8?t-Enh1lUy%cLwJoMVq#>Ztmg0PI6|NaMjy1z9k_8k zC}<&}R8)|E`hSEzJcR5Nr;2>QH5k_P(w zBf$lO2t8+nLloo_&Jx0#9Pq6C7J<{MFyxKb>k8gnIOKv}GneLx$|SNQ8{8Hb`AB2i zmNRG?H?1h=q$n78$swf7RfY(P?DvvG9kDhYPiwST{=%Shm7XEM!-f`Uw^4ug|_((?yB&XOnus5GF zkL|+C423mhq~Bvkg^~6{K%*Kg0D+e=h-C>wG0;Dv)(8p`?fr*Vp}17u*FVWv0C87U zXXGeT@pF?BanBHs2%lym1SJ>^gc-ndi8zArC@t6@+ne|{&BXJq>Iad0K=n@%+fRbr zC}9#GMf-3S7+6v~fQX3OHVI(FQ2RoYGTbHT3&G&V{{T{?rz2F+VOh28I|IAjRe_3Q zNr4izhnd^HCfO|joAs^J<10a47Y?+)R>6OOuWRGDO z{wuiyw<5s#${-zldHu~O5_D^8hq>UcX9fjPT04Qq-z^o<2Y_aGFII!j8(3CSjkQyM zh9>;DRS?Hbtp&iMZjz`LY2}xL;X4cF+yzOHihfiQwLb6C0tARuxK~ ze@}DD&4!mPk!dBds?2@%S$ew~RQ3*=;5xBjS)n$J8B#y(NivaOOi(D!iIJq|Gba?C z)H%*EmPV4$j>M1dOC>npO!IW*2Xq|j>Br~HC9K)~#dU9#mB=-k4dvS`>fO7UwIb=* zMy_UaskkiL5lGLNmOCj(pnq1;S*fq|sLq~PW4(4Q;dIrqiW=60MH_W|(A6E2tMQD2 z=-!xg*v#Fu724LbdBvLnMmEArE=;SONO&V)v)x=hcWPa;cfuQ4=m@^P$+Qt9LC2Xt zg|j6R)mKSi9ZOy-zg}!#f@>Gw=A@pzbhV{9nIM=V2U847FI{mJgU?a6G^%mJ(4|a&;B2J zh+2`^tq#QR?y_c~s@rDCoE)6#M>o8GJFhiEWXULoG*^9IrGiy;_wF8A3=a0-hZEZB zCp{fpD?4GMo$0W2H!K|7)qML}OeIyr+VRN(zM(`bCT4f67EDhbH+s@JSn*=NiJGVO zjNrK4I>mRtn1?LaCD(SCp!aeGG&Wm1+&WimIKH;x|K5!?2$AMztukY++ z6%yijtW(Yv-}4jouL|&n8pqN0ANPp#&x#YVeBog+3x+2_uVRUcf#&}~n?fgRvOTC= zvJpihTlZcQea?xG@KvB>AaESgf`Q#%(-INZcAIf%)5m9t#^aG?@SYez86Mo)-r{`O z*3pj33yMSj)-=-k3a?8Z$o;ICG_t z%4G}1qVB*J>9PD0DE~m|6{~-j#jPo+FxKKXE>li6zNn=gtG=h3aA@h+T6)>b<`+ND z&IX;CQU_fCU2sG|UCE3M@=FgSWt2_^tBk#!V2;HBA00aM7oE<^!X@pvk{P|%bGV(b z{NA~FQIVLb-|D3|erQl}UGl8a?K<%E=?=09=2ne5E|_~OLE--8>LCXZv-qQ8}}KXns|!|lg_mEYEC%hjw}KF8>#ZghqqipsjkZ*Fr&6Mz zmA0n0GM6ae6el8{*kVf&HEVCXI5ou_1|QXK(5=IKx3$6*UYGRD-O_d-i}@w~7nO!k z+?s=5yV)ROr_6$66j4ut6nQws4R*wN%1dKDnCD%wv^OR(G7jC$-uI;lV#VHOPofZoZ|n z=Q;Z?YF%8svui@D*qmUdHrgS=1Ou!wW30zv4SDPtibX`lE%c!*gZa%u2Bhal&wKnC zZ|hh77zzZ)y+FHUtS(58tuD~dNgdZaPY91KKFIf1YpHcuhD5wDAS`~%s_HMt%bXq1 z^Xivg^o<#kdH74NXXec#VXCrp#ocZ%AaZPZL)whGkjaC(gUZ(W`${a&2a+gXesmtO zr+a+WfP2?_jj#;L(#s-scqb}X-v04gM{yNju%EG(WU>6x|1a}E6}Iwy=H_31?aOBa z1lgXl!(4j>#yC;MUp-ZbclEK~?&mBBmaa3E87xwDWU5*2w+jqgd`9zehn5R(L2c}U zWbPLAMRT!bWB$2lX9QWKV$QP$^~7Tm6YaWt{R70Hmcbq(LEEt<)Zl(z@kCp!v}nZx z4bmZN5=JInFfy_Wg;|pO&B=`d6P~}E9qEgklZi*EZSsL&jc4uf2HCU|v5K*N8#;$P zZkZE(##ZD!QjZ|u`Cgpv?w; zu(*3{&JsN414FCI>>Q=e{2T(koULqc^Ocs_Vqco$W5!m5(_uQTlFCcj@R(SnV^PAR z->Jw$gpd4NgFGKcan?u&Lkn+$du|M4e&Q(At307mjPd$DJ zN`k~~C=tB!=0V=luGIZO zP+e&79l9f7EgaU!RHBb}X|;9NH0Iu!j`uiAHb+*rCW za)Uq4y6!&|JvuPi)g`Nk_n(V*h2VyJ`wvZCSeib3s&^n1=U+r8+Z7pgfBlwHCxdzP zIC#$2$eyU<$qVsuy|<6DVqI}OS-r3nKXYVnzn^EY^le8s);7)xqnkL`+G87&#L<=s zZBlAWsoHwFEknufhoZ$;P_}$2<}L*B6}s@{QTZ_l-^OCCfQ&Bg9EA4ZphwO+gg%J>s0gX5e2k9FEST!Tf-fiGL#C&l9O3wX4m+5T~Ehn z_g;J|o>1t=4-we-AFfsuwRV#P*Jl$Ko_9+13=C8w08;ZOuJ4A7ohqy)Eo- zaV@O8zK;EvR(xzzScR7w`+myb9J%c_BR)|k+09$SHiHN2e?KLm(XUK%dlISX6c_ed zZ4oC@+o&)^X1~lV8ZaZlgk%((d!P!fq-JMR6-*W8*a}Wc{9xOWTaZ?!HxHU+9hoB* zY7M)JPJgw{^syvWpaq+f%;mu&*8JkJwj;A4UW-)rpqzujiQT`X>r3O;md3}IbT)Oz zp+hr`Ycq!q-Ela&60MEXMOuFVP94U}$X(9xR%5aa$}QZopt9|sJf0M{CJMb1sip9b z|CwIAwfleu;_JM2piU&zo>H-xnF4Y4l;p7Jfeo^Wm6-6o$fOz5M5&6bq9Gm4&Wx%O zW^}z?*HM#NREi}9)+G?p*^ITJvyyK3BOkIa!J4dItlVU22(5$z_LptzWBe-@b|}p& zfk@!y&OU$FmCnAt&h+HS&ul6YQxd+uK3}4*YZ-2WRc``}3PYc1FB_l76;`)eY(yH~ zzSX)zWGYag&0Lo0LL+8+FsStR9~d1C4Gk5Mk6>3LLW}+-WiAj34;;vp)1mn3L9BzN zW{t)foO(sZlBfZ6tuGQ;8U zaO6qV|iATA0D{8fSL}n!j^a^^>_dp1@_;L!T2asq?Is z)b`KK?ayXUYO>4e7~8vlPCqd}jfx;yUp@i80{_^V_-2A75{=(-$qbs0$~-Q%3xqrH zHi86e_NAbuc&je#W-Yx6_ znJJ~xeX3r(T5L!~6lzlXubeqE+55)bkLw^Mu44t&{hZ>6LaKj4lwlIRR0{JzZlFz! zoo*q^pkZTvFsoq}P8drnLo>sPH?ogKcQ>AbJbIGsmqQN^mmIR=GV}YxeT)9usBbv_ z*NvN_yLIRb0bjClE$n+Zae9KW2L?c*s!O75gybm&?!6%!v6mhJiAaUr06QQfsaW=K zA7vk8i~IIn+y^5LYFLhx z%NL)j5iRrer!K}5wK&4k|uuFQ7d zko0w|Pg%KyrmJSl-ev=i;a6{$&NeMt1DjK{d3-CSH;{#`mB=-+uWhr>jc(&jrLK!Ws`vdl`Ad2W1)ZzTzvz}1YeWhcI8Cr1k*eD%XJQQ z_A;rrlT|{ESFh;$dwso)f24Qr?DdWKd^juGbZi&bJdwT*rmce764insII18{0<0Lqyp5`}7VLTRn|p%)2~OERrt_QwpZsJ%+Q$AH+6-CN_H^sY;pgDMzY{LHoujtJ!gl(E#A9*BZ|JWnK0hNMg4w|h7x1Xy(8wO`d)pCs} za$2pCU6X;bI-4Ko+;|Dk=%jZMct|f z|0{YT6na_^{XE8GqcST4iH1Hsv$MUy)GQpZnsQZN4t*v(5)P02Ev@~He^x5?b$Ql) zrs-p3$^Fv!{?r!zJMk#Fc_@y`D%!gCVRAn+Tb@-n$q6kX!-Q=ZFh-j`x-Kdt0|NsA zN$8>IAw_Z-Ap3zQaTioM#eN}sCJVg7tfyiA_cQ3sZX(Y@r;AN`m4c>H{N@%i#|_1?0fJ*?iEKG6I=RPK=~<9=%~Uqnbd$w z4YN|((6owP*LB{u43ZyrSRP$aO`s3RJ$lvqs0O#!wF)c4CBX(+VrXFmQb`GNv zR%s2(zt?(uuXLDNeZhnLbruwe#6c4;hAue#7?p1xi_I@gx?t7?>52!AmYjw8Y=({Y z47y^8&RV+D8;u82gM(cjx3{A=6rJ9sjXCpko~7jA=$-;&Zn>v(aM9mA(3P6)>hJ4i z{x12UbjF+MmOK7s#OIC1;<3@}h<~6zG_t2KoIkvjjV6zEdcjb|eO&1cI=iMvdPjz% zAvWl8ZvKj4t{KYFxF6W6pRAYAL5Lbk9p~0sy^bD1OyZ^w7Tw{rZ3M^%fm6=h-Vi$o zY-RX5Bh49Qp0=z!zO*!6Dn+x|XlZq=(SS|KI>pK`k&FSAIc93wG;HwjdnoJt9;U>A zj;PYR_mB;7iiSWSjiCv!=T6p6O)o9n)IbLM38)`Rj{U*9w}9n>Ud>8iO#2&|6ClBoXr z2m5dMaHYbG-nZTSh6|O7O_kAo__p?)vaG_IDb@p^pcI}$UKE}cXFhv2Rzg-;11i`) zW%H1P)*12x<$OO{&R+(?;1++VuP?+Ba0tJ)RES>{Q`zi4T7QB_muj);+6rZFwN>f@#{sHgLEvJZfaGyWa1TOm~ihplXSho z{mx+hngq92$q|j2Z~<*Q;8s}3${(-maCr@qB54BWJKQ*Krqg-1&Wr}UHcU`@r6%n> zx++jygZm>iOtU$-I{Ca!w0|d`5ppsbv8gZ}!edMtJ#%Yt{O-iv1znLW|B@B_ERR)fv>-aVjJ{!F;L!(Ko%pTe<5yUyam`=}af18i!w-wvZV$})37X-^jBV#3 zvWWcI>Xvbm=_Qy;%l2pqr^V578yZlR$=$YaeHw6oCvVCE3HUHjfM53Y*%V-(FXi*K zXtWyH2&Kpu4d^OAzmtEQSmNDnnq(n&hrL>5D1J1)L zqHU6u`K2u9-W8Y>l_WaGW16nb8Nm@=Ls>vz;5BI=0A-#U<`Oj0hG`76t&?&>86Q^? z@}xh!3br65A0x)w@QXGvGWQ%K9T75y(D1O!aRQKR=`AAx)W{l2F;uOSH5$rdDcaAQ8?J5oIu3pv3v2pWU^*Ji4$j+6B(eyMAVk z{=V|2vl<`_XsEl?U({dJY)x2|mz%~vG~!Y7EtdfQa*PMTKUkp9eFSpSu*c9n>c$mabrT{Alyxbkw1%~8< z0_uuF9+m>^TF%!-l%0t_0YVgQ?XBhNp`QfKnY}mK_*C@q(}{$lBobHh+L>rsQ-1PP zcOcL$q%2{*1XM9ytN*Bf^tV+?aSc+dGNY2e(oCy-1(Uf#cDWTu38csEe!%TK5)N?W z2Yjc`@Av&Eu2Q8s_~PiOBJ(wV9>s_3sL!ua8@5w*OJN*UQs~LEO^O>hi-{=~Uwrt* zSKE?fc4{PN->zJzgcMk{?eYJ^=Y={V%hqwIqb>U1cJ;5A_)ISh`icI*{*GX9xW9Mw z4k5Gu(W~Il4__k!SJl4$+sDS3)>Z%~X<{EID^WMmL|HJ)0N)sdo8T-k&<=Y?NB7=x z%j3!&$obx({Kv7g%zJk1mRlZsiJy5%a@+o#bL>wGS&aAXmBx+RZR->aYv4z;oEtvFsYMS!+{@C!7qho*G z_|4eN%`f4}j>CHSvHh`>B$S=kK~zd^Uk|D!aFz?mX|cfQ=pLc;za3A86{R%O*}1iT z?wWmkF05VDN;BbsaF{%$d)fbB|D#1gfaVk?4`5;y)bHoP%n1&1azSM?V~4fFW4(u- zJ96Z%qet)J>o11G)mlw^6F))gpFed<5>tk~xM*p@N1$|D4u3{Il8IHcrf0gC1uK$U zsI6Hsh!uhig^e=Rtm@h9RFFbYe z{9|6jd*i~=1$LkJvGdc}ch?Q`8Rx1I9Y{AOXY zE+BIV(1zfAE#^^hW3F<`9)jn|ZvJxo!qV(FqUa4fQQ#?i((L^BxVtaWbzvzMO~li1 z`uQ)9%|d(K9Yw#`w1=0YFmacb9ZE!FOBcEleeQq1W%~Yq32}b1TR6$$WI#h8+#%Rz zVZnK+2wW_Y;!H0UvCRUC)EZlB@B_gj$boVb#=v@)t?3L=IlR(5`)87C(d;)}$bxv1 zeVV=eGCTBG<1wbPS6^i}7Ks_6dUIYon*Js$}tm4rL7qu;8;Ro z|JBBtsMF#mPT=t}?F(Zs4Ev@*Rahr&s44QCl1D&@@sq|iD@{uh=@oEXaa#i%v7JQB z+6IUy%1@$*fmoB`RWv>_VL-zj?P>`K!$9O6K)wS1k7qZo(lxruOx)F;!dn97>0L#p z(|JoS_^0eon?5DP;AC+{at?OqV~^chJ@sf6{@9;B2HQtZRc~$lS+y#;1T2gpLJuG* z2{t5olNMXC#!Y0YSsN4jH*>wAUOx_;Ao|A5D*Dw3=J$Fi)Y;qnJR(l{zzhN8oqQLi zA~cxO3N_iH?L}0Y*3mJ< z?0lvp+Bp}ScI(d$;}pqj*;`q$ zM1QSLD4CnQN&=)c-=@O{I3bhcVto>Bw>wV&L|1aarA!WLE{1ix%JuW2KC-cqiG)WS zdO8Z0lx-tff%$bB#u_DYbRsJ-yo&MxOKu1^714(Qwq|2p)4;0gdt|LB;upDTOk^xc z1FYHjTNb9hgN?tX8G|fEh})ptl7%dovERcUh-!^@{qi&H%4gY&jrT_NUw-zU#```i zjLj~nVJ8mD(m%tHJkRnl96KQuo%EGxXGVS=va_%x&&E8^*ldh}kFj|RtYe&3&VN*-HkCCZp>S#nY#pDxs6S;xRWLt6mh zFRV)%9w3iyluB1|U87y7)qA82jdSBo^rVzHe^E8T9=EiDq{-3*Hq0n0;eI0$9gRi| z@XQ&^42HSDLqUyre|Ue-U|9HR&>l_;-1#{0orJs}EM)3F=Bq<9qK!N$W|*`^GFu zHdSeYuody$Na4Z@VH>=<@uYnYPf=lP>h` zoA+_!{MwT@?Y?s`t)8Ada@So)rcRMn>rFSM7X9h)44Tz(n^)kDy2AJbmq{qhWE&(8 z#rd0$A-raYRS~Q#6hG~=l>`{J<&MlkeIx+=6E<+b%x}&dK0L!Z(PZyctch1%!FqWW z4Y(Trh-WdsXC#BIuo`-B24YUd#vz2!IY)|ld~qV(a7a#JZTxF!DB&L)Hj=ty%C#7e z8h2?4Bbj1Tj=4yjsUDvK^`7-iPRd$xLhT*tQ}+*z$&*vw@u7)O|B&R~MqkqO#>-k; zCwPsrib=K|rjCjOrkLiM{bR+3DM|iqQfl}6DoBekXC9O!BCS4DZ3}iwfQ)79*lB(F0<{Rf*lM>t?E7I0 zZ*KBBLWLUI0hstwu*MHwgf;mi*qSzzs)>$Rvl8f8lXlm+_D$**-(!b&pz_lf7o^l! zz5pHyEg9d^X_YxZM^tVoP_?R6t3U=&QGj29HI=!-OK8Gn_+i-?T{Er1*6otQ-*;E% zc1u-xJyMM;zj3vZL7{kC3X_ZzBh5|K1d3U5M1wZ|%I2+h7DzJz___A_|^=}?@9Z2wf)Hz+MI z9lO*cx@Ogod7YFLOhs5IrOgYgiBrsV((+q=wl=1zke2ONR&!KX)NUIy~l zs2OOpugnckF@5%!jUrejyBa^0E`=`H*{n+Hl|t5J`jf*Gy}3QRJ!~%eSkjpL0IL{h z#z*$J+>KYFkDYqr10eMfX5t=>ZbEah%?`{LK+(Y+h*I2RsF3ATb43T=2&J>}wcok- z-JP9RI=g+H4|jIHF&Bqvx@&3>`Bz`YH*wFI&Pc}s2v)N# zNdky}7a;sQv?TeRdvbtyJgq)GFnxuJEIqTUQ8x^uC`q37FHD+y$sS45cDpH12Lxq* zz18-LrTPZ-caxe;t+*D__3tFb0B%(o8n=*Q6}C`irk&(#5++$J>v|L4lMrmk>z+&3 z3aNT^&#@_7SkFm#y3t%$eFKje{xj{6S8xjt$;kiun`E`TX(;$lFAP zfVO_(1pMG#@)B?d>_wiM?aL+h%#k*K=8&}|Z+2^Wmc)hPk5wQe{N?GG1wawnKlnyk zTikA~$?YnTYj*Q{$W1I&;22tSOdc08=lZIV%^Dd$vcHC=D9slvg@WVoGmKEF7Al20 zL!D&BX-S&n0!Iu@5)Ol?CqfB-9*W(gOPr;_&;jTJ-<5X}L-+YkQ+f?+Ua)hIK`01LUQfge(G z(o8(eadht&u@xr)4N zm4Ydt?{x_oUjWR6G)Tf`r%^}}9&llE8Uzys=IoRP&Oj9n4D0MP1dnf&s8Jg8BHs&J zlAeBPbvZx2G!86T5p;{yxUR>m)jaPhMZ2dkC53Y6B(@S}R#sOluSqWeKB`eJ8@h@1 zI&FP5x*2gxl;nwCY*Nekxl$^vuV1~&bWv9K9eFhqY{Pb5&4k*}?$z7`Z4hdiqs9={ zXH#-HH_w!ZAFfnQOKurP5E;mzsWy<@ZT2%mX#YKe0$ESS!Y2q>+jfj|mOioA{m0!O zrY`&rTK_+Sh0P0N$>i-qFaOV?rHyU5MsoEiN32OA&ys7aWb*C+dYk+tujxw5O+(Sw zLgg~(D$Px`4Z~!)EdATr5!-EsFwLZboCLADP<|X7UOvIJl@oQbl&`LsD|vo^>;HX> z6w#-BGxkSa#QUfUFdzS?w)cc9Tp{arLZ&DD1r#`z!4S?QPN#nLs%ft4G={?X!wkaW z$G!&(d@%HxmnbSr3%RHUtzbct5ET{m`okIgN-$UjIdY*54_TN46()~t0`5zBq!2hD z+w1qy3X9p z-@iBDamu|zvyV=MJYJOJGAHX+(}0*aIMzZ|)9A1zeTWuoNu*2dj{+PQ)e}Ux-b_-mGajTbt~miP+?1Y$9$NFmM^Gt6ZD&3ahic z6t%zTa5m+E#r8o~bMv^c7g3Ts(!JDu43-h`faO6klz=~LBW=mF8)>)`*lo`?)Mwti=QQI?&I0I>0R*WUhpcL0bJyzjw5(3Rc zGtfrt;H8D=z=T6{Ebbag-?U2|%)2z_!Cep2B=VN-`MqjSv^O}qt5?%JspvweJK3$^ z5k>qEd;$saF<_On%(N@U6=o4a*34eFtg%UsQ^?cE&$t;ePP|-0j$Ado7dqkl!;LZy znya9>Etku+jR?Dk42L5Pa|2-Nu3Zz~oX_i`r{U)Dn0p7-gi+ZJYjIT=oblV6G;gIX zYhn8StvM=~vu3cSU!{I%=2h(4FQY8~#g{rdK8qdv)%f^${FPT`zGy20bOqE3==mv37cs3QAkez78=;T3FpjoDJ=|Ki&k9KSo!Bf{Q4RAa2teoCjzWRG& z4~)lHe_JUl?}@!}Ja%GJQH3-;TNY}mlmLzLu{3_E-*5Z_8r|sM$}bPB?TZLLm|F&qOj^Gl#n4;p1X$ab2@T*YJ>BeOlCT3fo6#koZe`DKWyS3&_*4TP!@L>;&!W+RlhOB&kh@!Xz1 zp{EQCi6cc7ua1zppV<5E57Dt2@?WU#ucG_{awi?e9VOv}yxHP^3w^Dd9A)^K)EPYR7 zGTJ_l8&a6t3@E&1@_ubw+|7OJ#mgCh&jC}$q7likjR#L(jby4i2ItfP3Hs`3o{~Z- z4Q)h#)~X0sN0R zj;@L^dGIv-NY;Io-zA(h1p7LY(EK7Z*-aFA23Q?A`(d!1HsK6yB#Mys0z1xLz&p}p znaz&FmDnAhpf%p{S?OJ@$lgWXhy}dkv-I$f)0*=5EaXw7>siW!9{nt>h1fk_^8QkJ zCbh;_PT~zGnWEi*J2y1rJv~R7F5*Kc$_S%;sQD%gYx9lbYJ7kYzjqNe@RDL6FIQ0UXzrbKZ$ccM#Rz^@E$noz~GDll!Yg;|D{@1&`v51|9b5u;<0?MLb*89 zTdQnkLQr6_Yu6eZSU3Wnpq1nh$`}^kHorOXRQvm4B+7bYL)R7IjYa9FZCilIUClAR zDG9~Y?Lo>G(cwa4znr&VSj+3=0u=U>l++*Id{EVjW@UZdY`Ed2AyH0NJgUc?0Jb~#F$>wZ@fLtV(mQ1KOaUmsER8} zx5yP8p9JHptH`#o)llO5?Hxi|y%ePXXD|{eGzv+~PCc8WVTWhH$S#p`0reZW6tfM? z#brzubob5toKXC+(XpAandveA#NMR| z%Txupc(VP5Rk8TAUxB;2M@IY;6OtVp+nO&Ut@5Npo6C|+7ogYZ8e8n@wKHYD##ehQ zn8Pzpwfl;d#T!POXs{bZYao}cLRx4z2t)b&Ji0n6Osc){+_^W_7SDMr&^k-zP45o| z-+z-?`CQ<>gTHj(aY>S!vVCzbPYdzNge_?(0yZgDAdZ#>axx?d5=J0iv-`=O-=TYQeX0<3gx9Iy*6zMm+16u?WTG(Ml0QWNT4<2JH`yAJ zRYOkYj*hSHSJssMxMF#7hMfG5bB{kh`|;Vw9~Y5%2dubzS(y~_dCO9m3~5=pNKpez zfdK?T3slSdFJ0PSE*_E-2zkv4LSX8p`&f5KhPc60Ls<)@dYoY=BBlO8nghE9{vBLW?(*y|C zZf_lKf>rmI==X^^eJIa-H#6pIRRgtYp%jYqr{)l9Nnt+r@T4I0T-L|lRhjeQ%Nl%+PB zD5V(T-qNzHs@oxnk6yeuic7^t5XbG`jq=mXXvYly&M~b_OB3JA?^9Zcs49~xMdq4M zBXWhmm(`4okr_a&@JKy&O>B#ve?fYkbg%S)B-vIY>MX`|%g?pfliNCPU(dplgMHfq z-#(Vx@3Xe;==^LLY3lA!XJ^+vV%-~Xq6?NhtOIllo>_*Y6R^y~vcJE(n=Zh5gZ7rX z@D}lNr7)2qo;Gonpu5ML#|Ew{otP*ka0gwNq#k<|;dMot_%WEbc1ioCi=NyFW!-%dLVX z&oVPPE8`O`RVabuK3Y?H7eb*DrgcUCCMC*il6vn!N~rPAXy`!q-cHZmPp4ssmhuur zq++i~Zp(W+Np0#z>5_DZv?{$xdK_Bn)6%=8ACg`~-b)D%=R?i*1kIlh9l~ZUV1v=x|^g&1L z63`vsWJ;>f&wVA7R6Is|bY}yz|Z5 zO-B5&Wy+X$r5otn=V|}%LZK7QuT&E{ zNN1Jpo~d1Y>Zyyvu>~W8j!Y4WCdVN7 z^sk8s8b|~BdiR~&*X#R@fB*Oy|7O@B_I%aNF=CqZnuU6FAXY9 znadi!;yR_AT0E(I_V-Rt9!%W-qKo~6YvCTxkKp0|bl{cnwES%9nd! zC@gzF)uq7kX~#3uZd(IL`A0>GU?8V%v3IkX)2|ZutDD(FElKX7)ab(K=t6~azDyH2 z!{5Lwqr`Vhtm2S31_$Y<72-ki`KHE6&WrjX+rAIU{|W?g!kn%eV2NVj-jjrI4!lPF zRSe_ws&0Krbc^6$vC5+e{SA3@+PQnB1ku^nn}!NIWRB*`P<+fI{M6>0uR^9~gt9lc zWZEcdl5Bm~jZN~AT$_eN*rLbGCgdetSr~S#Y8e3GrnI&e@soBqM82cIYM|#tZS#*Q zjT(s@K!Hg1y-Gyz5#TrsDf|NIE#M2Xjkh4%3ZCZ7Q6cPq;F*eb+Qa=H<2WdEnicV^ zuG2xii1$=D5Q;~nAW7<>Nx7}4YwCAU8XkwrOW9uAra*NbU5fJkxt)q7azb7{0ta#y zbG5CZq^@!Ps%9{$wC{5wcg0L%ud2n>(^30e*e?n7ZPOHUEzU9{a+t!lz()~sV5L3m z0qpfO>rT-6g0NpX{ouawbWeX@f6tlAmzgAxsr>hPI`h+a9UWf^baw@PJ^hF;%E!mw zB3XsPty$7AsHlW;g<2>a&pz-|V?V`C_x2tfi^V>7_piiaV+UdUD#O|T$xr^u-JheA z9zmwq4Kl5ms1sNH=-Vd;KrbN(L5KrfT}A6|U0=lmTj^ahnW8spCPrFq*gZ=6exQ^K zk$HHUS>RyW+M_3kkyJB;?xYGiFo%GqSDegZOy2Cj5^rC=&_VR{vje`;wiM!xn) zAs$7B1-22{1*k9au>%#eA+y$^nl@-&*SX;}*&hh1f<}#|eX2>5;s%gadm0@C3ORQU z+ni?HXnJ2Epe5Vp!wrSkMQ%Oi`!V^ufq zlGkbIrIKmZkZYB%PB9Rsp?tza>gM9f9x5QWpjSiIJ5))yxlTp(c6A1op03G(p5FdY ze}7O``+V-64p!!w{RS1gySJ~myQgblWT3|l!1Ho2H4q89`;h2x^WuKL%m#XT`bPVDdIs3& zsNdspxjY{K=&prcm%o2>m;BIDWN>^j-skps+zGNlQj0s2Qdfie22{|GP=qRB@S+tcs&XcNwMvooE&Sewz-$jga ztXDS|rpODjp~F>O8|c^j!&+%;sY-T%gc1!Pb^_#1r>jdvzqGFiaejI{9fHL(D5b`$^a_8?P)D%Uv zqIiMaJM!BUM1#sHZkvCt3T_+M>n9$eK4g--?~)Gi8p#T^Vr}e-`A+KxYKS@w^lRRG zu2WA0wh-pMCjqv(_TKfXY^U!j=>BY`n}7(fTV6wlLQ-d^X1;wn(UJ_zhOxDUVH5%Y z_V288Jg#(swAguo&&aoeIJHmeDim0?OD!Tat-7|EOYNhXNGGY> zcg&A-i-`I*oVcY!{F$AYaKR={m9))%0&<9KroXMP!0wT;ygqy6I^F_PU5Ce0xvd@p zHc#omy-sO}$G`-B6`0^HO%Ozp7U1Q|iRIgw7&@R>Wbn>RUtVr+WW}PyY~3=&+X*Cr zwazlV*3itA;XM?M-3*_VoNaT>^=FzLCYj3hT6u>wE{(IVvaed!4q?)8=s*P&kpD+6 zw}2u?8P++l2C@M-5oIh}0H+P`8-bmWnuX(hNcNzM-D9!z)V}+sM&h}BZyNOIp0T^> zdw;<*7#s84Kxfz~e!%Zc$8!5_j^Twgoi1l4mU17Z_EV%}-U7Gf-bDAkSGW)9#u>@a zevf^f&~KXDzl_>1uwh++;E&UmsJQjzfp!9d7yq4MJs>HgTT zVRU#MsiC2i!`opP!!d{KaXLM+qwPwSvkpDoM<^v8oGBSf@8v}X#a0$Ulj8`_Ue#wLFvHW_;-5Bg%7 zLvW&~W#JSv71Mkh9KtX5oAfE%+FRk^PSboJoC3E#OH%X4#J7+aD9b^<1VB+p=H#3+ zpJMmUh7|+@?;Shbr~@xsG1#rAG?XjWUXyA>!&}-8x5YUD+&V#|qdy)iCtqGK{T@3V zy?BGM%Jf|?Pp(xU6u?dIsGTkgSoZKy13beDFbY=kW;;9eCq9 zTHNyUlGJIBk+#jcg@3~_&d6gvNA?=De^|WarUG{O?eH8RR`~Zo= zA0X-MBJFc@!3JKoe{?y_s&up`Oly*(FVdMWifiF2v*3Y?9Cn@|HoVy=BFCT=SiPU#S$oJ^n}ROHsY?88F3S z#nNk1TxTZ$HaM=IDDf5CeZp5VaVeEp9G+l(jrl0rZJp5Lr4m~EeMXOKr4zKG)?>>G zw)i~=8Ub3IJM3>Ex2q-m(}cA+Cm{r^Nk1lS-D`tqhJF^4V(fQ7_Z>uJEaJ;UjC62z z3&m!gg<*n-%WMG-!3fRb&tx1v@^`TLftQXY5<2|6SN_SH80`)uR&?DvunaU}AQ2c~ zuiV-A9rdN-iTm<-Xq;Cni9q*QqC-(u)cXS6iYia&oEouh%(@AwOK-CiBXk72SZ>(n zs04Hj_aK#uMCl2G%EAnNnQ~7+F~QpA*RYdy z4C|o-!(AFv_U(#mQ&IF$-WwgB9gF1;l@8<=bR7ozz{OZ}xXUMrmLRPeklTQ;x?tOA zThETdBgmPwdgL%Kiw{QSELGk z*Dgt=a&ayQKa;TkkBlc>pmEn2e3jD=K6v`}{6+Xg`^J~HiGRuIk=#~m zY}8yAO;OE&(?lCkkdU6AqbF{zgj9ZOC748MflOtsl{n-EJ%;#l-4t^WwHX1ViYX6x zTMQhrb1sC*$t_8>_Pk6Datos*V4M7ivJ>8l+qG<8LwZTCi1njacdnhFG$OPVdI6H6 zZP!YW7zKfoiL0VeM~aSZWT3wUt6vr~+N1{!h;b~M9-2GpLSYcQ*scw|2+F*cKGf0l zu#FO}?N3=o@Z2CCGlG4XOt#h##-wA_>crC0#Ng=YATGEsII$njn3*z@LVGVQWkz>r zpMxa>`wG)URl2SVp78_Zu_xxD=Canp%%Yug2ptQ_YtTT6qdhJYQDoT$n`8-OBc(Mh zgUw?_C}SsqP-u{=`%jozF;3IWqje*C*)5!&p?XL8(&mOd$<^aMz9U zd2N-z#7l;i9eJLb>^L(C!Ct0-RL8k<>K(Kp&r_2X`5ghgAzMe6(mR+*n}65#3AVR@ zKmoY7r2v>D#-{jYlLU}(y(uDm?^c@u(N18Kg@A~$pwehJ3(Y+>ObQ~f+V+!L2sA`Q zPASxye#_@`xK@6B#pSSf22b63@%*`)E}m!Ap2n~DI8rG`58F-K!oa|P9T*T0($FSJ zD&(N=rl3~cu)xbAeiVV#im;&aUH*qmPR{HHLVax-gtM|_U}x3-HrLcv~# zXL!nyncL?G4MVE%CYaBE`p~TbPk+BBaI3xZ5AQDZ_LgwPs(sGDfu|1yoPG9Av}f0w zcJ<)udquH{vDaLD)+#_k*{o7fw~YHHlg=5FMt;81(jS-KaIWz8)kLDY$>ZwZ)W+@m zZ&f4<+$8eB5twhLxy(A(l0T~iDV(xsPT87{X6Lik-nR3Ru59q)RFqeNeM;o}d-D07 z{&Ju@pHR93z!NtM*ac_f6yHS>DPtR(b6ee(!d^X1}Cz!!)Yz`VWg(6MR{*Us^;iNqn{@+Co`->#{n)}n z;p~i_h$ffDb$xv4(xtPF|90xsspp@6fxT(rBMS=y@$PZ`$?@^Smu^1%D{x`Y^Uptz zb#_6zK%Rm<(5oU8sh7-y^JH2Kc{oXMn-zq#K>J>}uy1nj-pSiOKFu+Z#U+_q%n^4-5^&(vz=?L?<$kXA$!JgzXhap1vdz zmbr8|g+gGEws=~WQF-=yOl9y*F*QCi{Q=$Wj}KnB9gBcP`HUKyOo#BC=T~BCEPeEK z=P7%gigG||*JkX%pQ&M2R!mFfcIWEhtZ&i2EbM+!Fqv z+|&1C-j2bpRcGYG9o}eH<4b)#^4!hO{A}d^C2RGc=u67`oe?JCMc8Tlteoh3iX^c1 zh}J>2<6K4zeZH_AU1lsVoA4_O16kJ0zP!9VKM%{MIPZk8XQOnqrwyQC?RY9ofrL+- zFrnHZI8z;I6b4AMcG@ROjccW4IxFG&{~o5NTf~7U2^__BRpbH^GX<8Du^GTR9fB{F z{q=ACGSJ-`=vB00-t`jgP9b@vXhTjEWtm7oo9zYws`0YU3qY-Nvu3oz@t^ zO}4PfHj#ClJh7U&w2AZ>J^A{RnM)?exqgd7Vs9rr!J>2vd<)w$hAdQY)}GID0~PWm zOAjl-m^&9z@n1lu%;yNVa?(lWD}+f2oFpWbE}&7S%mSUV+UZpttZ&@waXoQ!*Rx(@TMNt(b3iK?U6n3rhx^&do<*SSC!p;gTa3OssZ0ewE^|Sl-||t z*Cr$3M2902>2zw-{=SUHlB(0?bTa3b7wzrEH-$Vr-M#^O)1ccK>(kQx;F1;ecAiVB z?k>=|bxZ`@Bggn`sgn*w=5ve?uTby+gV7&_p*U$;;R(_|r?B&}&n&tk{#n4);56sgfEV4M>v0a?Hp+yaiX(GH~S$ZrQP zyq!G}ou6Geb2+j2>yYbuET$#m!3#^H!-?tL2lGYcw};1;F0xYNUD5f(gQs^-FWwY8 z{$F(cWGtRPuzNZVS1$zP2@SOrA{J7&)K4V?q%E3OS%%IU`msR``& zF^A&=mwnE+CSpq;a5&!kR;TasQtSjwM=t7jbx&W&@Vi4xuD)8R&tt&!v=r=X{46_% zlM;Ja-~o92FRv6QWNWSjS2;Gh05$>|G=H*=3MR9t8wScCinPNthMI2EBnUH@J#^SY zct=q(w<(^tWhtmavgEA|TiB?_}scGQrT(6_Sv`LW)blB8kVTcBb zs7uE6P?u~BEhP^tVX@=Q;JzxH&%(k`uv075inZbfY)h*}g$^*(JQ~09ztvI+PnApb zSEhKBZDp||6p;V8fiB|}CN;_?tC(vQ__LzYvVSG5RSY??f)&L$odXR7{5&n(Q57aT z05$#7(L?$nP+u}{c08R(WE{%5nWJ~zb@W`WFOnEeG}gld7}oe|?d@;x(C1+6HJ*9q znVwUpz6aQoXsMHA8|+njzh<8g}0l^QZPjCJj| zGO^54Lz&o@^mqDqr_i-3wcCGh4V04m_MOkhvZPa{{Qf89Cwy5udLgE7_X;!^mEl~# z)+xhMfc=w@&D*pSmWP#LEJ9IYbndG01nfKnS>^ZbW2;;pp+5>mV#{y?ocyY;KL)pK ziseUIByQicv-^6roS)z7yDn9$iI=x?To=$4Fn!J!rrT04BZE25y85EgKBV8GeHC-X zcm)pD`=Ur5_C=*0Asy-q6d5%^a`6eUF_;I`-X&^fz<2V(25gNj%3ztLW5&wF{HaG~ zVF{q1EN^vDqkbr#U12)DNXd$l5M_%R{54<*0B$;}lR|er+D9NTHy@t7r;e5yI{x)V zG2{&PW;5CcD;-}zUqi6C-nJ;ps2%5Tkd?-P51f;Bfkt#cj|G&ozcQ8F3J>PAmH-E< zC*`>vK8#+1#(G#P6eCK9g5OO#Gf7GA77p&qY7(>(+WI{>T4H0^D$c^4{qv{D?-j=*8#Ut-zVu}}dC!iwv ztg&vQAe-qJAT$htLK}7{QGudHJed(_1#{eAA%}>Q4qI%OQ#P{&All95xkkZZi98rs zn+veN|u<`okfJZL;`z5`Qo=+&`oZHa3><#t&}bJp`m-gzp_(&W|lNUfVqi z;$5mKoox`(ke{R!gc=N)3II1*sxLtdv)7qxim$&sIyeML^3m2&bgOvG6HmYa7^6!hGNOcrXad-HVIS$l_w8x~;^S z;XSZKB2l`J=`9hofqw#rOJx|Qn8WDFSx{*Oqx9yFqX03%qPurTaVhiU$5qYNAk}J2 zXVECXL8FVX)aM*kz3md_-#>k5fSZJ7L+VADYj+jBbLj5udh7>deZeLzBPc zvraKsBLfbpGa&+x1k8F8L)GA7V}X$LAlO7nrcB|Dd7kxJ?4^@2ENS4Ap9}zxO~>o- zS^vAz^Uy;*3JdxpmgM%&2o;5+irA_Yfb^v(yte9^=_gJA(3n>Gk3Bs#&?nbC9^AYF zabh5fxnvK(8LU zw6t_-@8K!!u+O*08w&J}CC2wn_*FUvYU@ca^{sZdm(5OevR5frob1bHl^AI-urY69|QHoe8$2c@?WP6G+KrQ|+ZmtIfQV z&AkHZKwzp)T>CT1Raekp62DZN@#}Yhk9Wd`T$G=gn%X6jf7!ywk5W*q@N4 z*f4qz1W-`SvLI)%5!z@FR-wTFtLT9r&D*erJ>msJ@H0)b@zqgT0TRJ54Imp7d6dnh z(<|xp41?KwVysvko6xk$(d;eRQD!3gUt{A3f^x^59IfWg4mtP(+|EiFA6N9jXcRh} zTl``q6By%EkzGq!Vc*u?sTcx=WKzs5@1>7aEcerP;wLTwh}UZppysze(;Ms^HZh!g zC9WsBx)OT)l^o38HCy-A5&oDLNBS79f@N$b@MMBlP<+wOZ!Aoj;bU)lyaY!J$fJ=<>cN zqLoUN&xHGko9)FpfnsM6Kr9T>m`>L1fujJNIKuuz^vr54^<&Gi2}ttrC02Q)c-xtg^LOM`zy=I0q02LbQ>`a5|YMVWg zHY7f}6=ffIa$2Xza)X4Vggll{vZA7d^dfp{>UCqSv}Q1kNo5XH98wG=WPrrG#6kv9 zebgIZuZL_I3Q09YEhURGHfPf5p=!#qXF3|McD!LOlj!R+O!zL2fxh*=0S8)fUdu!R zy90q^dW0QnJkh5peVe3%WWNvei)7jO$#VrOwu#l{IJqrb$Rt*1ZrIJJumhLi-k^tt z5JocoEAew&Yy-mVJSYS{OT6I90Czc%fJ^)NB!CfjvShld{P& zSiZzMd3=Kh4V;928XuleneO9YRjZ4=>MMl(_#&e&1!#LK*y}&!f*3SC6Cu(JTHi+I zC>XYFC(EfxsxTRm>tqOMLLvaPluR}C5ZnN?Q9lx7dpdm1lfLjr0?hqS$a=VkZqT`j zGe-wu4`|&TZuj${l+z8|NoQyNrAD2u2)&#mTV4nCkC{dAGAXSJkg{+LzYUQI{+`V; zZd(g)=`ym?grLu`T3RzgMElrWz*^#{LL8_qN9#&|*dA>UJsO@pQY0>(bqO$T1$(^4 zvAglb$HGTvsg~l_m-1sf=Px0XB_RyCvlb|!apv*^XU{%xnHA|B9$db5^5nHv^((RNFOX)NerhuR}umyXG>cV3>urb{k9M=z28%!AvAVmIpTfi*|RC z%qgR`sJZ%PEAOnZ&-my<3wHCL7FzcB7Fm9#eyx6aTpex zMaaU-KoO-;WD3w#r7C=1lbQBx#=k+ht(_|}5rr_Rp@gPL2pLtK-iY|(?PUT2g_wOWKaDxr_d+@3Lp7B)3;7_`bI{v?_aI^I#3bm>R^#ur>8pI zK02;n#fzgO-5tVsP4PrpEk0u*uV!Xdr;~%v7(^5g|IH1xT8(=1OVsBL&=<1e|0SBi z&XepISzZSEYs)xN#Xr$aKrfepa@Yj8;1XyEXurfez(;Zk<92~Y7TcnY{Ni{Y*4M5@ zGT_x)%tRQ-{%dshqpPbhi-F1jA$=VnU){~t*{@oNyRu3|Xa+^>pfd+r7WsOW?Tx=b z_Wt+Be&6R0$4^dn#KXqNFNMQbS*LY=zzD}XCU1y``=Xb^N5U29-x$ftwol{Qo3WMz zp#V+W)uM^)!G_irF#4N_UNQ2oYkZvc*s_6xjR^}ypt(Yw@RRu$X!|?GGLAR6Y=AUb zw4~vZfbWv`h5_a~;=l7|{@Zcjx^DTC*}Z0X`v^kqII!l$GZ%kodU$wx_+}dk7UzX( zU?`m)3jFo(bTT>p`gSx}kt!xj-7LtixnN0_(Il?`tPC^EZ+3YfHQ(f!V{Brab+H4qBlueq5}6=<2BObn2NVP*W8R7*XnR6gYStUa$K{oS+QAjs-uV;q zDCF2b=fw-O8#HOi9?qVCB2Wi{dlkLcm|fxQ+)orXcTs4?z+1uiz}bno1gIt`q`67)S(N{&r0 zr*egPm||qPDa4og_r9X9ohg>BVJCzdYgIP+f<%*#Q$lt6p?^8Rc@YqMn+Fq-_fWqG=3fRqPb z0HeDz$z+D27uOYql@z71hMH9q{$OCnuYdLhb0S~~@@ zNQRX?Fi>n0VP%uzbkE<9gv0cMmS%6(M+S|N!R`)VxCTcI{-Yx}i)QUe#rfYwv*bI& zxcCp>quHwXJueWEy1b+pIIaAqep4C38Ec_ti%KzYkvbhv~X&A@00yTtrY7EpY#G?Gx8)MCg zZuf~LsZR#N;lRh~tM~g4wUtEZOBg9UNIZ;^q7X(YgxMsoU|1J&6o-h_%$cS5-rqB4 z_Qsb^3;Q+kjIa-1NubCebv8Fov@%*CG$Zm@NGPnhU(3(0YLmnH;Yl*$ixnEBHHi8< zJmaX<95cfe_!GEMv_2!xchHdL?9spQ9rL5rqF&U0oA}MeofuNHQhsrnc+#nF$B>eS zh~}d%Zl@gxs-gfUp**s0_gXn1swhy@Hrgb^+$CEi(@+Egnv) z10#t&iNt`Kbm^0g(xk4x^o#X+C((S*5kvRM_aoi%ellTsmT1{LkD_H=JF88D zba^nJuMjEojw1YB-7H?#brLW~NBTUQX5lWvrVw&Ro55T&YiNZe$s&C_!d9^I`mL1r z%R>vwoy+-~M{Jyh0iG4rUUan$|h&9#KC%7I!4z&k@rkmt}Xv<=dmu zRJ)8jLqcwOlZ-n6mc}HkQqcJLiN%TZq(0s~adc>=H`o>KkS}YQ+i6^^=JQwbSFYsq zmgxJV<3>Rn8W;{bC+|Ai$7SD*&!+S9nZ%_8Z0xuXb!N~^M)DFH504h2Ynyz5eP+?2 z&}CNZ@Ff)Z_jPP&dDz!ruWU{yrkMddE6d9(puPk01&!*~gt!rvb=WV9@(u@K z;}uf2TQ$a?b8>UP(i*quqg3jUiXl13KB`hKLvL&^hZP_$%OosA<6oKU5mv=gXpf39 zl?l}_ODb+vh6%4}eOSKXhM4{P7?t2Z31^sL$A&&m_>a#?ZYm4Q7HWSPdrf*I_LF?` zz3}m}BTy6Go=r&;VZ|zsJQA~i>=EH$b4)@;k1z?7i?JeY=#DCbve|b)@u5I)(F%Vk zx$Jy}=sIN2$ZZL;xE^xgF4I?$pjxf10=hD*tQzaas&*C5mEh!#=>TpBjdYZnLTgrp z2enmWOq_21B%>9E@TL&~fUtxRWCJH0I-8mxUx&;IS9b(Ic2MC(I5Ip{%Fn zjEtPfN5`IA(<+iZHhcAOW)3BD+JWxzo?8}=+;!KHqx>{*i&L3}V_;te?fS!z+8rc6 zqLzYf#96?PPmS%+p`V~Ndk<|IzeyX3o-^RN8h66{f`2CLA$6pfPv zs#$325Z3YQ`WJ7A)nJE7>o>$Umw?_DfMg1+Di(pcU>vgIYCcEpri1*sQasWp3Mo6N zwId%EqdmC$5sJb|cZ(4x(Jt=Kn|J@E9o@4gRhZ7oI36)23qu+Z4`n!Chw}!WC(n|4 zxdLZhR_wFCu(0#9TjLZJc*J<@;b0mAz0wLs$O=TOK1AzJ?rp5^o#>xQ97@deH~xlc zDAF*5kSZ4@z^7|@V!}Vu*Ei#D{7JEhE~k>aNsl{VKR|ZbsOR;=bRZ+u&xaN;=L(^j z_*_;-?Vij6qoaFnx#e-?4jfndNexM#sgb)a>t&8YqoJuUv~f15X&T4n_$9FMg*I-KL1Mm* zr$!oCqO2Us236`p^UVq5$ld9$PrnJ4T}PT;qDOX3e?48r)!qMr2J-Dvv`pj!WKA#F zr9U%r_mMpl_wAYZhmpJcDZvj;>^XAxNaJ@${sDKG$&+;1(u41peGREpnSNdMsZE2C z4GI6&kWITT-j1*-(}*EDX(8LFfYKuV)&w@!ZT8gC;qRyDlGK({_WC(F`2?oo zWVT&?Kd;Ws!7qfrZF6nZ;j;acTteQmMd`q7;=bOy(zJDzNn0~l*6T0_ZI^3B*EeYf zqM~MCn>gri^%sr}4IL}^_mwxrSwA}MIe5@BeKh^+n`5~<1Pknbl4}X}esW8Y^^Yz2 z8_2I-6eVwMi0CS6FGjZa0~hRcvsq|z>{-G0`zB7H=Ba8vAL@DYn|p$YDuGBefT^8G)f!ONq;$9nhd>76-?H=ebn-5XS@ z)VC`Uhfm(A5a5EbL&hsWW0l+OQ^zHVp<;?Gi1}8&Uhd4ufa+7buyp3KvTXsF6v^lS zNpb<8VV1WqNUIF|`|pM_T=)C?uUn!Ig<{Gj%%Y5|_;_Oba#cH#z3XhXjZQRYcum@& zjD%Kskb1`u@tBrQHIqe_Z5Vkuk8PMbpGb52dmN|Ow>+La7@!Ug`6gdK=}UxR9~@}! zW5bPaCCud&Q>pwYKNab5_Z;Z$J<#j!9pKO0^}@25fIF^=9I+L@1e3pBJ)o68gJCDM z?duQdtX6q=`*&qs6_l2@#dr<3EM(eYi~I(cR$3bnDgpuS#H4Ht_MOVtri3VSOubNZ_+yGre>HIk6!jWZKGt47N{z}_ zYbB)@i&#FXO^;zmdhH=kT9nX`{7^-r028#m=@hiy!?@7Vc<*xF+JGX!D3*-7kIat6 zqsja-)0?|+9?G{@+DjCyPfC&frEDjdl{v5ydWsVTq9S`hW-Nr;$*Q?rB+;9h`uixr zG|mnTcsqUyj!ZavkEb&p4&e=lr?q%&Xbw)tq5$7G+v6E`x_^qF;a44=M6X+PNB*G5U*eZeAZUYZ9)T6o1%0HEh|a&YA2V; z0yPir_9X7&t`jK*w|VP;(M&zz^zUCsz5VL#&uI^y1~e>E9kFYWQ^gY2mta4mhaY>nb&L_S8j;0~b$5{JO70hxq17ymNd? zi77XUG{}Ap97XQw3+=!CvvLnUaPg_mdGN6B=mwK8V`%D7&(Cf<|6tqJC`Lk==3_X~ z@9|_Zp!<|9Kch78cu>YFT5rMfR<>rYnQX1GQA^D-Kc0i-vZjL|!^}xEUzFM3vX8aW zqvS$z!7ZcPS6T+XJrw%%bS~tF4{MqNSO+e$_TJv+$<=p4GU{BMrJ;ZX|$d5GG+Ljo4ob zKga%7?)05L4#3amaK=76TPZYwDRd~+VcJ(*`^{ztWxa&eE|ZVdC-T#V477` zh0f*R`{f+?Sz*V+E*maEYzEto||3@-FbC%j|b*0*T}%WK~FH%(<29K zD+yyreM>Oma{8j_&Png^g`%Fze)&skoCSiZLAkRlHAu5I5V>rfv_~3^wsz+r)hy{| zm7FY8!@MQeV%7Na{gKR2fCc(u{#}u!g%h8%Dt3xwTsOv-Gm$3(Lw(7>z|_=fh1Z6{ z#b1&j1K_j#=w@5G!mwv&t16~w_;<}8-fB_BmNjjKelJEuiz+fjvH1}zzRM8Fp4{7* zqUSg(TC1SrvMFMRymX|uSnNH*^iol`t<7y?!TvD62z}G`f~0&RIE&}qJB1D}LMCGL za57z2iq&;7eO>1{{O?61r!*_urYB&j1+CsLlPI^v8M9Jf1cZu_KBkp4R*v>vSvHL2 zD}7Ozfr*|JEbO8yeWYW8)4MxLrT<>Y0tbd-ZWR2d8eoT|a%gg;T}#wfbhO#w;v2kEm@JGuAYsSVjdG z-kF`xe!c}>rGUD&%1sOEx*pADkF+8^>1bOjL{VRBqPUOZo2bBe z3`cP)Bnl=+wz6@{;7oeGtJjwp(6cjLhhc19{E^e)y^l<=K-ZjeptnEle!#h5IQM$e zU7bsP16nq?C!AZH>e=NTn=m^Yf5&=);r_19fA$K#exwtW0ty5?ZRyLiybh2Er3xUK z9w-5Vt8U>0L zmEghIhIEiTTq6zwP4Q>WHn_tq3EjCsJrOD^I0PFuPO@Ec$htNJ}qxsy%drn39I{DE4@*mvItH07mIrri^msZ$1dG- zbT7OA_~NnLV3p-vR3(H-pbf&qzR5{n$~Q6T8xCh8W$gw~QwITJ zX|2N-P-7vO_LmfO*&mTdM&vMxV3PhYK7vcwpM*J7uY|hqK*I8lZoFMlee{!j zs|)!YpXe#H1ra1C?II~C#{#f@VH6RQoGK~vHc>FOw#w3TrywmoV(czew% zt%xyycjh9@p*`sZ<9(E_4j@W_j!qa^zD};`8>t~(ABub8s;&Xtr+y{&`7(**PStyRC)+^Lhj+y6z}u5I## zT+|eN?(66KCzS2*4%yZr+xvFRwu#L7iWDH}0{JOG8?#**p%uskECt2 z04bpqsp^WNug;$6>P2>K@lveT4peG2C{3)`gbq10J%^3-Hq$N-#+N)>ag zP#7~q+h$|sQlpZGNtcp^0Xv6AlD$y!w z4qMni5-yg6_te}+V&~nB-#O~m-RFTO=>N)U`|D;)xtMY9bF&xjH6)>K5w&i_!l#ze zfls~8x67|CF0L*<-TnpHR3>vglUdy1L+%_Qv>@jLSvx|gTo59JW>tz1S`L*;p)wc? zu7*k+%>)ivjc*%uJXbdO9cy&A;MdS?V|1ZNEfu0%LIt$yRC8SZo7oosPa5Cnm~a9A znVf6xJ+c`Lu(EGl26hmpjrHc9(FP3oZ$1vo&HQY9;xX`cSZaAY+FV1X?O5gNS1K9r zVNgz9HWc)*2Z^=xA-bHuY}azMUzL_O4HRWO9$}_Nh**1p=>+x0N zj5<6jBNC4=#Zg(C5Kl&lk};o?=OH@31@^DrEc;ODWZn;K$ip)W*hNb~%cA5q_JoVP)GJa_0y-th^;UP6dq4K(NI09k9|>OKL&Rw_9a@ zvMnbRRP}F}Se%adK~$%ifXE$t)*rdYZNbOAXZm2i6zBl9tiuNqK;yD_V2f$ z;{?vzBl(b1QP4O7Bw7lZQf=t9jZy{vSk0_{;6C%FbLUED&q`$5Jx;TIhI$s1k#iSK zh%<8T<&<$&2K5uPWiv98o=vk42ExR&1g-+EGwcimuR0t*)c=WeIFe3BI$an2aN2*N z(;dOi)qkf_p2Pj`M0JelVzH==>j{pY;N$%*0MoM?G$x4w1>wcCx2aTZU7 z?+B;5Bf{*x%8htw4Kul>B`=8c_cWZheYeic=tqvmGeN9}lS$lj{D-2}t@) zZ4~6AsyZ>j7qup4+8*IS#3bTliU>-C(l2hzQK`k@Ol^lK4@8Me?IV*Lu#lJ#D1tN} z8WR&Cc&7gYT>5W|GdsUc8lNCvfK4d{$Z>%4xCU>lDAg@kfK*I+XX>FJ-m~Y2A4dWW0oQ>aa<>x2F^7?2xR7$xyh-~0M#i2 zf|Y0#-q+gV=t%*jh25mIODaway6~H?G|CK^JZP+y4G@AEFm=HkTfDjod(zdbw(UXP zLUBm9tb$~+hH3+aR&1XVc8tcOd|k0kq_79naEF@%9bE&9sa600h2XW@>`~&-XD#By zwx`cxMnc~+nFJoCHKH2-m}kN>tSAb&ls-fRrO+?8>qUhOq}`08W!Le~yfnowp1R0B zL`nP*^`?6c4`$Ls*C@ApYVzy2YO^3NXYk91yLmec1DWTHlXoxjBKB}h8?Yc{Hcrs*9wD9`pNl~C$fgzlsD9}|7p z;@|&}-k6X{w?;TCklzB1#BNx)uj}C#F9W3TE5*LM58e^IgB^?B5#^x54FD8=@Wau| zvynaKo#ztg&Lz($Bq1LW)mESbJ#BfSEv*a-Q|N`pgiKilGJ6GcHTYX>2pOM*>=KYI zeiq8{=I8*B8D}mBk{uV=FZ9NG8!vuE%LAzK<0l*c6>gt;@br;_KNt@T zO+v{ob|iuio*o}f3=A$^5Nm~`7`*mrt}BGvzkyZze{r8`9t!me)$w|}{=c+}mtGPo z<1Nkl_mE_~?r;$;9RW&mRyx_Tivfe&Bve8M)Q3b*&WErm+FoySBf`FF*%w&H_7T+b>8%>St65lx< zTuz~Np4B!h_KM`Iu*$|8UuC6D5jTypj=%38N8=W4Rc+(}Q5)L711d`nc|8@h379Ci z0ykTk-6SWpgxmrbVLCSk7xNAb3ScYwM_TeJ2|1sg?=)I-vbJVi$M zHkA(cm*tM_U$zD=D`kU8JH6%B91GNj=C7Zl1R^A3hp&vG8tUIRKN_b}Hnn{H?CRCn zdkV4Vw$H9ojlH`N+abet3ps`?C+X~n5zUflOD544*v_%{M(;jSEasPcAA}`N2khpt z*&}xwrJ}K%kHrox=abR6bw(1Ri+iLnj}i+rY+)N z^whSYi8ci#V%4n?iQo%ah&r7X7m>A$6e0Fb1#Uu?p=ubcNL+_~H{{vNZLtag@uBsy z^_N!$i%&Z@Arci@;{`}3Lki8zK^fM>oWgi#VHnR9U_IY-B$1(6>FC=x;m~!* z#2)|RkwyO=>!5ca6`O)7aVnM?=w%XD9B4gWMOWk=eJBO0jvg5fygg72so12`IT=gg zXw2Zdce4%l_fp8R|M6tA9x$lQAkM)&(o8b@YngdxdV4=VayFLe3*KhjlDU|O`FqQ* zfQ+Ym{jtQw%q_+({XL1;*%2Xj7`3SYLiLmIL`LV1w3-Uqp?U!Gq0Pcl5e|%&MP|a< z=0%(x2gmS82IM4@P^m%Sn_a93RQEOrMB727Cyyjk_B{`Q_w{;yfH;M5|1I0Fcx*4$LTN`GZ+2Q-3h@OXj{Yb)`5LP>m&+Aq8xS*V$|*H@PKc3iWkBDN!8eiJ6?c77Hdzi~5$Bl=I(O>;A5uQLW&9l$JaFNz2F)eM?S+Rzt5aiTDy$)pbQ_)R;sSBicth z$SQ&26=s{$kJ>b6Ceq~LhmEy00Q)H1Ynrn#`T7% zGW;snbY+v*O{k21KBm6e<)&6HixL}EN^F+cU=#5tx%YYiM>}f16+2}er8m&p?l1iA z?-pX^a!ZT@(~gFLO&kBe1#JPYY^G1SUoh}A?NQa))Y+doJ4)UDm0)*wu=~qDbM|Lg zk^27rZahQM814l#MP;=m)wUXgo3(KKHPNIfhb#6nnvW*J{<8qAbk-kE3?!2Sa99Fk zRJ3DLjeP}SlN=a&qmew#tjI>4Aqd6R zcbV4UG#84vFP%wwd`B$t)A?S!(o1W4>s=&WAl%qVC)d+hNbw$-N%8#jV(8%P?o4L) z?7_Lchj$H5PaY}^%^aGTI5d;JacN0%G}9O$s&vW8u`T3O1~*DD=1|pu?f##gblAEe z$Mod9q9?+-chswg6S^`#Iqg`PJs4V?&d1}2_s&ta59#B3CPN8rFcccp5~0aGL zIy5s>I5asu7+qSrF^h$fzUTe}HVz}mNp1PCO8hE!^)0BaAttAC3CORV>qp_7w+pBwTT-ZzJe);wBdxvOmIz93qr_=K%=s@b;G+Os@ zP8jh>$m(QHT9EcY{uY*i+YT1uMpbRrLK<+x8443fL7rqD%wlf78Mqr!`N8l)!byT+ z@6a)H=OPmPx=DeTxjPqQ>IQi{ zUH|jc+68{Wb!9^yKhaasPCNJ-6a89Fm z=`ljDS0UJ%^oUaM4q|J64t71R7~CB3dKIumK64G+=LE~Vc$o&a>%A|Zwq zah1q%`8=KZRXX#ULAh9pqr8z-|G30-CD1{XtMmY9R9Lj)b*vSUX6$ zu)g3R#PCf)g$;K{qsgvh^nIGfRw<)4iC=W9+}thbLN>){^Ti4U`?pDi?i4Oq8oxSe z83u_4fz)Vtv}jHKQW$$=j!B8-zMFTW;ASB>q!;^PP< zw^VYTKhuneT%)gy7P2bI5$dZ(y>6_QiV)7IYGPfQ@Qx<8^&_bPJ!B`_8jNzY?9p3q?G6!)-L(*V$2;E9Pn8S#+0VE*1(O9Ay0%A)0IJKn zh35f4W&Q7)Nl2Y`?OImWVJSv$DCt(6Z<;DPUl@t=j>qjx$a$^!M%yZ-eBjMV@~HWPZiHS zipQVi+R4G#pfdhKaAEYEGOobytz+Zk>!TyVg|&s?$fyQq24g=D=f?5SY}XljrKp8C zf_M^v{FX>93}%uq$G&`WRksOJ)azGH!nwwJr6Q{RJdi3}V`b5ruZ2UBriErXK1EL7tbWAjS1{ zCJFgrF(^-76zIJ|&Rx{9IKOZ`i~F|Rm$sVS3%TptTi)~h#gV5^8sHWsWN9R4IgzQV zjvWD)+2y`?NbT)|SdgK3@6Dgw4uAO<`T%>qudf$xyqWp717nsLFM~rO4tgt_M5y&l zK>3C7Ph+NtR1MB_q9?9H>fv)%HXyh$Y{S2j-$G~;2iy2ZjZQO7)Z_O`_nT8-$4P(kYYThWg5|C zg~XBtKKF8YAq$nkb{6)Eu;30HqTm&Nu&dxolzDV>+tqYIB;VUbFHK(Yp4d|F!kLAI z(Mb3mtxx$pQCLsLmco(I1-RV%KSUe7avU#zU*s&d-k$v3rdm>eBn4Zab-o3z9s+_~ zutBu(kjRDe>co-`6r8>^an-gz+#vreTv<+?6W*g!7=>c$sCR;g0@QU;K24+DR_#M! z2gD9R?@-(f*kLNDZ%~-T^|@`R9h4{hv4%r}JP%4Y2uROrh|4QwIS7+v9)JMwFjFYZ z!Elqu9aOWyA#{I5C7*nJ1esbc+D{x;&c4_$4*O1H8<#4B6PCxUyWY!OtT#hcU zbI|1)baZq%;LzFclpWr++YWepSoNPAO?06RTl%=Y*Kd>2DhvM9CeT~ut?tz8rU{(W zznKl9lgIWV`ZpxS1q>7=D6+{-#bggq5(S+o33h zF~}t)`4}W$7l?sLHPdKE=a{~gKqzVzW4;}P;nryaoUq@AbDZ5M%g(2`EJ0;#enW#l z<=IDH177!GR-|65+}!wews=YOE2OWvy_VChq_$``S#fO})n<`%kX`T{ze!^mQk4Mq z3IMc-{S;u8m6hVk!pDnzLqPL)Hok#t)+5#!m4);?EhGf4?7^};c?fu)L$LzzK852N z`@!88G3v<0-LZ+IOTY~s9lrqtx8G-kdS{!*fraL{h1=~~>AO55GK%HPyP}5xtf0;M z%ucPFygLaA-8Pg_Nr}UK`JqE~chrj@m<3;aa0oAMfYMySsCy-*W6Ll=a$AGzdaV@! zrp_bG66S(mEwuhYHPrl1)9B9^BeDG-OOVWj7M-n$ml`GE;G4FJm~0v>d4i9qp@g)b zG@_tq$$D@~rVQJ|g=`_wEQfrxU>Reu>Ki6fhSzJPCfwAXuptq@&VlpbO@*7W_To^CDY-NcFH*Rj4oAgbIZatfBny76mxO2X>?ZFSCT( z6?1yh-9C@Qy~o2meI02y<8mk1&X+PR8&=W-MgB499&mZ)+>YK(ch=(>mE~TCC+Beu zxOcknd*aYviP+KbB>ujn8{k-&skX+So3o8jKZRlF59DH_Q%h*Ugc|w{N{H2<`H#k; z)clLZGyABFKzAby>*Eg0$8Bprw?`KYAdh3yb$drg_X^m8hQ6-r+V72?Ve*;Ln{Rm> za0MSlT)~E<(;uXb6Pf9dL>=o+=q4#^fjNeEn z7bY7W1uIDg{AN%xsyKK6&5%{MnUfI>BJ)5Zk+*-Zw$0CmiN=h1;g0=V=WDY2zQVrF zUVuH+%W>pXLWq^Ec>cJ}a#YzT9(pKw>#YyKz+TlOx89n3=ppvP3ok@3Uw)Tn{k`k* z<>(79aJpjHLMk7WMyVYrDT~#2D_n#M0LFY!$Osod^7-d=`1CsH6k~=FJDz~i>&;JI zz>rEB+j#zVoat}>!6W?Qk?s-1X&d?Z3rom=F9}G?orFPwHkOCs%eAoJoeF&{%2{pg zDhzL-J2HjV-J5P_Wpf~)!`qt}L#zrP80L;f(bV+7Kou@&fq|li*SbL$pd{o=mwMR+ zlz)Qe^ftcfXsm16MDL|bazdedaF6Y?Zj%1LUVbrR0$Ej1@8gTg0THvUxDiz?1pm5X ztQm@>IyW@D`(y|n%q z8BV_L^Upv3`RCtHXR7@@06>H*?n+T3JLIQm{|_(Y?QHRRy#J$g;j8q}Q?!;mn`r6~ z^z6Z%><0rt2q;<9q^YTP3VTD>i+PsM=S{t|4XNGOn4br>3I0BV*z0YmZ=>GBM&^YT3369t;$K+U8( z55^W=T!zOD=LI_oz2O97@h>Qc?d)a+EX7hhCLn#l=Z*py&hE|wwH#s&w1 zp>Up(%SO`VX<9O;Jf+&Cyql@Im85-+Nms5E^)f0V`Uh6S{UC;G)L3xclr+-O!!2qq3$`$r1!(X&Oek-w2)x1pt`*aG;2uD|8g+Lh8rKpX^Q^n$ zo?ATw9!_$+@3sMYB!%1Cpjo~z5Rd=5!`0z?cSpy+i@1$)8|ol$G3o0>_-jKl1E#oK z=70!7FeHYo2K`LF({2vn1pRn|Qx(`tY}|FMWsE}+$OYK%#9p~ScItx{$BW@d2PWPy z`Uch!d*uzW(?9?4tA>FlVK9!1zG)%?t)p2>1843V8@un!z@>}C6`1!P?pV3qd-&dY z7AKD2dllP=zl&9T|02JA{+&o94-s|orxsJ49tmJ?0X0!7M08+jR8WNaJlfRci_3M?kFG;=e- zaL_cFY0^8emwDth9(PSc^^?}vDAo|6N~CK!=FwLAwN|Z*vt7AfMEJkWessNdO4gU} zqlnalFvDfZo?;HDqrD_gu*Td1EHZiQTgD*)YjN@~?X+zxR6Ga8Xll_|Su?TK=#j>U z2!{j)VvtPMNxW<7pkc5~E~sHu;TrbD1~fI?z9zvI27n^S1j+D%%=O^eHB!P!{|@4P z5)DQ94|2SDs*)h;r1FG92P=Yq%CSlbHOt-aRy&ku;60ghf9DWl1#v@@?)Ru2-SQn_ zzhlhny&9pkEezrTN?S%k)K&;{v>Jl8a|3if+u+I7TIn~m64QBFV)FkAoD*@Au)>W> zwr;I5&(Bk#d6BbQa`bpGOZI9{f5)m{c6PA`I(&|qj^G(wy;nTT^g#CuJstP?<<6ct z+1C+udLIlHX}#&fPI_62cVc17C%Jx>7FMC})G%B6*$oX@LOfft+J&GiGa#`|wxc z{-WfexgrVw42HlOGq{>lOp$1L8>WgC&6%f*X6(bo*E6%ZEBzb#3W%6)_2l`-8#v-((VPVS7hoi*L6GaJLsx-B-%2(w>XWr8R9j+TYg+yrqB-YZM~NsI{;PP7e00xBZK=k+=wtjtK@n!|2IUD2FX`{@WbZdpouGH5H5Dw9#k?-euUey{(_8OeOaw{Kh>NP0byjN^k*_IT8t@6l&Z zn}gwkPyb3VFqxe^{no*OnI-Q&gqm~Z2GsF=zN8})@pwNNZ9E-y&-L_QJhn9M8!vb# zdoLba)RqFl@qPcF*Aa=F-r#0C3ho=5l{wVp7GsK1u}E8{nN&s8oH?)m?QMF)=L|}nfHh5rUrlfO?6#wy&%a5bP5lA(U=EsN)uaqV0F!>8@z*k$AXMtQ zW=mE$h5*qDS#I#`xlUAYCPjDej>2+uyRhJu#b{)4F%mrk!T7-Mo9W?}?M+y)EG24; zBuM@Eo+$fXa@f{zp=}IJ|Ln-Dp#=wmKqzUwn@vv5*;I6wswR6wJy?d+zlf^2KP1T+ zai=@a6k=>MS~kxVPFuT&R3u3;S`dag&yKo2Ch3X}zgxG_`7s@@=;iHHe?orTTc1Y# z(2n^4Rot^(7KT#VHhCHifqr2Iq)#$sn-?qCeb&-^Sg)zr$8f}@m#^qLdZX)!D=Ue_ zRalCNgq{FxtD@us-AZ>rHxmg6QHe{JZlV}hut?y#mN0SfwulW9Pjl*@a$#j2EVfZI z47O?j(ZNc_`UWYN;Lxa|kR0229@2b;)h!tdC>8T@2mC@I+2hH&vC-@2o*a$`SH~6~ z?Cy5DLfwrYVpkihzpW-Z-{_qk{8U#h=2E-6ea?f_50oc zCHPfOclVR$9vqfu;@axPvG>2JyYVO{$@WD;u4E|I>ATUJ82sU`=VGqEq%=*bh)qiB zqL@QmP@2P*UC2>qH_6fq$o{gnyt1-fNBSN}`)@u%F+R%@v|RXB9TrYR$^wd@*_aF& zbAl%YMigZg7|#+b01Z)6tLWy5-p=c|f*(j{OY#Ng9dzq3#C= z+s$&7@3&ML&;}9Qg@ghuf9TNdhYr0F3kVDT)RfgkI{b5CA0fN-S?ZJrHN zTRj`pVQBa{`Ys&wCU2wMq~2`E(a(jsG_U!g| zhXei7nrBRn29!bB)9L7h`dNZ*+*w*;+~F9cXVR%{>h0!CmVOM#XbAyJss}d zNB0}DOZO!w_ag|Ke_+7Br!`!j1G1&pZ7=8^A4xG z%i##5c6a@_Ga4J6n>uu8sfUs((dlZMWI?$JGueFK(Dd)VZj#v?@k&p)>3(Qm+VX;0%T zdm_3RO}v}%7deI=w{^CorOQI#+POfp%d)+bFo{m~mmsRRLA;GoG^uO;w?qN8x`jmd z%*?-BSUNR6gMD^p{M1t8^NIrdJJ_$K+kl2-+kUMY5v&eNmH`_blYsqgoa3;q13O5M zwt#aF2c60ltjNXWs9`BqZAL(xJZxI;wf*_vTt1lJuhdXPYBB{SbQMy=)XK!m(h8{M zrEGR7V}KR~8ApUeCQIi2frfeYDlobb9GO-)mfkH%>|^l8gM{si!Zi;!gCV*%r#78E z)n-4C`Nv>C80cgDzV~&b^sAFO*>TWU`a#mA!xX83$?zvTg02UBy?B}Rehn3%rek(+ zZWKtXeDn;e+J!HT)M%cN!fCj$qV`ai1mq>qB9RRX1$^MuMt9l4!TZO(yR+j<)9JuK zCZZ(gwGfj%ApcpIHK4A_{s=*on`v+#1fRiiAl@RGfiDjXb~C3Zp4G;V1781X#Q#Se zzuaN*?<9REeFc6VnFqUOAVvr0Hdt*?gdYRfVw_566V>|qu?vMz*4srCR0y7>xUoT+ zT5{82ASl-0@2W}@E z7SPwv-Y*}UK69UZZTgtJA1=SuTe`pG-H$-*-ZmWpQW$my+oT`u{vq#ur$>E*r|}2MO-a1D!0C%iLD(mHvyLA3 zU|o&IGO)f@{^sg8L85^MbtKHT|13aiA^OpGO2nvqvay>Fi^~GiyXk>SPUZP+Ep>9g{sFoYT;*jAl4!UigEd0p~WF`a<)z z#YEfIV{O@+9Nn&Nr;l|w-OjG8e16b1cwWwSIfMRCXR@ zBCA_^E{hJQ(JW+_mlX{|gZkAf1pL1N!Md*EC-J`(51S}X*F^7BX2+bhwjLXG*G}`N zmX=cEW#{Y-<5okh8gQpD;W0Ok{O+d|$)FfrWYq|6>}hi>s>`1*h>j>n!z} zrqfpmha-|xN+hcV?I(?JoO#NJxQQf9S#ZiDt2tY_>r}z&i~-;ALAg7!&>!myu)t98 zWN_%|#930wugvSq3E)8zA7qm(97y&J2A_xoPtN$epJrv!$~V3>eS64rftzcl&x495+rmLqR1LQv%(N zh$EaF$>m1UQ@?`Esj6JXjTtDi5LnrVLZR%)uD)G?Mcw!R1pGZiUa#6W)zy2X%a!y6 z<669%g_)W=mYe=j5D7s@DFdj05NwFDl-SqU*9b|5@F$vRep%ZrMb2f>FvZ*Y0MIhEl?n_-2zHys-pM(VY?nJaW9Gr}gj{}f-+Lu4sa`iJo z=ruD~93It|#uG!S&5$)z10MM1etO#&r0*oBcxc@mdiY4@uU-tfDLW*js8k3Q#?bBhkl;Y!&Bv0l6nY(n}&t$V^y8 zaR#yIEgYZa69nY*w#kXug!MZwV*32Dbzw3#Ir$kI-A6!RB_BG;#+C=cxrN1=LG(uE zr-AeNuGv#CDxaF|I`zAZf2fGwBNHSmf?z3a6r!?~PX~EvJN7^!R$Yyq+{Au+V%2i& za(-0g=jF*6TG@{lxg;vw;NMTS$CQF}JcVZAHcc>08boKfn3~8!)8W{i`d#tE+Tr+J`kk@EH?^N&%J!GU6VOBKcm|f=lFH*buv{z3 zXI2Pig}o-N+5xTjniLI2xulG8u<_z43gnq67MX6&1Ics+79EWNORthm>m#Mo^VSZi z1CWTqr3M-Z2H*WX@ZH}mWnqtdvcQY;lE8Q+^IAojEceMPz&OorT{(DgWjLA$hxTaN z9_46YPm-TW4m8iOHy^s~(D1;Z64Lf)%2Izm*>>EVsegm}88Vom0qji%3ug~*=D=lg zUWGlZ{fB1Xu{8bWna5{lJW67A@4kKP$Q@@FemMSIoE@4?D4rR(^ycZMcfh6p1lPQt zg`bN*ACm+P0BSh&%{mV1z)d{|IH&?$mKV$;QR6|AL&?O5fknNjo23f(s{k#drcul} z)PTSSNw}IqUdu)J%Jz&aSTz@*h6QX)+-8KWcz%mL)j1((`YB<}e@qeJ#tl066$`Qy89rNhRr5meO8 zgcel?IKdnCOff{fp4wyYEDxmRseSvVo3YQvCStMpL_8Kh`Pq}P*ruZ| zz#g56!4aGjkI0fii18KXBk?A2mMzn=?JRY!$D2)=sa#n{NaixO@UVfd*maw>z}oBO zan=+eN<_|Y$8lq2b8-*J{0*I(*R!`D_*KV1A4TExrJ31yirOw(d-GbTNj*}GaG*44 zQaT`=Kz>e^ArvHfedWk?iXYm?0qnrSQfRYnhHR2iP^=#BdQcTgF8X zMX%F+IF!f-2A*{>ueZC~yV4`eJ@%sG#$I07@roo!A$i<~5XIPRvbCf-%kC?=8m6nX z&jlkAe7m(qiCyZxegFR3yE|q4R`Ty@9G_d^7XRcKHX+SWtUX|^i0e^?Nz$6L4VY7f zkiD1ZDjaA#1z6GrCX?K%yl>z9kfsg!Luy|#HV#mJdt&Lt%t)V_$dY?loH-K7S-TI2;YC=X!RJjE|4x5~@G;dEol%(MBbD)!@FpWh!Ne+vB3NoHfgo z5{tUIfV2rItzu%;l;S!RD`}VVR;zq!-;ib(5pA!43>Zoc235O|`JUaW>FJSKC?33w zHWd3c1OLS688ixcWHfCFxo44=1m&ZQCo&lZ8p4F;J$SJ3w}&n#la~*@?xa7gC?{XX za_aD~`nrP$?>&&q9k}u7sK@Q}MxQ3Bl7#&TwqZUu1fY^F5T{(0C2SQ7^OGUdMi+aeLGNIzgH1gpoDrou9L4iI2t! zjLze{O=7mDf}&Z3$O0C_NKQFq6_6%yiyN@(mDLc*68JVxo_EPmAya^P7>3R)bW$Lt zptY(oct&NfF&1_>dSyq4qeq?cyMhi!urusZTS;FBAxm+>#av;I4ru4fJ$ay#zH?r}R7&b_xo zVZ))Gpxf0Y5B4x8$Q09nPvPzLx*h+28ruYp0C)joU}RumU}O%S&KUeFp5Nvx11A#$ z2wZmiYz3ul85sWmV`5-p0dhGQz|sIVe+q^G0C)joU}RumVgLd-2^2vE%m4uQ01N;C z0C)kdlsA?ZI}nAxndJG0)j1@1PvgBuAubi(d(Z+VRmKYbloYoBQZ_N`!PNOq;WPTS zk*T^>x+V2IECZP5w_Xzyg~~*w(&9Oky-tt00ELMWt+zN9vqkI1U})nUof%dB4HOy) zN-#F2Y)|psDQh4+%@AlTQ0d`Sjnd-Vjnj>OAbN3eokFKL2Su;bMgSb?$x3nsuTf8> z9_w=!YTBfSddZQPCAxYq5fcq4B!c5lg3tWtXtEv%{y+IEEFM8{KQ|Mozrc(MXj%-` zMYWsi^=OTVtin_la`lxaE=ML8!tM~M8^q&9clA~l)O(~xgSWhkh(oK6SMET})_z2; zGB#|fQ=mcD)vYF@yNX?7582KO%`nB+Dfsy}&WcI0QAG({-_$K$` z`i7p|QSIaQ8>juJbp5Nl&+3Iui(NVk_H&^_XE5|^EOLn#pU~*$yTE%EW7dpCo_0a_ zhmM}*j%Ph;vyMX6JT)6MN<7u`wMkt@g=G|HiYi>Ar@|8l zbB9+PSGxiky%?ig>z0qub4s|glHm|r8G2u1;k&0ZD5T!(EQC5@} z6-8xHD>M;pbX>Y2gPcLGCl8YM$gh-)N)=_QvR%2QQfdmdu-Z|b zqMp){Xl1m1+C*)Qc1XLbebN)^+4ZLSBK^J5)EH%KHO`r|S=8)jE;Fx~?<~{GVl}W1 z*|J^6o@k%6-#D6+(W&eVcGfyiT-hz;j&hH9`MlQNQtyKI+t1~f_q+Ss{8RqtzzXsN z?Spy2@!(--gbl;l;jZvb_%#xvDC!q2k8a0AoH8yLmy4Um!{gcU&iGCOK0&WP1i=G< z+W-Inz}dD}BetDi?asDs+qP}nwr$(Cb!Qo8S!Ow6d0;JQHLRVj%dHP>g>8zhmTjEv zknN@2Zco^|*yr1i*`GObI{c1Sj=7E#&MZ#U+0Z${xyE_NRmK%^jc^@teRXT@k?vjY z2ky6?Y#zU7tY@|7lUMN0^xgw<13n-Pv7+kzj=-C$uH)2@fY}aLNUQFbQD$#AH))(Dz+5Yi`T?Il1&Ori=@rc z5$THbMEWTgl3UAz<$3Z+`JIwa(Us=PCgrm7TlK0n)amLYt$>DWZM1RPS-qq#>W%e@ z`cD0!k=+1|pfSz3YUVc?vys`&oS5Os*i~tUZ;WrQZ@cfJKa1b%kNW%j*ZQvniU-1h zk%0rjyun~_V(?I?P>2h)2u%u|4ZRB&4Rhg|;a=f+;fvwV5lh5~G>!C&OpI)ZJd6B^ zqS0t{V)Q~RPb?i<7`qiO6|Wax6MvTQC#ELeB}*hLCnqJ3B(JA(r&^>=rt_!KbTnNz zy}WXs%Kr(12SB%>004lqZQHhOySDA*)ke(Owr$(CZQK9OGU>RWsz4!_B{(E_B~%I1 z!ac%|qC%qnB3`sabXQzJ+(Il9PZjSJzm?RKC?#3RJjrg!M`;0RMX6evkuH>8krkG8 zlgVX>Y_IH{e7HOI z&1}sc%@=KVtwl>|-|8mlg1U9OZ~B4ytp2zmpP{XxmqBBo3@?rCj6UNbQ+`uBlgqT& zbi(w;T*BPbtS~P%-#7oUG_*{%9J0K(4z{w^OV;1Ex;BF?W7}){Yj0{FVt3kS+4tLj zI_fw^J3@{Pj(5(^POFo3o^jrD6?e6Fsa&M%pzEpYhg;@m-Migy-TyotJUS2Qx#2DD zm3kL?@B5niG`@gu3sei51X&;$BB2@3TIdq=82SPihU>!Z;Qp`y#^J^AY4{VU4myKz zzyQL41Ixf(a0NU7ul+6kdOz*o?tc(y7!U`h1$m0ckp=y!2`6_0002cY}>YN+vZ_*y*kXcYqq^T&dauK+jjrnJ3vKX zEU*aJ3p@tPf`dRE{0tR;M1lA3ki=o(2>_1)~pM%Rp1)?vpgh&vN$?Rl9vL6{EY4RxffoehRqBQC{^`EXo z52Mpe17Q)$&#A86UM2HJ3K zp0-Lms(sXZ>4JXIC~kBz<{7Ju(D-VWHV2!_Oy7KD6|h=aBds--WF51<#XBUjCu%1q zCN?K-B`YMSCRZeb9aX{XIjo z0J_Xe>Hq-%00ZIxumBhU000000ssI20RRC2002M$E&u=k0C)j>&$D74U=#-6r*`-H zTWfQw?KWJ(-!`ux7n$qG7MyU(a(rIklv&3dIerH7h}scX&5PPm7mY>jnEzHp?f8M4 z6E0g7wUcgH^G;3OKvO|ZUR(0W0}nlwd{R@BQdy+TG%96i(f34^;S~8lt zGM3%*!-9593Koj% w_br9EOCGuxn~fP`n1(P*7u8(==$tl70C)joU}gY=|IG|W3|IgFC`19c07`Fh3;+NC literal 0 HcmV?d00001 diff --git a/sensortoy/sensortoy/platforms/android/assets/www/fonts/fonts.css b/sensortoy/sensortoy/platforms/android/assets/www/fonts/fonts.css index 8096817..1bd87c9 100644 --- a/sensortoy/sensortoy/platforms/android/assets/www/fonts/fonts.css +++ b/sensortoy/sensortoy/platforms/android/assets/www/fonts/fonts.css @@ -1,3 +1,10 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(Material_Icons-normal-400.woff) format('woff'); +} + @font-face { font-family: 'Ubuntu'; font-style: normal; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/index.html b/sensortoy/sensortoy/platforms/android/assets/www/index.html index b663734..10cc4ad 100644 --- a/sensortoy/sensortoy/platforms/android/assets/www/index.html +++ b/sensortoy/sensortoy/platforms/android/assets/www/index.html @@ -1 +1,125 @@ -Sensor Toy
Devices
\ No newline at end of file + + + + + + + + + + + + + + + + + + + + + Sensor Toy + + + +
+
+
+
+
+
+
+ Devices +
+
+ + +
+
+
+ +
+
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_accelerometer.js b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_accelerometer.js new file mode 100644 index 0000000..1c596dc --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_accelerometer.js @@ -0,0 +1,363 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-05-20 + * Time: 10:13 + * + */ +/* global CAPABILITY, inheritsFrom, capabilityManager */ +/* global ble */ +/* jshint browser: true , devel: true*/ + +var CC2650_ACCEL; +CC2650_ACCEL = function(p) { + 'use strict'; + this.name = 'Accelerometer'; + this.deviceID = p.deviceID || null; + this.target = p.target || null; + + this.capabilityID = 'F000AA80-0451-4000-B000-000000000000'; + this.serviceDef = { + service: 'F000AA80-0451-4000-B000-000000000000', + data: 'F000AA81-0451-4000-B000-000000000000', // Read/notify 3 bytes X : Y : Z + notification: 'F0002902-0451-4000-B000-000000000000', + configuration: 'F000AA82-0451-4000-B000-000000000000', // Read/write 1 byte + period: 'F000AA83-0451-4000-B000-000000000000' // Read/write 1 byte Period = [Input*10]ms + }; + this.frames = {}; + + this.$id = {}; + this.$result = {}; + this.data = { + gyro: {x: [], y: [], z: []}, + accel: {x: [], y: [], z: []}, + mag: {x: [], y: [], z: []} + }; + + this.setFrame(); + + this.sensorMpu9250GyroConvert = function(data) { + return (data * 1.0) / (65536 / 500); + }; + + this.sensorMpu9250AccConvert = function(data) { + // Change /2 to match accel range...i.e. 16 g would be /16 + return (data * 1.0) / (32768 / 2); + }; + + this.processData = function(data) { + var a = new Int16Array(data); + var calcData = { + gyro: { + x: this.sensorMpu9250GyroConvert(a[0]), + y: this.sensorMpu9250GyroConvert(a[1]), + z: this.sensorMpu9250GyroConvert(a[2]) + }, accel: { + x: this.sensorMpu9250AccConvert(a[3]), + y: this.sensorMpu9250AccConvert(a[4]), + z: this.sensorMpu9250AccConvert(a[5]) + }, mag: { + x: a[6], y: a[7], z: a[8] + } + }; + + return calcData; + }; + this.onAccelerometerData = function(data) { + // Console.log(data); + var message; + var calcData; + + calcData = this.processData(data); + + message = 'Gyro
' + 'X: ' + calcData.gyro.x + '
' + 'Y: ' + calcData.gyro.y + '
' + 'Z: ' + calcData.gyro.z + '
' + 'Accel
' + 'X: ' + calcData.accel.x + '
' + 'Y: ' + calcData.accel.y + '
' + 'Z: ' + calcData.accel.z + '
' + 'Mag
' + 'X: ' + calcData.mag.x + '
' + 'Y: ' + calcData.mag.y + '
' + 'Z: ' + calcData.mag.z + '
'; + + this.state = message; + + this.$result[this.frames.gyroID + '-x'].text(calcData.gyro.x.toFixed(5)); + this.$result[this.frames.gyroID + '-y'].text(calcData.gyro.y.toFixed(5)); + this.$result[this.frames.gyroID + '-z'].text(calcData.gyro.z.toFixed(5)); + + this.$result[this.frames.accelID + '-x'].text(calcData.accel.x.toFixed(5)); + this.$result[this.frames.accelID + '-y'].text(calcData.accel.y.toFixed(5)); + this.$result[this.frames.accelID + '-z'].text(calcData.accel.z.toFixed(5)); + + this.$result[this.frames.magID + '-x'].text(calcData.mag.x); + this.$result[this.frames.magID + '-y'].text(calcData.mag.y); + this.$result[this.frames.magID + '-z'].text(calcData.mag.z); + + this.data.gyro.x = this.storeData(calcData.gyro.x, this.data.gyro.x); + this.data.gyro.y = this.storeData(calcData.gyro.y, this.data.gyro.y); + this.data.gyro.z = this.storeData(calcData.gyro.z, this.data.gyro.z); + + this.data.accel.x = this.storeData(calcData.accel.x, this.data.accel.x); + this.data.accel.y = this.storeData(calcData.accel.y, this.data.accel.y); + this.data.accel.z = this.storeData(calcData.accel.z, this.data.accel.z); + + this.data.mag.x = this.storeData(calcData.mag.x, this.data.mag.x); + this.data.mag.y = this.storeData(calcData.mag.y, this.data.mag.y); + this.data.mag.z = this.storeData(calcData.mag.z, this.data.mag.z); + + // Console.log(JSON.stringify(this.data)); + // Console.log(this.state); + }; + + this.startService = function() { + + if (this.deviceID !== null) { + + console.log('Starting CC2650 Accelerometer Service on ', this.deviceID); + console.log(this.serviceDef); + + this.setInternalID(); + this.insertFrame('gyro'); + this.insertFrame('accel'); + this.insertFrame('mag'); + + ble.startNotification(this.deviceID, + this.serviceDef.service, + this.serviceDef.data, + this.onAccelerometerData.bind(this), + this.onError); + + // Turn accelerometer on + var configData = new Uint16Array(1); + // Turn on gyro, accel, and mag, 2G range, Disable wake on motion + configData[0] = 0x007F; + ble.write(this.deviceID, + this.serviceDef.service, + this.serviceDef.configuration, + configData.buffer, + function() { console.log('Started accelerometer.'); }, + this.onError); + + var periodData = new Uint8Array(1); + periodData[0] = 0x0A; + ble.write(this.deviceID, + this.serviceDef.service, + this.serviceDef.period, + periodData.buffer, + function() { console.log('Configured accelerometer period.'); }, + this.onError); + } + + }; + + this.advancedGraph = function(mode, data, subID) { + + var lm; + var ceiling; + var elm; + var text2ID; + var ceilingLimit; + var calcArray; + var floor; + var _subID; + var _data; + var text1ID; + var lineID; + var max; + + var parts = ['x', 'y', 'z']; + + _data = data || this.data; + + _subID = subID || ''; + + // LineID = [this.frameID , _subID , '-line'].join(''); + text1ID = [this.frameID, _subID, '-txt1'].join(''); + text2ID = [this.frameID, _subID, '-txt2'].join(''); + + if (_data.x.length > 0) { + + max = 2; + + for (var lineMode = 0; lineMode < parts.length; lineMode++) { + lm = parts[lineMode]; + ceiling = _data[lm].reduce(function(p, v) { + return (Math.abs(p) > Math.abs(v) ? Math.abs(p) : Math.abs(v)); + }); + + + if (ceiling > 500) { + max = (ceiling > max) ? (Math.ceil((Math.round(ceiling) + 1) / 50) * 50) : max; + } else { + max = (ceiling > max) ? (Math.ceil((Math.round(ceiling) + 1) / 10) * 10) : max; + } + } + + console.log('accel max:', max) + ceiling = max; + floor = max * -1; + ceilingLimit = ceiling; + + var scalePos = (124 / 2) / ceiling; + var scaleNeg = (124 / 2) / floor; + // Var xstep = (280 - 46) / 100; + var xstep = 2.34; + + for (lineMode = 0; lineMode < parts.length; lineMode++) { + + lm = parts[lineMode]; + var startX = 46 + (100 - _data[lm].length) * xstep; + + calcArray = []; + + lineID = this.frameID + _subID + '-' + lm + '-line'; + for (var x = 0; x < _data[lm].length; x++) { + + calcArray.push((startX + (x * xstep)).toFixed(2) + ',' + (71 - ((_data[lm][x]) * scalePos)).toFixed( + 2)); + + } + + elm = document.getElementById(lineID); + + elm.setAttribute('points', calcArray.join(' ')); + + } + + elm = document.getElementById(text1ID); + elm.textContent = ceilingLimit; + + elm = document.getElementById(text2ID); + elm.textContent = floor; + + } + + }; + + this.animateGraph = function() { + // Nothing to animate yet + + // return -1; + this.advancedGraph(0, this.data.gyro, 'gyro'); + this.advancedGraph(0, this.data.accel, 'accel'); + this.advancedGraph(0, this.data.mag, 'mag'); + // This.simpleGraph(this.data.temp, 'temp'); + // this.simpleGraph(this.data.pressure, 'pressure'); + + }; + + this.generateBlankGraphBase = function(subID) { + + var _subID = subID || ''; + var xmlns = 'http://www.w3.org/2000/svg'; + + var svgID = this.frameID + _subID + '-svg'; + var text1ID = this.frameID + _subID + '-txt1'; + var text2ID = this.frameID + _subID + '-txt2'; + + var svg = document.createElementNS(xmlns, 'svg'); + + svg.setAttributeNS(xmlns, 'id', svgID); + svg.setAttributeNS(xmlns, 'width', '300'); + svg.setAttributeNS(xmlns, 'height', '150'); + svg.setAttributeNS(xmlns, 'fill', 'blue'); + + svg = this.graphAddXAxis(svg, {y: 12, colour: '#004c6d', id: text1ID}); + svg = this.graphAddXAxis(svg, {y: 136, colour: '#004c6d', id: text2ID}); + svg = this.graphAddXAxis(svg, {y: 71, colour: '#004c6d', text: '0'}); + + return svg; + + }; + + this.generateBlankGraph = function(subID) { + + var _subID = subID || ''; + var xlineID = this.frameID + _subID + '-x-line'; + var ylineID = this.frameID + _subID + '-y-line'; + var zlineID = this.frameID + _subID + '-z-line'; + + var svg = this.generateBlankGraphBase(_subID); + + svg = this.graphAddLine(svg, xlineID, 'rgba(255,0,0,0.5)'); + svg = this.graphAddLine(svg, ylineID, 'rgba(0,255,0,0.5)'); + svg = this.graphAddLine(svg, zlineID, 'rgba(0,0,255,0.5)'); + + return svg; + + }; + + this.insertFrame = function(mode) { + + var frame; + var title; + var modeID = mode + 'ID'; + this.frames[modeID] = this.frameID + '-' + mode; + + var titles = { + gyro: 'Gyroscope', accel: 'Accelerometer', mag: 'Magnetometer' + }; + var modes = ['gyro', 'accel', 'mag']; + + console.log('FrameID: ', this.frames[modeID]); + + title = [titles[mode], ' - ', this.deviceID].join(' '); + + frame = $('
', { + class: 'mui-panel', id: this.frames[modeID] + }); + + $('
', {class: 'mui-row'}).append($('
', { + class: 'mui-col-xs-12 mui--text-title mui-ellipsis-2', text: title + })).appendTo(frame); + + this.$frame.append(frame); + this.$id[modeID] = $('#' + this.frames[modeID]); + + // Call the parent displayForm first... + + var row = $('
', {class: 'mui-row'}); + + $('
', { + class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'X' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'Y' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-accent mui--text-center', text: 'Z' + }).appendTo(row); + + this.$id[modeID].append(row); + + row = $('
', {class: 'mui-row'}); + + $('
', { + class: 'mui-col-xs-4 mui--text-dark mui--text-center', + text: '--', + id: this.frames[modeID] + '-x' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-dark mui--text-center', + text: '--', + id: this.frames[modeID] + '-y' + }).appendTo(row); + $('
', { + class: 'mui-col-xs-4 mui--text-dark mui--text-center', + text: '--', + id: this.frames[modeID] + '-z' + }).appendTo(row); + + this.$id[modeID].append(row); + + this.$result[this.frames[modeID] + '-x'] = $('#' + this.frames[modeID] + '-x'); + this.$result[this.frames[modeID] + '-y'] = $('#' + this.frames[modeID] + '-y'); + this.$result[this.frames[modeID] + '-z'] = $('#' + this.frames[modeID] + '-z'); + + row = $('
', {class: 'mui-row'}); + + var _graph = this.generateBlankGraph(mode); + row.append($('
', {class: 'mui-col-md-12'}).append(_graph)); + + this.$id[modeID].append(row); + }; + +}; + + +inheritsFrom(CC2650_ACCEL, CAPABILITY); + +capabilityManager.register({id: 'F000AA80-0451-4000-B000-000000000000', module: CC2650_ACCEL}); diff --git a/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_barometer.js b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_barometer.js new file mode 100644 index 0000000..fd37cb6 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_barometer.js @@ -0,0 +1,164 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-05-20 + * Time: 10:13 + * + */ +/* global CAPABILITY, inheritsFrom, capabilityManager, device */ +/* global ble */ +/* jshint browser: true , devel: true*/ + +var CC2650_BAR = function(p) { + 'use strict'; + this.name = 'Barometer'; + this.deviceID = p.deviceID || null; + this.target = p.target || null; + + this.capabilityID = 'F000AA40-0451-4000-B000-000000000000'; + this.serviceDef = { + service: 'F000AA40-0451-4000-B000-000000000000', + data: 'F000AA41-0451-4000-B000-000000000000', + notification: 'F0002902-0451-4000-B000-000000000000', + configuration: 'F000AA42-0451-4000-B000-000000000000', + period: 'F000AA43-0451-4000-B000-000000000000' + + }; + this.data = {temp: [], pressure: []}; + this.$result = {temp: null, pressure: null}; + this.setFrame(); + + this.startService = function() { + + if (this.deviceID !== null) { + + console.log('Starting CC2650 Barometer Service on ', this.deviceID); + console.log(this.serviceDef); + this.insertFrame(); + + ble.startNotification(this.deviceID, this.serviceDef.service, this.serviceDef.data, this.onBarometerData.bind(this), this.onError); + + // Turn on barometer + var barometerConfig = new Uint8Array(1); + barometerConfig[0] = 0x01; + ble.write(this.deviceID, this.serviceDef.service, this.serviceDef.configuration, barometerConfig.buffer, + function() { console.log('Started barometer.'); },this.onError); + + } + + }; + + this.sensorBarometerConvert = function(data) { + return (data / 100); + + }; + + this.onBarometerData = function(data) { + var pStr; + var tStr; + var message; + var a = new Uint8Array(data); + + // 0-2 Temp + // 3-5 Pressure + var temp, pressure; + temp = this.sensorBarometerConvert(a[0] | (a[1] << 8) | (a[2] << 16)); + pressure = this.sensorBarometerConvert(a[3] | (a[4] << 8) | (a[5] << 16)); + tStr = temp + '°C'; + pStr = pressure + 'hPa'; + + message = 'Temperature
' + tStr + + 'Pressure
' + pStr ; + + + this.data.temp = this.storeData(temp, this.data.temp); + this.data.pressure = this.storeData(pressure, this.data.pressure); + + + this.$result.temp.text(tStr); + this.$result.pressure.text(pStr); + + this.state = message; + + // Console.log('Barometer:', this.state); + }; + + this.animateGraph = function() { + this.simpleGraph(this.data.temp, 'temp'); + this.simpleGraph(this.data.pressure, 'pressure'); + }; + + + this.insertFrame = function() { + + var self = this; + var blankChart; + + // Call the parent displayForm first... + this.superClass_.insertFrame.call(self); + + var temp = this.frameID + '-t'; + var pressure = this.frameID + '-p'; + var row = $('
', {class: 'mui-row'}); + + $('
', { class: 'mui-col-xs-3 mui--text-accent mui--text-right', text: 'Temp:'}).appendTo(row); + + $('
', { class: 'mui-col-xs-3 mui--text-dark', id: temp}).appendTo(row); + $('
', { class: 'mui-col-xs-3 mui--text-accent mui--text-right', text: 'Pressure:'}).appendTo(row); + + $('
', { class: 'mui-col-xs-3 mui--text-dark', id: pressure}).appendTo(row); + + this.$id.append(row); + + if (/ipad/i.test(device.model)) { + + tabBody = $('
', {class: 'mui-row'}); + + tabBody.append($('
',{class: 'mui-col-md-6'}).append(this.generateBlankGraph('temp'))) ; + tabBody.append($('
',{class: 'mui-col-md-6'}).append(this.generateBlankGraph('pressure'))) ; + this.$id.append(tabBody); + + } else { + + var tabBody = $('
    ', + {class: 'mui-tabs__bar mui-tabs__bar--justified'}); + $('
  • ', {class: 'mui--is-active tabOnWhite'}).append($('', + { + text: 'Temperature', + 'data-mui-toggle': 'tab', + 'data-mui-controls': (temp + '-pane') + })).appendTo(tabBody); + $('
  • ', {class: 'tabOnWhite'}).append($('', + { + text: 'Pressure', + 'data-mui-toggle': 'tab', + 'data-mui-controls': (pressure + '-pane') + })).appendTo(tabBody); + + this.$id.append(tabBody); + + blankChart = this.generateBlankGraph('temp'); + + this.$id.append($('
    ', + {class: 'mui-tabs__pane mui--is-active', id: (temp + '-pane')}).append( + blankChart)); + + blankChart = this.generateBlankGraph('pressure'); + + this.$id.append($('
    ', + { + class: 'mui-tabs__pane', + id: (pressure + '-pane') + }).append(blankChart)); + } + this.$result.temp = $('#' + temp); + this.$result.pressure = $('#' + pressure); + + }; + +}; + + +inheritsFrom(CC2650_BAR, CAPABILITY); + +capabilityManager.register({id: 'F000AA40-0451-4000-B000-000000000000', module: CC2650_BAR}); diff --git a/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_humidity.js b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_humidity.js new file mode 100644 index 0000000..8dc3179 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_humidity.js @@ -0,0 +1,170 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-05-20 + * Time: 10:13 + * + */ +/* global CAPABILITY, inheritsFrom, capabilityManager, device */ +/* global ble */ +/* jshint browser: true , devel: true*/ + +var CC2650_HUM = function(p) { + 'use strict'; + this.name = 'Humidity'; + this.deviceID = p.deviceID || null; + this.target = p.target || null; + + this.capabilityID = 'F000AA20-0451-4000-B000-000000000000'; + this.serviceDef = { + service: 'F000AA20-0451-4000-B000-000000000000', + data: 'F000AA21-0451-4000-B000-000000000000', + notification: 'F0002902-0451-4000-B000-000000000000', + configuration: 'F000AA22-0451-4000-B000-000000000000', + period: 'F000AA23-0451-4000-B000-000000000000' + + }; + this.data = {temp: [], humidity: []}; + this.$result = {temp: null, humidity: null}; + this.setFrame(); + + this.startService = function() { + + if (this.deviceID !== null) { + + console.log('Starting CC2650 Humidity Service on ', this.deviceID); + console.log(this.serviceDef); + this.insertFrame(); + + ble.startNotification(this.deviceID, + this.serviceDef.service, + this.serviceDef.data, + this.onHumidityData.bind(this), + this.onError); + + // Turn on barometer + var humidityConfig = new Uint8Array(1); + humidityConfig[0] = 0x01; + ble.write(this.deviceID, + this.serviceDef.service, + this.serviceDef.configuration, + humidityConfig.buffer, + function() { console.log('Started Humidity.'); }, + this.onError); + + } + + }; + + this.onHumidityData = function(data) { + var hStr; + var tStr; + // Console.log(data); + var message; + var raw = new Uint16Array(data); + + // -- calculate temperature [°C] + var temp = (raw[0] / 65536) * 165 - 40; + + // -- calculate relative humidity [%RH] + var hum = (raw[1] / 65536) * 100; + + tStr = temp.toFixed(2) + '°C'; + hStr = hum.toFixed(2) + '%RH'; + + message = 'Temperature
    ' + tStr + 'Humidity
    ' + hStr; + + this.data.temp = this.storeData(temp, this.data.temp); + this.data.humidity = this.storeData(hum, this.data.humidity); + + + this.$result.temp.text(tStr); + this.$result.humidity.text(hStr); + + this.state = message; + + // Console.log('Barometer:', this.state); + }; + + this.animateGraph = function() { + this.simpleGraph(this.data.temp, 'temp'); + this.simpleGraph(this.data.humidity, 'humidity'); + }; + + + this.insertFrame = function() { + + var self = this; + var blankChart; + + // Call the parent displayForm first... + this.superClass_.insertFrame.call(self); + + var temp = this.frameID + '-t'; + var humidity = this.frameID + '-h'; + var row = $('
    ', {class: 'mui-row'}); + + $('
    ', + {class: 'mui-col-xs-3 mui--text-accent mui--text-right', text: 'Temp:'}).appendTo(row); + + $('
    ', + {class: 'mui-col-xs-3 mui--text-dark', id: temp}).appendTo(row); + $('
    ', + { + class: 'mui-col-xs-3 mui--text-accent mui--text-right', + text: 'Humidity:' + }).appendTo(row); + + $('
    ', + {class: 'mui-col-xs-3 mui--text-dark', id: humidity}).appendTo(row); + + this.$id.append(row); + + if (/ipad/i.test(device.model)) { + + tabBody = $('
    ', {class: 'mui-row'}); + + tabBody.append($('
    ',{class: 'mui-col-md-6'}).append(this.generateBlankGraph('temp'))) ; + tabBody.append($('
    ',{class: 'mui-col-md-6'}).append(this.generateBlankGraph('humidity'))) ; + this.$id.append(tabBody); + + } else { + var tabBody = $('
      ', + {class: 'mui-tabs__bar mui-tabs__bar--justified'}); + $('
    • ', {class: 'mui--is-active tabOnWhite'}).append($('', + { + text: 'Temperature', + 'data-mui-toggle': 'tab', + 'data-mui-controls': (temp + '-pane') + })).appendTo(tabBody); + $('
    • ', {class: 'tabOnWhite'}).append($('', + { + text: 'Humidity', + 'data-mui-toggle': 'tab', + 'data-mui-controls': (humidity + '-pane') + })).appendTo(tabBody); + this.$id.append(tabBody); + + blankChart = this.generateBlankGraph('temp'); + + this.$id.append($('
      ', + {class: 'mui-tabs__pane mui--is-active', id: (temp + '-pane')}).append( + blankChart)); + + blankChart = this.generateBlankGraph('humidity'); + this.$id.append($('
      ', + { + class: 'mui-tabs__pane', + id: (humidity + '-pane') + }).append(blankChart)); + } + this.$result.temp = $('#' + temp); + this.$result.humidity = $('#' + humidity); + + }; + +}; + +inheritsFrom(CC2650_HUM, CAPABILITY); + +capabilityManager.register({id: 'F000AA20-0451-4000-B000-000000000000', module: CC2650_HUM}); diff --git a/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_luxometer.js b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_luxometer.js new file mode 100644 index 0000000..6492708 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_luxometer.js @@ -0,0 +1,113 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-05-20 + * Time: 10:13 + * + */ +/* global CAPABILITY, inheritsFrom, capabilityManager */ +/* global ble */ +/* jshint browser: true , devel: true*/ + +var CC2650_LUX = function(p) { + 'use strict'; + this.name = 'Luxometer'; + this.deviceID = p.deviceID || null; + this.target = p.target || null; + + this.capabilityID = 'F000AA70-0451-4000-B000-000000000000'; + this.serviceDef = { + service: 'F000AA70-0451-4000-B000-000000000000', + data: 'F000AA71-0451-4000-B000-000000000000', + notification: 'F0002902-0451-4000-B000-000000000000', + configuration: 'F000AA72-0451-4000-B000-000000000000', + period: 'F000AA73-0451-4000-B000-000000000000' + + }; + + this.$result = {temp: null, pressure: null}; + this.data = []; + this.setFrame(); + + this.startService = function() { + + if (this.deviceID !== null) { + + console.log('Starting CC2650 Luxometer Service on ', this.deviceID); + console.log(this.serviceDef); + this.insertFrame(); + + ble.startNotification(this.deviceID, + this.serviceDef.service, + this.serviceDef.data, + this.onLuxData.bind(this), + this.onError); + + // Turn on luxometer + var luxConfig = new Uint8Array(1); + luxConfig[0] = 0x01; + ble.write(this.deviceID, + this.serviceDef.service, + this.serviceDef.configuration, + luxConfig.buffer, + function() { console.log('Started luxometer.'); }, + this.onError); + + } + + }; + + this.onLuxData = function(data) { + + var m, e, lux; + + var raw = new Uint16Array(data); + + m = raw & 0x0FFF; + e = (raw & 0xF000) >> 12; + + lux = m * (0.01 * Math.pow(2.0, e)); + + this.state = [lux.toFixed(2), 'lux'].join(' '); + + this.storeData(lux); + + this.$result.text(this.state); + }; + + this.animateGraph = function() { + this.simpleGraph(this.data, ''); + }; + + this.insertFrame = function() { + + var self = this; + + // Call the parent displayForm first... + this.superClass_.insertFrame.call(self); + + var lux = this.frameID + '-l'; + + var row = $('
      ', {class: 'mui-row'}); + + $('
      ', + {class: 'mui-col-xs-4 mui--text-accent mui--text-right', text: 'Luminosity:'}).appendTo( + row); + + $('
      ', + {class: 'mui-col-xs-8 mui--text-dark', id: lux}).appendTo(row); + + this.$id.append(row); + + var blankChart = this.generateBlankGraph(); + + this.$id.append(blankChart); + + this.$result = $('#' + lux); + + }; + +}; + +inheritsFrom(CC2650_LUX, CAPABILITY); +capabilityManager.register({id: 'F000AA70-0451-4000-B000-000000000000', module: CC2650_LUX}); diff --git a/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_thermopile.js b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_thermopile.js new file mode 100644 index 0000000..20ebbf9 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/js/device/CC2650/cc2650_thermopile.js @@ -0,0 +1,167 @@ +/** + * + * User: Martin Donnelly + * Date: 2016-05-20 + * Time: 10:13 + * + */ +/* global CAPABILITY, inheritsFrom, capabilityManager */ +/* global ble */ +/* jshint browser: true , devel: true*/ + +var CC2650_TMP = function(p) { + 'use strict'; + this.name = 'Thermopile'; + this.deviceID = p.deviceID || null; + this.target = p.target || null; + + this.capabilityID = 'F000AA00-0451-4000-B000-000000000000'; + this.serviceDef = { + service: 'F000AA00-0451-4000-B000-000000000000', + data: 'F000AA01-0451-4000-B000-000000000000', + notification: 'F0002902-0451-4000-B000-000000000000', + configuration: 'F000AA02-0451-4000-B000-000000000000', + period: 'F000AA03-0451-4000-B000-000000000000' + + }; + + this.data = {temp: [], ambient: []}; + this.$result = {temp: null, ambient: null}; + this.setFrame(); + + this.startService = function() { + + if (this.deviceID !== null) { + + console.log('Starting CC2650 Thermopile Service on ', this.deviceID); + console.log(this.serviceDef); + this.insertFrame(); + + ble.startNotification(this.deviceID, + this.serviceDef.service, + this.serviceDef.data, + this.onThermData.bind(this), + this.onError); + + // Turn on thermopile + var tmpConfig = new Uint8Array(1); + tmpConfig[0] = 0x01; + ble.write(this.deviceID, + this.serviceDef.service, + this.serviceDef.configuration, + tmpConfig.buffer, + function() { console.log('Started Thermopile.'); }, + this.onError); + + } + + }; + + this.onThermData = function(data) { + + var ambTemp; + var objTemp; + var scale_lsb = 0.03125; + var raw = new Uint16Array(data); + + var it = raw[0] >> 2; + + objTemp = it * scale_lsb; + + it = raw[1] >> 2; + + ambTemp = it * scale_lsb; + + var tStr = objTemp.toFixed(2) + '°C'; + var aStr = ambTemp.toFixed(2) + '°C'; + + this.state = ['Temp: ', tStr, ', Ambient:', aStr].join(' '); + + this.data.temp = this.storeData(objTemp, this.data.temp); + this.data.ambient = this.storeData(ambTemp, this.data.ambient); + + + this.$result.temp.text(tStr); + this.$result.ambient.text(aStr); + + }; + + this.animateGraph = function() { + this.simpleGraph(this.data.temp, 'temp'); + this.simpleGraph(this.data.ambient, 'ambient'); + }; + + this.insertFrame = function() { + + var liSetting; + var tabBody; + var blankChart; + var self = this; + // Console.log('Overloading...'); + // Call the parent displayForm first... + + this.superClass_.insertFrame.call(self); + + var temp = this.frameID + '-t'; + var amb = this.frameID + '-a'; + var row = $('
      ', {class: 'mui-row'}); + + $('
      ', + {class: 'mui-col-xs-3 mui--text-accent mui--text-right', text: 'Temp:'}).appendTo(row); + + $('
      ', + {class: 'mui-col-xs-3 mui--text-dark mui--text-left', id: temp}).appendTo(row); + $('
      ', + { + class: 'mui-col-xs-3 mui--text-accent mui--text-right', + text: 'Ambient:' + }).appendTo(row); + + $('
      ', + {class: 'mui-col-xs-3 mui--text-dark', id: amb}).appendTo(row); + + this.$id.append(row); + + if (/ipad/i.test(device.model)) { + + tabBody = $('
      ', {class: 'mui-row'}); + + tabBody.append($('
      ',{class: 'mui-col-md-6'}).append(this.generateBlankGraph('temp'))) ; + tabBody.append($('
      ',{class: 'mui-col-md-6'}).append(this.generateBlankGraph('ambient'))) ; + this.$id.append(tabBody); + + } else { + tabBody = $('
      '}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.col";r["default"].module(a,[]).directive("muiCol",function(){return{restrict:"AE",scope:!0,replace:!0,template:"
      ",transclude:!0,link:function(e,t,n,i,a){a(e,function(e){t.append(e)});var l={xs:"mui-col-xs-",sm:"mui-col-sm-",md:"mui-col-md-",lg:"mui-col-lg-","xs-offset":"mui-col-xs-offset-","sm-offset":"mui-col-sm-offset-","md-offset":"mui-col-md-offset-","lg-offset":"mui-col-lg-offset-"};r["default"].forEach(l,function(e,i){var r=n[n.$normalize(i)];r&&t.addClass(e+r)})}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],11:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.container";r["default"].module(a,[]).directive("muiContainer",function(){return{restrict:"AE",template:'
      ',transclude:!0,scope:!0,replace:!0,link:function(e,t,n,i,a){a(e,function(e){t.append(e)}),r["default"].isUndefined(n.fluid)||t.removeClass("mui-container").addClass("mui-container-fluid")}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],12:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.divider";r["default"].module(a,[]).directive("muiDivider",function(){return{restrict:"AE",replace:!0,compile:function(e,t){e.addClass("mui-divider")}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],13:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.dropdown-item";r["default"].module(a,[]).directive("muiDropdownItem",function(){return{restrict:"AE",replace:!0,scope:{link:"@"},transclude:!0,template:'
    • '}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],14:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.dropdown";r["default"].module(a,[]).directive("muiDropdown",["$timeout","$compile",function(e,t){return{restrict:"AE",transclude:!0,replace:!0,scope:{variant:"@",color:"@",size:"@",open:"=?",ngDisabled:"="},template:'
        ',link:function(e,t,n){function i(){e.open=!1,e.$apply()}var a,l,o="mui-dropdown__menu",u="mui--is-open",s="mui-dropdown__menu--right",d=r["default"].isUndefined;a=r["default"].element(t[0].querySelector("."+o)),l=r["default"].element(t[0].querySelector(".mui-btn")),a.css("margin-top","-3px"),d(n.open)||(e.open=!0),d(n.disabled)||l.attr("disabled",!0),d(n.rightAlign)||a.addClass(s),d(n.noCaret)?l.html(n.label+" "):l.html(n.label),e.$watch("open",function(e){e===!0?(a.addClass(u),document.addEventListener("click",i)):e===!1&&(a.removeClass(u),document.removeEventListener("click",i))}),e.onClick=function(t){e.disabled||(t.preventDefault(),t.stopPropagation(),e.open?e.open=!1:e.open=!0)}}}}]),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.form";r["default"].module(a,[]).directive("muiFormInline",function(){return{restrict:"A",link:function(e,t,n){t.addClass("mui-form--inline")}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],16:[function(e,t,n){"use strict";function i(e,t){t?e.removeClass(u).addClass(s):e.removeClass(s).addClass(u)}function r(e){var t,n,r="mui--is-dirty";return t={floatLabel:"@",hint:"@",label:"@",ngDisabled:"=",ngModel:"="},n='
        ',e?(t.rows="@",n+=''):(t.type="@",n+=''),n+="
        ",["$timeout",function(a){return{restrict:"AE",require:["ngModel"],scope:t,replace:!0,template:n,link:function(t,n,o,u){var s=n.find("input")||n.find("textarea"),d=n.find("label"),c=u[0],f=(u[1],l["default"].isUndefined),p=s[0];p&&(p._muiTextfield=!0),n.removeAttr("ng-change"),n.removeAttr("ng-model"),e?t.rows=t.rows||2:t.type=t.type||"text",f(o.autofocus)||s[0].focus(),f(o.required)||s.prop("required",!0),f(o.invalid)||s.addClass("mui--is-invalid"),i(s,t.ngModel),f(t.floatLabel)||(n.addClass("mui-textfield--float-label"),a(function(){d.css({transition:".15s ease-out","-webkit-transition":".15s ease-out","-moz-transition":".15s ease-out","-o-transition":".15s ease-out","-ms-transition":".15s ease-out"})},150)),t.onChange=function(){var e=t.ngModel;c&&c.$setViewValue(e),i(s,e),s.addClass(r)},t.onFocus=function(){s.addClass(r)}}}}]}Object.defineProperty(n,"__esModule",{value:!0});var a=window.angular,l=babelHelpers.interopRequireDefault(a),o="mui.input",u="mui--is-empty",s="mui--is-not-empty";l["default"].module(o,[]).directive("muiInput",r(!1)).directive("muiTextarea",r(!0)),n["default"]=o,t.exports=n["default"]},{angular:"aeQg5j"}],17:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.panel";r["default"].module(a,[]).directive("muiPanel",function(){return{restrict:"AE",replace:!0,scope:!0,template:'
        ',transclude:!0,link:function(e,t,n,i,r){r(e,function(e){t.append(e)})}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.radio";r["default"].module(a,[]).directive("muiRadio",function(){return{restrict:"AE",replace:!0,require:["?ngModel"],scope:{label:"@",name:"@",value:"@",ngModel:"=",ngDisabled:"="},template:'
        '}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],19:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.row";r["default"].module("mui.row",[]).directive("muiRow",function(){return{restrict:"AE",scope:!0,replace:!0,template:'
        ',transclude:!0,link:function(e,t,n,i,r){r(e,function(e){t.append(e)})}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],20:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a=e("../js/lib/forms"),l=babelHelpers.interopRequireWildcard(a),o=e("../js/lib/util"),u=babelHelpers.interopRequireWildcard(o),s=e("../js/lib/jqLite"),d=babelHelpers.interopRequireWildcard(s),c="mui.select";r["default"].module(c,[]).directive("muiSelect",["$timeout",function(e){return{restrict:"AE",require:["ngModel"],scope:{name:"@",ngDisabled:"=",ngModel:"="},replace:!0,transclude:!0,template:'
        {{option.label}}
        ',link:function(t,n,i,a,o){function s(){t.isOpen=!1,t.$digest()}var c=n,f=n.find("div"),p=n.find("select"),m=r["default"].isUndefined;p[0]._muiSelect=!0,t.options=[],t.isOpen=!1,t.useDefault=!1,t.origTabIndex=p[0].tabIndex,t.menuIndex=0,m(i.useDefault)||(t.useDefault=!0),c.prop("tabIndex",-1),o(function(e){var n,i;for(i in e)n=e[i],"MUI-OPTION"===n.tagName&&t.options.push({value:n.getAttribute("value"),label:n.getAttribute("label")})}),t.onClick=function(){t.useDefault!==!0&&(t.isOpen=!0,c[0].focus())},t.onFocus=function(){if(t.useDefault!==!0){var e=p[0];t.origTabIndex=e.tabIndex,e.tabIndex=-1,c[0].focus()}},t.onMousedown=function(e){t.useDefault!==!0&&e.preventDefault()},t.onWrapperBlur=function(){p[0].tabIndex=t.origTabIndex},t.onWrapperFocus=function(e){return p[0].disabled?c[0].blur():void 0},t.onWrapperKeydown=function(e){var n=e.keyCode;if(t.isOpen===!1)32!==n&&38!==n&&40!==n||(e.preventDefault(),t.isOpen=!0);else{if(9===n)return t.isOpen=!1;27!==n&&40!==n&&38!==n&&13!==n||e.preventDefault(),27===n?t.isOpen=!1:40===n?t.menuIndex0&&(t.menuIndex-=1):13===n&&(t.ngModel=t.options[t.menuIndex].value,t.isOpen=!1)}},t.chooseOption=function(e){t.ngModel=e.value,t.isOpen=!1},t.$watch("isOpen",function(i,r){if(i!==r&&t.useDefault!==!0)if(i===!0){u.enableScrollLock();var a,o=t.ngModel,c=t.options,m=c.length;for(a=0;m>a;a++)if(c[a].value===o){t.menuIndex=a;break}var v=l.getMenuPositionalCSS(n[0],t.options.length,t.menuIndex);f.css(v),d.scrollTop(f[0],v.scrollTop),e(function(){d.on(document,"click",s),d.on(window,"resize",s)})}else p[0].focus(),u.disableScrollLock(),d.off(document,"click",s),d.off(window,"resize",s)})}}}]),n["default"]=c,t.exports=n["default"]},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,angular:"aeQg5j"}],21:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a=e("../js/lib/jqLite"),l=(babelHelpers.interopRequireWildcard(a),"mui.tabs");r["default"].module(l,[]).directive("muiTabs",function(){return{restrict:"EA",transclude:!0,scope:{selectedId:"=?selected",onChange:"&?"},template:'',controller:["$scope",function(e){var t=0;e.tabs=[],this.addTab=function(n){var i=t;return t+=1,e.tabs.push({label:n.label}),n.isActive&&(e.selectedId=i),i}}],link:function(e,t,n,i,a){var l=r["default"].isUndefined;l(e.selectedId)&&(e.selectedId=0),e.justified=!1,l(n.justified)||(e.justified=!0),e.onClick=function(t){t!==e.selectedId&&(e.selectedId=t,e.onChange&&e.$$postDigest(e.onChange))},a(e,function(e){t.append(e)})}}}).directive("muiTab",["$parse",function(e){return{require:"^?muiTabs",restrict:"AE",scope:{active:"&?",label:"@?"},transclude:!0,template:'
        ',link:function(t,n,i,r,a){var l=e(i.onSelect),o=e(i.onDeselect),u=t.$parent.$parent;t.tabId=null,r&&(t.tabId=r.addTab({label:t.label,isActive:Boolean(t.active)})),a(t,function(e){n.find("div").append(e)}),t.$parent.$watch("selectedId",function(e,n){e!==n&&(e===t.tabId&&l(u),n===t.tabId&&o(u))})}}}]),n["default"]=l,t.exports=n["default"]},{"../js/lib/jqLite":4,angular:"aeQg5j"}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.css b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.css new file mode 100644 index 0000000..2a65b9e --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.css @@ -0,0 +1,2522 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS and IE text size adjust after device orientation change, + * without disabling user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/** + * Remove default margin. + */ +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * Improve readability of focused elements when they are also in an + * active/hover state. + */ +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} + +/** + * 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 { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; +} + +/** + * 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 Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +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"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + box-sizing: content-box; + /* 2 */ +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/** + * MUI Colors module + */ +/** + * MUI Reboot + */ +* { + box-sizing: border-box; +} + +*:before, +*:after { + box-sizing: border-box; +} + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; +} + +body { + font-family: Arial, Verdana, Tahoma; + font-size: 14px; + font-weight: 400; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +a { + color: #2196F3; + text-decoration: none; +} + +a:hover, a:focus { + color: #1976D2; + text-decoration: underline; +} + +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +p { + margin: 0 0 10px; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +figure { + margin: 0; +} + +img { + vertical-align: middle; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 10px; + font-size: 21px; + color: rgba(0, 0, 0, 0.87); + line-height: inherit; + border: 0; +} + +input[type="search"] { + box-sizing: border-box; + -webkit-appearance: none; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; +} + +strong { + font-weight: 700; +} + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #2196F3; +} + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +/** + * MUI Appbar + */ +.mui--appbar-height { + height: 56px; +} + +.mui--appbar-min-height, .mui-appbar { + min-height: 56px; +} + +.mui--appbar-line-height { + line-height: 56px; +} + +.mui--appbar-top { + top: 56px; +} + +@media (orientation: landscape) and (max-height: 480px) { + .mui--appbar-height { + height: 48px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 48px; + } + .mui--appbar-line-height { + line-height: 48px; + } + .mui--appbar-top { + top: 48px; + } +} + +@media (min-width: 480px) { + .mui--appbar-height { + height: 64px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 64px; + } + .mui--appbar-line-height { + line-height: 64px; + } + .mui--appbar-top { + top: 64px; + } +} + +.mui-appbar { + background-color: #2196F3; + color: #FFF; +} + +/** + * MUI Buttons + */ +.mui-btn { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; + transition: all 0.2s ease-in-out; + display: inline-block; + height: 36px; + padding: 0 26px; + margin-top: 6px; + margin-bottom: 6px; + border: none; + border-radius: 2px; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + line-height: 36px; + vertical-align: middle; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 14px; + letter-spacing: 0.03em; + position: relative; + overflow: hidden; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + color: rgba(0, 0, 0, 0.87); + background-color: white; +} + +.mui-btn[disabled]:hover, .mui-btn[disabled]:focus, .mui-btn[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +.mui-btn.mui-btn--flat { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn.mui-btn--flat:hover, .mui-btn.mui-btn--flat:focus, .mui-btn.mui-btn--flat:active { + color: rgba(0, 0, 0, 0.87); + background-color: #f2f2f2; +} + +.mui-btn.mui-btn--flat[disabled]:hover, .mui-btn.mui-btn--flat[disabled]:focus, .mui-btn.mui-btn--flat[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + outline: 0; + text-decoration: none; + color: rgba(0, 0, 0, 0.87); +} + +.mui-btn:hover, .mui-btn:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn:disabled, .mui-btn.mui--is-disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; +} + +.mui-btn + .mui-btn { + margin-left: 8px; +} + +.mui-btn--flat { + background-color: transparent; +} + +.mui-btn--flat:hover, .mui-btn--flat:focus, .mui-btn--flat:active { + box-shadow: none; + background-color: #f2f2f2; +} + +.mui-btn--raised, .mui-btn--fab { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised, .mui-btn--fab { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn--fab { + position: relative; + padding: 0; + width: 55px; + height: 55px; + line-height: 55px; + border-radius: 50%; + z-index: 1; +} + +.mui-btn--primary { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary:hover, .mui-btn--primary:focus, .mui-btn--primary:active { + color: #FFF; + background-color: #39a1f4; +} + +.mui-btn--primary[disabled]:hover, .mui-btn--primary[disabled]:focus, .mui-btn--primary[disabled]:active { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary.mui-btn--flat { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--primary.mui-btn--flat:hover, .mui-btn--primary.mui-btn--flat:focus, .mui-btn--primary.mui-btn--flat:active { + color: #2196F3; + background-color: #f2f2f2; +} + +.mui-btn--primary.mui-btn--flat[disabled]:hover, .mui-btn--primary.mui-btn--flat[disabled]:focus, .mui-btn--primary.mui-btn--flat[disabled]:active { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--dark { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark:hover, .mui-btn--dark:focus, .mui-btn--dark:active { + color: #FFF; + background-color: #4f4f4f; +} + +.mui-btn--dark[disabled]:hover, .mui-btn--dark[disabled]:focus, .mui-btn--dark[disabled]:active { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark.mui-btn--flat { + color: #424242; + background-color: transparent; +} + +.mui-btn--dark.mui-btn--flat:hover, .mui-btn--dark.mui-btn--flat:focus, .mui-btn--dark.mui-btn--flat:active { + color: #424242; + background-color: #f2f2f2; +} + +.mui-btn--dark.mui-btn--flat[disabled]:hover, .mui-btn--dark.mui-btn--flat[disabled]:focus, .mui-btn--dark.mui-btn--flat[disabled]:active { + color: #424242; + background-color: transparent; +} + +.mui-btn--danger { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger:hover, .mui-btn--danger:focus, .mui-btn--danger:active { + color: #FFF; + background-color: #f55a4e; +} + +.mui-btn--danger[disabled]:hover, .mui-btn--danger[disabled]:focus, .mui-btn--danger[disabled]:active { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger.mui-btn--flat { + color: #F44336; + background-color: transparent; +} + +.mui-btn--danger.mui-btn--flat:hover, .mui-btn--danger.mui-btn--flat:focus, .mui-btn--danger.mui-btn--flat:active { + color: #F44336; + background-color: #f2f2f2; +} + +.mui-btn--danger.mui-btn--flat[disabled]:hover, .mui-btn--danger.mui-btn--flat[disabled]:focus, .mui-btn--danger.mui-btn--flat[disabled]:active { + color: #F44336; + background-color: transparent; +} + +.mui-btn--accent { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent:hover, .mui-btn--accent:focus, .mui-btn--accent:active { + color: #FFF; + background-color: #ff5a92; +} + +.mui-btn--accent[disabled]:hover, .mui-btn--accent[disabled]:focus, .mui-btn--accent[disabled]:active { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent.mui-btn--flat { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--accent.mui-btn--flat:hover, .mui-btn--accent.mui-btn--flat:focus, .mui-btn--accent.mui-btn--flat:active { + color: #FF4081; + background-color: #f2f2f2; +} + +.mui-btn--accent.mui-btn--flat[disabled]:hover, .mui-btn--accent.mui-btn--flat[disabled]:focus, .mui-btn--accent.mui-btn--flat[disabled]:active { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--small { + height: 30.6px; + line-height: 30.6px; + padding: 0 16px; + font-size: 13px; +} + +.mui-btn--large { + height: 54px; + line-height: 54px; + padding: 0 26px; + font-size: 14px; +} + +.mui-btn--fab.mui-btn--small { + width: 44px; + height: 44px; + line-height: 44px; +} + +.mui-btn--fab.mui-btn--large { + width: 75px; + height: 75px; + line-height: 75px; +} + +/** + * MUI Checkboxe and Radio Components + */ +.mui-radio, +.mui-checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} + +.mui-radio > label, +.mui-checkbox > label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.mui-radio > label > input[type="radio"], +.mui-radio--inline > label > input[type="radio"], +.mui-checkbox > label > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px; +} + +.mui-radio + .mui-radio, +.mui-checkbox + .mui-checkbox { + margin-top: -5px; +} + +.mui-radio--inline, +.mui-checkbox--inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} + +.mui-radio--inline > input[type="radio"], +.mui-radio--inline > input[type="checkbox"], +.mui-radio--inline > label > input[type="radio"], +.mui-radio--inline > label > input[type="checkbox"], +.mui-checkbox--inline > input[type="radio"], +.mui-checkbox--inline > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="radio"], +.mui-checkbox--inline > label > input[type="checkbox"] { + margin: 4px 0 0; + line-height: normal; +} + +.mui-radio--inline + .mui-radio--inline, +.mui-checkbox--inline + .mui-checkbox--inline { + margin-top: 0; + margin-left: 10px; +} + +/** + * MUI Container module + */ +.mui-container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container:before, .mui-container:after { + content: " "; + display: table; +} + +.mui-container:after { + clear: both; +} + +@media (min-width: 544px) { + .mui-container { + max-width: 570px; + } +} + +@media (min-width: 768px) { + .mui-container { + max-width: 740px; + } +} + +@media (min-width: 992px) { + .mui-container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .mui-container { + max-width: 1170px; + } +} + +.mui-container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container-fluid:before, .mui-container-fluid:after { + content: " "; + display: table; +} + +.mui-container-fluid:after { + clear: both; +} + +/** + * MUI Divider Component and CSS Helpers + */ +.mui-divider { + display: block; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +.mui--divider-top { + border-top: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-bottom { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-left { + border-left: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-right { + border-right: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Dropdown module + */ +.mui-dropdown { + display: inline-block; + position: relative; +} + +[data-mui-toggle="dropdown"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + outline: 0; +} + +.mui-dropdown__menu { + position: absolute; + top: 100%; + left: 0; + display: none; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border-radius: 2px; + z-index: 1; + background-clip: padding-box; +} + +.mui-dropdown__menu.mui--is-open { + display: block; +} + +.mui-dropdown__menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + white-space: nowrap; +} + +.mui-dropdown__menu > li > a:hover, .mui-dropdown__menu > li > a:focus { + text-decoration: none; + color: rgba(0, 0, 0, 0.87); + background-color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a, .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; +} + +.mui-dropdown__menu--right { + left: auto; + right: 0; +} + +/** + * MUI Form Component + */ +@media (min-width: 544px) { + .mui-form--inline > .mui-textfield { + display: inline-block; + margin-bottom: 0; + } + .mui-form--inline > .mui-radio, + .mui-form--inline > .mui-checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .mui-form--inline > .mui-radio > label, + .mui-form--inline > .mui-checkbox > label { + padding-left: 0; + } + .mui-form--inline > .mui-radio > label > input[type="radio"], + .mui-form--inline > .mui-checkbox > label > input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .mui-form--inline > .mui-select { + display: inline-block; + } + .mui-form--inline > .mui-btn { + margin-bottom: 0; + margin-top: 0; + vertical-align: bottom; + } +} + +/** + * MUI Grid module + */ +.mui-row { + margin-left: -15px; + margin-right: -15px; +} + +.mui-row:before, .mui-row:after { + content: " "; + display: table; +} + +.mui-row:after { + clear: both; +} + +.mui-col-xs-1, .mui-col-sm-1, .mui-col-md-1, .mui-col-lg-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-md-2, .mui-col-lg-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-md-3, .mui-col-lg-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-md-4, .mui-col-lg-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-md-5, .mui-col-lg-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-md-6, .mui-col-lg-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-md-7, .mui-col-lg-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-md-8, .mui-col-lg-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-md-9, .mui-col-lg-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-md-10, .mui-col-lg-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-md-11, .mui-col-lg-11, .mui-col-xs-12, .mui-col-sm-12, .mui-col-md-12, .mui-col-lg-12 { + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} + +.mui-col-xs-1, .mui-col-xs-2, .mui-col-xs-3, .mui-col-xs-4, .mui-col-xs-5, .mui-col-xs-6, .mui-col-xs-7, .mui-col-xs-8, .mui-col-xs-9, .mui-col-xs-10, .mui-col-xs-11, .mui-col-xs-12 { + float: left; +} + +.mui-col-xs-1 { + width: 8.33333%; +} + +.mui-col-xs-2 { + width: 16.66667%; +} + +.mui-col-xs-3 { + width: 25%; +} + +.mui-col-xs-4 { + width: 33.33333%; +} + +.mui-col-xs-5 { + width: 41.66667%; +} + +.mui-col-xs-6 { + width: 50%; +} + +.mui-col-xs-7 { + width: 58.33333%; +} + +.mui-col-xs-8 { + width: 66.66667%; +} + +.mui-col-xs-9 { + width: 75%; +} + +.mui-col-xs-10 { + width: 83.33333%; +} + +.mui-col-xs-11 { + width: 91.66667%; +} + +.mui-col-xs-12 { + width: 100%; +} + +.mui-col-xs-offset-0 { + margin-left: 0%; +} + +.mui-col-xs-offset-1 { + margin-left: 8.33333%; +} + +.mui-col-xs-offset-2 { + margin-left: 16.66667%; +} + +.mui-col-xs-offset-3 { + margin-left: 25%; +} + +.mui-col-xs-offset-4 { + margin-left: 33.33333%; +} + +.mui-col-xs-offset-5 { + margin-left: 41.66667%; +} + +.mui-col-xs-offset-6 { + margin-left: 50%; +} + +.mui-col-xs-offset-7 { + margin-left: 58.33333%; +} + +.mui-col-xs-offset-8 { + margin-left: 66.66667%; +} + +.mui-col-xs-offset-9 { + margin-left: 75%; +} + +.mui-col-xs-offset-10 { + margin-left: 83.33333%; +} + +.mui-col-xs-offset-11 { + margin-left: 91.66667%; +} + +.mui-col-xs-offset-12 { + margin-left: 100%; +} + +@media (min-width: 544px) { + .mui-col-sm-1, .mui-col-sm-2, .mui-col-sm-3, .mui-col-sm-4, .mui-col-sm-5, .mui-col-sm-6, .mui-col-sm-7, .mui-col-sm-8, .mui-col-sm-9, .mui-col-sm-10, .mui-col-sm-11, .mui-col-sm-12 { + float: left; + } + .mui-col-sm-1 { + width: 8.33333%; + } + .mui-col-sm-2 { + width: 16.66667%; + } + .mui-col-sm-3 { + width: 25%; + } + .mui-col-sm-4 { + width: 33.33333%; + } + .mui-col-sm-5 { + width: 41.66667%; + } + .mui-col-sm-6 { + width: 50%; + } + .mui-col-sm-7 { + width: 58.33333%; + } + .mui-col-sm-8 { + width: 66.66667%; + } + .mui-col-sm-9 { + width: 75%; + } + .mui-col-sm-10 { + width: 83.33333%; + } + .mui-col-sm-11 { + width: 91.66667%; + } + .mui-col-sm-12 { + width: 100%; + } + .mui-col-sm-offset-0 { + margin-left: 0%; + } + .mui-col-sm-offset-1 { + margin-left: 8.33333%; + } + .mui-col-sm-offset-2 { + margin-left: 16.66667%; + } + .mui-col-sm-offset-3 { + margin-left: 25%; + } + .mui-col-sm-offset-4 { + margin-left: 33.33333%; + } + .mui-col-sm-offset-5 { + margin-left: 41.66667%; + } + .mui-col-sm-offset-6 { + margin-left: 50%; + } + .mui-col-sm-offset-7 { + margin-left: 58.33333%; + } + .mui-col-sm-offset-8 { + margin-left: 66.66667%; + } + .mui-col-sm-offset-9 { + margin-left: 75%; + } + .mui-col-sm-offset-10 { + margin-left: 83.33333%; + } + .mui-col-sm-offset-11 { + margin-left: 91.66667%; + } + .mui-col-sm-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 768px) { + .mui-col-md-1, .mui-col-md-2, .mui-col-md-3, .mui-col-md-4, .mui-col-md-5, .mui-col-md-6, .mui-col-md-7, .mui-col-md-8, .mui-col-md-9, .mui-col-md-10, .mui-col-md-11, .mui-col-md-12 { + float: left; + } + .mui-col-md-1 { + width: 8.33333%; + } + .mui-col-md-2 { + width: 16.66667%; + } + .mui-col-md-3 { + width: 25%; + } + .mui-col-md-4 { + width: 33.33333%; + } + .mui-col-md-5 { + width: 41.66667%; + } + .mui-col-md-6 { + width: 50%; + } + .mui-col-md-7 { + width: 58.33333%; + } + .mui-col-md-8 { + width: 66.66667%; + } + .mui-col-md-9 { + width: 75%; + } + .mui-col-md-10 { + width: 83.33333%; + } + .mui-col-md-11 { + width: 91.66667%; + } + .mui-col-md-12 { + width: 100%; + } + .mui-col-md-offset-0 { + margin-left: 0%; + } + .mui-col-md-offset-1 { + margin-left: 8.33333%; + } + .mui-col-md-offset-2 { + margin-left: 16.66667%; + } + .mui-col-md-offset-3 { + margin-left: 25%; + } + .mui-col-md-offset-4 { + margin-left: 33.33333%; + } + .mui-col-md-offset-5 { + margin-left: 41.66667%; + } + .mui-col-md-offset-6 { + margin-left: 50%; + } + .mui-col-md-offset-7 { + margin-left: 58.33333%; + } + .mui-col-md-offset-8 { + margin-left: 66.66667%; + } + .mui-col-md-offset-9 { + margin-left: 75%; + } + .mui-col-md-offset-10 { + margin-left: 83.33333%; + } + .mui-col-md-offset-11 { + margin-left: 91.66667%; + } + .mui-col-md-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 992px) { + .mui-col-lg-1, .mui-col-lg-2, .mui-col-lg-3, .mui-col-lg-4, .mui-col-lg-5, .mui-col-lg-6, .mui-col-lg-7, .mui-col-lg-8, .mui-col-lg-9, .mui-col-lg-10, .mui-col-lg-11, .mui-col-lg-12 { + float: left; + } + .mui-col-lg-1 { + width: 8.33333%; + } + .mui-col-lg-2 { + width: 16.66667%; + } + .mui-col-lg-3 { + width: 25%; + } + .mui-col-lg-4 { + width: 33.33333%; + } + .mui-col-lg-5 { + width: 41.66667%; + } + .mui-col-lg-6 { + width: 50%; + } + .mui-col-lg-7 { + width: 58.33333%; + } + .mui-col-lg-8 { + width: 66.66667%; + } + .mui-col-lg-9 { + width: 75%; + } + .mui-col-lg-10 { + width: 83.33333%; + } + .mui-col-lg-11 { + width: 91.66667%; + } + .mui-col-lg-12 { + width: 100%; + } + .mui-col-lg-offset-0 { + margin-left: 0%; + } + .mui-col-lg-offset-1 { + margin-left: 8.33333%; + } + .mui-col-lg-offset-2 { + margin-left: 16.66667%; + } + .mui-col-lg-offset-3 { + margin-left: 25%; + } + .mui-col-lg-offset-4 { + margin-left: 33.33333%; + } + .mui-col-lg-offset-5 { + margin-left: 41.66667%; + } + .mui-col-lg-offset-6 { + margin-left: 50%; + } + .mui-col-lg-offset-7 { + margin-left: 58.33333%; + } + .mui-col-lg-offset-8 { + margin-left: 66.66667%; + } + .mui-col-lg-offset-9 { + margin-left: 75%; + } + .mui-col-lg-offset-10 { + margin-left: 83.33333%; + } + .mui-col-lg-offset-11 { + margin-left: 91.66667%; + } + .mui-col-lg-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 1200px) { + .mui-col-xl-1, .mui-col-xl-2, .mui-col-xl-3, .mui-col-xl-4, .mui-col-xl-5, .mui-col-xl-6, .mui-col-xl-7, .mui-col-xl-8, .mui-col-xl-9, .mui-col-xl-10, .mui-col-xl-11, .mui-col-xl-12 { + float: left; + } + .mui-col-xl-1 { + width: 8.33333%; + } + .mui-col-xl-2 { + width: 16.66667%; + } + .mui-col-xl-3 { + width: 25%; + } + .mui-col-xl-4 { + width: 33.33333%; + } + .mui-col-xl-5 { + width: 41.66667%; + } + .mui-col-xl-6 { + width: 50%; + } + .mui-col-xl-7 { + width: 58.33333%; + } + .mui-col-xl-8 { + width: 66.66667%; + } + .mui-col-xl-9 { + width: 75%; + } + .mui-col-xl-10 { + width: 83.33333%; + } + .mui-col-xl-11 { + width: 91.66667%; + } + .mui-col-xl-12 { + width: 100%; + } + .mui-col-xl-offset-0 { + margin-left: 0%; + } + .mui-col-xl-offset-1 { + margin-left: 8.33333%; + } + .mui-col-xl-offset-2 { + margin-left: 16.66667%; + } + .mui-col-xl-offset-3 { + margin-left: 25%; + } + .mui-col-xl-offset-4 { + margin-left: 33.33333%; + } + .mui-col-xl-offset-5 { + margin-left: 41.66667%; + } + .mui-col-xl-offset-6 { + margin-left: 50%; + } + .mui-col-xl-offset-7 { + margin-left: 58.33333%; + } + .mui-col-xl-offset-8 { + margin-left: 66.66667%; + } + .mui-col-xl-offset-9 { + margin-left: 75%; + } + .mui-col-xl-offset-10 { + margin-left: 83.33333%; + } + .mui-col-xl-offset-11 { + margin-left: 91.66667%; + } + .mui-col-xl-offset-12 { + margin-left: 100%; + } +} + +/** + * MUI Panel module + */ +.mui-panel { + padding: 15px; + margin-bottom: 20px; + border-radius: 0; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); +} + +.mui-panel:before, .mui-panel:after { + content: " "; + display: table; +} + +.mui-panel:after { + clear: both; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-panel { + box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.12), -1px 0px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); + } +} + +/** + * MUI Select Component + */ +.mui-select { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-select:focus { + outline: 0; +} + +.mui-select:focus > select { + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + height: 32px; + width: 100%; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + outline: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0px; + box-shadow: none; + background-color: transparent; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg=="); + background-repeat: no-repeat; + background-position: right center; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + padding: 0 25px 0 0; +} + +.mui-select > select::-ms-expand { + display: none; +} + +.mui-select > select:focus { + outline: 0; + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select:disabled { + color: rgba(0, 0, 0, 0.38); + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-select__menu { + position: absolute; + z-index: 2; + min-width: 100%; + overflow-y: auto; + padding: 8px 0; + background-color: #FFF; + font-size: 16px; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-select__menu { + border-left: 1px solid rgba(0, 0, 0, 0.12); + border-top: 1px solid rgba(0, 0, 0, 0.12); + } +} + +.mui-select__menu > div { + padding: 0 22px; + height: 42px; + line-height: 42px; + cursor: pointer; + white-space: nowrap; +} + +.mui-select__menu > div:hover { + background-color: #E0E0E0; +} + +.mui-select__menu > div.mui--is-selected { + background-color: #EEEEEE; +} + +/** + * MUI Table Component + */ +th { + text-align: left; +} + +.mui-table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} + +.mui-table > thead > tr > th, +.mui-table > thead > tr > td, +.mui-table > tbody > tr > th, +.mui-table > tbody > tr > td, +.mui-table > tfoot > tr > th, +.mui-table > tfoot > tr > td { + padding: 10px; + line-height: 1.429; +} + +.mui-table > thead > tr > th { + border-bottom: 2px solid rgba(0, 0, 0, 0.12); + font-weight: 700; +} + +.mui-table > tbody + tbody { + border-top: 2px solid rgba(0, 0, 0, 0.12); +} + +.mui-table.mui-table--bordered > tbody > tr > td { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Tabs module + */ +.mui-tabs__bar { + list-style: none; + padding-left: 0; + margin-bottom: 0; + background-color: transparent; + white-space: nowrap; + overflow-x: auto; +} + +.mui-tabs__bar > li { + display: inline-block; +} + +.mui-tabs__bar > li > a { + display: block; + white-space: nowrap; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + color: rgba(0, 0, 0, 0.87); + cursor: default; + height: 48px; + line-height: 48px; + padding-left: 24px; + padding-right: 24px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-tabs__bar > li > a:hover { + text-decoration: none; +} + +.mui-tabs__bar > li.mui--is-active { + border-bottom: 2px solid #2196F3; +} + +.mui-tabs__bar > li.mui--is-active > a { + color: #2196F3; +} + +.mui-tabs__bar.mui-tabs__bar--justified { + display: table; + width: 100%; + table-layout: fixed; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li { + display: table-cell; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li > a { + text-align: center; + padding-left: 0px; + padding-right: 0px; +} + +.mui-tabs__pane { + display: none; +} + +.mui-tabs__pane.mui--is-active { + display: block; +} + +[data-mui-toggle="tab"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; +} + +/** + * MUI Textfield Component + */ +.mui-textfield { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-textfield > label { + position: absolute; + top: 0; + display: block; + width: 100%; + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + font-weight: 400; + line-height: 15px; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.mui-textfield > textarea { + padding-top: 5px; +} + +.mui-textfield > input, +.mui-textfield > textarea { + display: block; +} + +.mui-textfield > input:focus ~ label, +.mui-textfield > textarea:focus ~ label { + color: #2196F3; +} + +.mui-textfield--float-label > label { + position: absolute; + transform: translate(0px, 15px); + font-size: 16px; + line-height: 32px; + color: rgba(0, 0, 0, 0.26); + text-overflow: clip; + cursor: text; + pointer-events: none; +} + +.mui-textfield--float-label > input:focus ~ label, +.mui-textfield--float-label > textarea:focus ~ label { + transform: translate(0px, 0px); + font-size: 12px; + line-height: 15px; + text-overflow: ellipsis; +} + +.mui-textfield--float-label > input:not(:focus).mui--is-not-empty ~ label, .mui-textfield--float-label > input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield--float-label > input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus).mui--is-not-empty ~ label, +.mui-textfield--float-label > textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + line-height: 15px; + transform: translate(0px, 0px); + text-overflow: ellipsis; +} + +.mui-textfield--wrap-label { + display: table; + width: 100%; + padding-top: 0px; +} + +.mui-textfield--wrap-label:not(.mui-textfield--float-label) > label { + display: table-header-group; + position: static; + white-space: normal; + overflow-x: visible; +} + +.mui-textfield > input, +.mui-textfield > textarea { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + background-color: transparent; + color: rgba(0, 0, 0, 0.87); + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + outline: none; + width: 100%; + font-size: 16px; + padding: 0; + box-shadow: none; + border-radius: 0px; + background-image: none; +} + +.mui-textfield > input:focus, +.mui-textfield > textarea:focus { + border-color: #2196F3; + border-width: 2px; +} + +.mui-textfield > input:disabled, .mui-textfield > input:-moz-read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:-moz-read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input:disabled, .mui-textfield > input:read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input::-webkit-input-placeholder, +.mui-textfield > textarea::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::-moz-placeholder, +.mui-textfield > textarea::-moz-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input:-ms-input-placeholder, +.mui-textfield > textarea:-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::placeholder, +.mui-textfield > textarea::placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input { + height: 32px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > textarea { + min-height: 64px; +} + +.mui-textfield > textarea[rows]:not([rows="2"]):focus { + margin-bottom: -1px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):not(:required), +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + border-color: #F44336; + border-width: 2px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required) ~ label, .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty ~ label, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):not(:required) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty ~ label, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: #F44336; +} + +.mui-textfield:not(.mui-textfield--float-label) > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label { + color: #F44336; +} + +/** + * MUI Helpers module + */ +@keyframes mui-node-inserted { + from { + opacity: 0.99; + } + to { + opacity: 1; + } +} + +.mui--no-transition { + transition: none !important; +} + +.mui--no-user-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} + +.mui--text-left { + text-align: left !important; +} + +.mui--text-right { + text-align: right !important; +} + +.mui--text-center { + text-align: center !important; +} + +.mui--text-justify { + text-align: justify !important; +} + +.mui--text-nowrap { + white-space: nowrap !important; +} + +.mui--align-baseline { + vertical-align: baseline !important; +} + +.mui--align-top { + vertical-align: top !important; +} + +.mui--align-middle { + vertical-align: middle !important; +} + +.mui--align-bottom { + vertical-align: bottom !important; +} + +.mui--text-dark { + color: rgba(0, 0, 0, 0.87); +} + +.mui--text-dark-secondary { + color: rgba(0, 0, 0, 0.54); +} + +.mui--text-dark-hint { + color: rgba(0, 0, 0, 0.38); +} + +.mui--text-light { + color: #FFF; +} + +.mui--text-light-secondary { + color: rgba(255, 255, 255, 0.7); +} + +.mui--text-light-hint { + color: rgba(255, 255, 255, 0.3); +} + +.mui--text-accent { + color: rgba(255, 64, 129, 0.87); +} + +.mui--text-accent-secondary { + color: rgba(255, 64, 129, 0.54); +} + +.mui--text-accent-hint { + color: rgba(255, 64, 129, 0.38); +} + +.mui--text-black { + color: #000; +} + +.mui--text-white { + color: #FFF; +} + +.mui--text-danger { + color: #F44336; +} + +.mui-list--unstyled { + padding-left: 0; + list-style: none; +} + +.mui-list--inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} + +.mui-list--inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} + +.mui--z1, .mui-dropdown__menu, .mui-select__menu { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); +} + +.mui--z2 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z3 { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z4 { + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} + +.mui--z5 { + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); +} + +.mui--clearfix:before, .mui--clearfix:after { + content: " "; + display: table; +} + +.mui--clearfix:after { + clear: both; +} + +.mui--pull-right { + float: right !important; +} + +.mui--pull-left { + float: left !important; +} + +.mui--hide { + display: none !important; +} + +.mui--show { + display: block !important; +} + +.mui--invisible { + visibility: hidden; +} + +.mui--overflow-hidden { + overflow: hidden !important; +} + +.mui--overflow-hidden-x { + overflow-x: hidden !important; +} + +.mui--overflow-hidden-y { + overflow-y: hidden !important; +} + +.mui--visible-xs-block, +.mui--visible-xs-inline, +.mui--visible-xs-inline-block, +.mui--visible-sm-block, +.mui--visible-sm-inline, +.mui--visible-sm-inline-block, +.mui--visible-md-block, +.mui--visible-md-inline, +.mui--visible-md-inline-block, +.mui--visible-lg-block, +.mui--visible-lg-inline, +.mui--visible-lg-inline-block, +.mui--visible-xl-block, +.mui--visible-xl-inline, +.mui--visible-xl-inline-block { + display: none !important; +} + +@media (max-width: 543px) { + .mui-visible-xs { + display: block !important; + } + table.mui-visible-xs { + display: table; + } + tr.mui-visible-xs { + display: table-row !important; + } + th.mui-visible-xs, + td.mui-visible-xs { + display: table-cell !important; + } + .mui--visible-xs-block { + display: block !important; + } + .mui--visible-xs-inline { + display: inline !important; + } + .mui--visible-xs-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui-visible-sm { + display: block !important; + } + table.mui-visible-sm { + display: table; + } + tr.mui-visible-sm { + display: table-row !important; + } + th.mui-visible-sm, + td.mui-visible-sm { + display: table-cell !important; + } + .mui--visible-sm-block { + display: block !important; + } + .mui--visible-sm-inline { + display: inline !important; + } + .mui--visible-sm-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui-visible-md { + display: block !important; + } + table.mui-visible-md { + display: table; + } + tr.mui-visible-md { + display: table-row !important; + } + th.mui-visible-md, + td.mui-visible-md { + display: table-cell !important; + } + .mui--visible-md-block { + display: block !important; + } + .mui--visible-md-inline { + display: inline !important; + } + .mui--visible-md-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui-visible-lg { + display: block !important; + } + table.mui-visible-lg { + display: table; + } + tr.mui-visible-lg { + display: table-row !important; + } + th.mui-visible-lg, + td.mui-visible-lg { + display: table-cell !important; + } + .mui--visible-lg-block { + display: block !important; + } + .mui--visible-lg-inline { + display: inline !important; + } + .mui--visible-lg-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 1200px) { + .mui-visible-xl { + display: block !important; + } + table.mui-visible-xl { + display: table; + } + tr.mui-visible-xl { + display: table-row !important; + } + th.mui-visible-xl, + td.mui-visible-xl { + display: table-cell !important; + } + .mui--visible-xl-block { + display: block !important; + } + .mui--visible-xl-inline { + display: inline !important; + } + .mui--visible-xl-inline-block { + display: inline-block !important; + } +} + +@media (max-width: 543px) { + .mui--hidden-xs { + display: none !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui--hidden-sm { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui--hidden-md { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui--hidden-lg { + display: none !important; + } +} + +@media (min-width: 1200px) { + .mui--hidden-xl { + display: none !important; + } +} + +body.mui-body--scroll-lock { + overflow: hidden !important; +} + +/** + * MUI Overlay module + */ +#mui-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 99999999; + background-color: rgba(0, 0, 0, 0.2); + overflow: auto; +} + +/** + * MUI Ripple module + */ +.mui-ripple-effect { + position: absolute; + border-radius: 50%; + pointer-events: none; + opacity: 0; + animation: mui-ripple-animation 2s; +} + +@keyframes mui-ripple-animation { + from { + transform: scale(1); + opacity: 0.4; + } + to { + transform: scale(100); + opacity: 0; + } +} + +.mui-btn > .mui-ripple-effect { + background-color: #a6a6a6; +} + +.mui-btn--primary > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--dark > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--danger > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--accent > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--flat > .mui-ripple-effect { + background-color: #a6a6a6; +} + +/** + * MUI Typography module + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; +} + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; +} + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; +} + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; +} + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; +} + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; +} + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; +} + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; +} + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; +} + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; +} + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; +} + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; +} diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.min.css b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.min.css new file mode 100644 index 0000000..750f365 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/css/mui.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase} \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-inline.css b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-inline.css new file mode 100644 index 0000000..da4dcc2 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-inline.css @@ -0,0 +1,686 @@ +body { + width: 100% !important; + min-width: 100%; + margin: 0; + padding: 0; +} + +img { + border: 0 none; + height: auto; + line-height: 100%; + outline: none; + text-decoration: none; +} + +a img { + border: 0 none; +} + +table { + border-spacing: 0; + border-collapse: collapse; +} + +td { + padding: 0; + text-align: left; + word-break: break-word; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; + border-collapse: collapse !important; +} + +table, td { + mso-table-lspace: 0pt; + mso-table-rspace: 0pt; +} + +body, +table, +td, +p, +a, +li, +blockquote { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +img { + -ms-interpolation-mode: bicubic; +} + +/** + * MUI Colors module + */ +/** + * MUI Email Reboot + */ +body { + color: #212121; + font-family: "Helvetica Neue", Helvetica, Arial, Verdana, "Trebuchet MS"; + font-weight: 400; + font-size: 14px; + line-height: 1.429; + letter-spacing: 0.001em; + background-color: #FFF; +} + +a { + color: #2196F3; + text-decoration: none; +} + +p { + margin: 0 0 10px; +} + +hr { + color: #e0e0e0; + background-color: #e0e0e0; + height: 1px; + border: none; +} + +strong { + font-weight: 700; +} + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +/** + * MUI Email Body Component + */ +.mui-body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + color: #212121; + font-family: "Helvetica Neue", Helvetica, Arial, Verdana, "Trebuchet MS"; + font-weight: 400; + font-size: 14px; + line-height: 1.429; + letter-spacing: 0.001em; + background-color: #FFF; +} + +/** + * MUI Email Buttons + */ +.mui-btn { + cursor: pointer; + white-space: nowrap; +} + +a.mui-btn { + font-weight: 500; + font-size: 14px; + color: #212121; + line-height: 14px; + letter-spacing: 0.03em; + text-transform: uppercase; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + border-top: 1px solid #FFF; + border-left: 1px solid #FFF; + border-right: 1px solid #FFF; + border-bottom: 1px solid #FFF; + color: #212121; + background-color: #FFF; + display: inline-block; + text-decoration: none; + text-align: center; + border-radius: 3px; + padding: 10px 25px; + background-color: transparent; +} + +a.mui-btn.mui-btn--raised { + border-top: 1px solid #f2f2f2; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + border-bottom: 2px solid #bababa; +} + +a.mui-btn.mui-btn--flat { + background-color: transparent; + color: #212121; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--primary { + border-top: 1px solid #2196F3; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 1px solid #2196F3; + color: #FFF; + background-color: #2196F3; +} + +a.mui-btn.mui-btn--primary.mui-btn--raised { + border-top: 1px solid #51adf6; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 2px solid #0a6ebd; +} + +a.mui-btn.mui-btn--primary.mui-btn--flat { + background-color: transparent; + color: #2196F3; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--danger { + border-top: 1px solid #F44336; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 1px solid #F44336; + color: #FFF; + background-color: #F44336; +} + +a.mui-btn.mui-btn--danger.mui-btn--raised { + border-top: 1px solid #f77066; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 2px solid #d2190b; +} + +a.mui-btn.mui-btn--danger.mui-btn--flat { + background-color: transparent; + color: #F44336; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--dark { + border-top: 1px solid #424242; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 1px solid #424242; + color: #FFF; + background-color: #424242; +} + +a.mui-btn.mui-btn--dark.mui-btn--raised { + border-top: 1px solid #5c5c5c; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 2px solid #1c1c1c; +} + +a.mui-btn.mui-btn--dark.mui-btn--flat { + background-color: transparent; + color: #424242; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--accent { + border-top: 1px solid #FF4081; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 1px solid #FF4081; + color: #FFF; + background-color: #FF4081; +} + +a.mui-btn.mui-btn--accent.mui-btn--raised { + border-top: 1px solid #ff73a3; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 2px solid #f30053; +} + +a.mui-btn.mui-btn--accent.mui-btn--flat { + background-color: transparent; + color: #FF4081; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn > tr > td, +table.mui-btn > tbody > tr > td { + background-color: #FFF; +} + +table.mui-btn > tr > td > a, +table.mui-btn > tbody > tr > td > a { + color: #212121; + border-top: 1px solid #FFF; + border-left: 1px solid #FFF; + border-right: 1px solid #FFF; + border-bottom: 1px solid #FFF; +} + +table.mui-btn.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #f2f2f2; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + border-bottom: 2px solid #bababa; +} + +table.mui-btn.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--flat > tbody > tr > td > a { + color: #212121; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn > tr > td, +table.mui-btn > tbody > tr > td { + border-radius: 3px; +} + +table.mui-btn > tr > td > a, +table.mui-btn > tbody > tr > td > a { + font-weight: 500; + font-size: 14px; + color: #212121; + line-height: 14px; + letter-spacing: 0.03em; + text-transform: uppercase; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + display: inline-block; + text-decoration: none; + text-align: center; + border-radius: 3px; + padding: 10px 25px; + background-color: transparent; +} + +table.mui-btn.mui-btn--primary > tr > td, +table.mui-btn.mui-btn--primary > tbody > tr > td { + background-color: #2196F3; +} + +table.mui-btn.mui-btn--primary > tr > td > a, +table.mui-btn.mui-btn--primary > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #2196F3; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 1px solid #2196F3; +} + +table.mui-btn.mui-btn--primary.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--primary.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #51adf6; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 2px solid #0a6ebd; +} + +table.mui-btn.mui-btn--primary.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--primary.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--primary.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--primary.mui-btn--flat > tbody > tr > td > a { + color: #2196F3; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn.mui-btn--danger > tr > td, +table.mui-btn.mui-btn--danger > tbody > tr > td { + background-color: #F44336; +} + +table.mui-btn.mui-btn--danger > tr > td > a, +table.mui-btn.mui-btn--danger > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #F44336; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 1px solid #F44336; +} + +table.mui-btn.mui-btn--danger.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--danger.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #f77066; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 2px solid #d2190b; +} + +table.mui-btn.mui-btn--danger.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--danger.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--danger.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--danger.mui-btn--flat > tbody > tr > td > a { + color: #F44336; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn.mui-btn--dark > tr > td, +table.mui-btn.mui-btn--dark > tbody > tr > td { + background-color: #424242; +} + +table.mui-btn.mui-btn--dark > tr > td > a, +table.mui-btn.mui-btn--dark > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #424242; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 1px solid #424242; +} + +table.mui-btn.mui-btn--dark.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--dark.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #5c5c5c; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 2px solid #1c1c1c; +} + +table.mui-btn.mui-btn--dark.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--dark.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--dark.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--dark.mui-btn--flat > tbody > tr > td > a { + color: #424242; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn.mui-btn--accent > tr > td, +table.mui-btn.mui-btn--accent > tbody > tr > td { + background-color: #FF4081; +} + +table.mui-btn.mui-btn--accent > tr > td > a, +table.mui-btn.mui-btn--accent > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #FF4081; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 1px solid #FF4081; +} + +table.mui-btn.mui-btn--accent.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--accent.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #ff73a3; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 2px solid #f30053; +} + +table.mui-btn.mui-btn--accent.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--accent.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--accent.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--accent.mui-btn--flat > tbody > tr > td > a { + color: #FF4081; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn--small, +table.mui-btn--small > tr > td > a, +table.mui-btn--small > tbody > tr > td > a { + font-size: 13px; + padding: 7.8px 15px; +} + +a.mui-btn--large, +table.mui-btn--large > tr > td > a, +table.mui-btn--large > tbody > tr > td > a { + font-size: 14px; + padding: 19px 25px; +} + +/** + * MUI Email Containers + */ +.mui-container, .mui-container-fixed { + max-width: 600px; + display: block; + margin: 0 auto; + clear: both; + text-align: left; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container-fixed { + width: 600px; +} + +/** + * MUI Email Dividers + */ +.mui-divider { + display: block; + height: 1px; + background-color: #e0e0e0; +} + +.mui--divider-top { + border-top: 1px solid #e0e0e0; +} + +.mui--divider-bottom { + border-bottom: 1px solid #e0e0e0; +} + +.mui--divider-left { + border-left: 1px solid #e0e0e0; +} + +.mui--divider-right { + border-right: 1px solid #e0e0e0; +} + +/** + * MUI Email Panel + */ +.mui-panel { + padding: 15px; + border-radius: 0; + background-color: #FFF; + border-top: 1px solid #ededed; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + border-bottom: 2px solid #d4d4d4; +} + +/** + * MUI Email Helpers + */ +.mui--text-left { + text-align: left; +} + +.mui--text-right { + text-align: right; +} + +.mui--text-center { + text-align: center; +} + +.mui--text-justify { + text-align: justify; +} + +.mui-image--fix { + display: block; +} + +.mui--text-dark { + color: #212121; +} + +.mui--text-dark-secondary { + color: #757575; +} + +.mui--text-dark-hint { + color: #9e9e9e; +} + +.mui--text-light { + color: #FFF; +} + +.mui--text-light-secondary { + color: #b3b3b3; +} + +.mui--text-light-hint { + color: gray; +} + +.mui--text-accent { + color: #FF4081; +} + +.mui--text-accent-secondary { + color: #ff82ad; +} + +.mui--text-accent-hint { + color: #ffa6c4; +} + +.mui--text-black { + color: #000; +} + +.mui--text-white { + color: #FFF; +} + +.mui--text-danger { + color: #F44336; +} + +/** + * MUI Email Typography + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; +} + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; +} + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; +} + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; +} + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; +} + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; +} + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; +} + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; +} + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; +} + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; +} + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; +} + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; +} diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-styletag.css b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-styletag.css new file mode 100644 index 0000000..1471793 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/email/mui-email-styletag.css @@ -0,0 +1,36 @@ +/** + * MUI Colors module + */ +/** + * MUI Email Styletag + */ +#outlook a { + padding: 0; +} + +.ReadMsgBody { + width: 100%; +} + +.ExternalClass { + width: 100%; +} + +.ExternalClass, +.ExternalClass p, +.ExternalClass span, +.ExternalClass font, +.ExternalClass td, +.ExternalClass div { + line-height: 100%; +} + +.mui-container-fixed { + width: 600px; + display: block; + margin: 0 auto; + clear: both; + text-align: left; + padding-left: 15px; + padding-right: 15px; +} diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-angular-combined.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-angular-combined.js new file mode 100644 index 0000000..ab809aa --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-angular-combined.js @@ -0,0 +1,2 @@ +!function(i){var e=i.babelHelpers={};e.interopRequireDefault=function(i){return i&&i.__esModule?i:{"default":i}},e.interopRequireWildcard=function(i){if(i&&i.__esModule)return i;var e={};if(null!=i)for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t]);return e["default"]=i,e}}("undefined"==typeof global?self:global),function i(e,t,o){function n(a,r){if(!t[a]){if(!e[a]){var u="function"==typeof require&&require;if(!r&&u)return u(a,!0);if(l)return l(a,!0);throw new Error("Cannot find module '"+a+"'")}var m=t[a]={exports:{}};e[a][0].call(m.exports,function(i){var t=e[a][1][i];return n(t?t:i)},m,m.exports,i,e,t,o)}return t[a].exports}for(var l="function"==typeof require&&require,a=0;as&&(f=r+(t+1)*a-(-1*o+n+l),b=e*a+2*r-p,g=Math.min(f,b)),{height:p+"px",top:o+"px",scrollTop:g}}var n=15,l=32,a=42,r=8;e.exports={getMenuPositionalCSS:o}},{}],5:[function(i,e,t){"use strict";function o(i,e){if(e&&i.setAttribute){for(var t,o=b(i),n=e.split(" "),l=0;l-1:!1}function a(i){if(void 0===i)return"undefined";var e=Object.prototype.toString.call(i);if(0===e.indexOf("[object "))return e.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+e)}function r(i,e,t,o){o=void 0===o?!1:o,i.addEventListener(e,t,o);var n=i._muiEventCache=i._muiEventCache||{};n[e]=n[e]||[],n[e].push([t,o])}function u(i,e,t,o){o=void 0===o?!1:o;var n,l,a=i._muiEventCache=i._muiEventCache||{},r=a[e]||[];for(l=r.length;l--;)n=r[l],(void 0===t||n[0]===t&&n[1]===o)&&(r.splice(l,1),i.removeEventListener(e,n[0],n[1]))}function m(i,e,t,o){r(i,e,function n(o){t&&t.apply(this,arguments),u(i,e,n)},o)}function d(i,e){var t=window;if(void 0===e){if(i===t){var o=document.documentElement;return(t.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return i.scrollLeft}i===t?t.scrollTo(e,s(t)):i.scrollLeft=e}function s(i,e){var t=window;if(void 0===e){if(i===t){var o=document.documentElement;return(t.pageYOffset||o.scrollTop)-(o.clientTop||0)}return i.scrollTop}i===t?t.scrollTo(d(t),e):i.scrollTop=e}function c(i){var e=window,t=i.getBoundingClientRect(),o=s(e),n=d(e);return{top:t.top+o,left:t.left+n,height:t.height,width:t.width}}function p(i){var e=!1,t=!0,o=document,n=o.defaultView,l=o.documentElement,a=o.addEventListener?"addEventListener":"attachEvent",r=o.addEventListener?"removeEventListener":"detachEvent",u=o.addEventListener?"":"on",m=function c(t){"readystatechange"==t.type&&"complete"!=o.readyState||(("load"==t.type?n:o)[r](u+t.type,c,!1),!e&&(e=!0)&&i.call(n,t.type||t))},d=function p(){try{l.doScroll("left")}catch(i){return void setTimeout(p,50)}m("poll")};if("complete"==o.readyState)i.call(n,"lazy");else{if(o.createEventObject&&l.doScroll){try{t=!n.frameElement}catch(s){}t&&d()}o[a](u+"DOMContentLoaded",m,!1),o[a](u+"readystatechange",m,!1),n[a](u+"load",m,!1)}}function f(i,e){if(e&&i.setAttribute){for(var t,o=b(i),n=e.split(" "),l=0;l=0;)o=o.replace(" "+t+" "," ");i.setAttribute("class",o.trim())}}function b(i){var e=(i.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+e+" "}function g(i){return i.replace(v,function(i,e,t,o){return o?t.toUpperCase():t}).replace(y,"Moz$1")}function x(i,e,t){var o;return o=t.getPropertyValue(e),""!==o||i.ownerDocument||(o=i.style[g(e)]),o}var h,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;h={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},e.exports={addClass:o,css:n,hasClass:l,off:u,offset:c,on:r,one:m,ready:p,removeClass:f,type:a,scrollLeft:d,scrollTop:s}},{}],6:[function(i,e,t){"use strict";function o(){var i=window;if(g.debug&&"undefined"!=typeof i.console)try{i.console.log.apply(i.console,arguments)}catch(e){var t=Array.prototype.slice.call(arguments);i.console.log(t.join("\n"))}}function n(i){var e,t=document;e=t.head||t.getElementsByTagName("head")[0]||t.documentElement;var o=t.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=i:o.appendChild(t.createTextNode(i)),e.insertBefore(o,e.firstChild),o}function l(i,e){if(!e)throw new Error("MUI: "+i);"undefined"!=typeof console&&console.error("MUI Warning: "+i)}function a(i){if(h.push(i),void 0===h._initialized){var e=document;x.on(e,"animationstart",r),x.on(e,"mozAnimationStart",r),x.on(e,"webkitAnimationStart",r),h._initialized=!0}}function r(i){if("mui-node-inserted"===i.animationName)for(var e=i.target,t=h.length-1;t>=0;t--)h[t](e)}function u(i){var e="";for(var t in i)e+=i[t]?t+" ":"";return e.trim()}function m(){if(void 0!==b)return b;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",b="auto"===i.style.pointerEvents}function d(i,e){return function(){i[e].apply(i,arguments)}}function s(i,e,t,o,n){var l,a=document.createEvent("HTMLEvents"),t=void 0!==t?t:!0,o=void 0!==o?o:!0;if(a.initEvent(e,t,o),n)for(l in n)a[l]=n[l];return i&&i.dispatchEvent(a),a}function c(){if(v+=1,1===v){var i=window,e=document;f={left:x.scrollLeft(i),top:x.scrollTop(i)},x.addClass(e.body,y),i.scrollTo(f.left,f.top)}}function p(){if(0!==v&&(v-=1,0===v)){var i=window,e=document;x.removeClass(e.body,y),i.scrollTo(f.left,f.top)}}var f,b,g=i("../config"),x=i("./jqLite"),h=[],v=0,y="mui-body--scroll-lock";e.exports={callback:d,classNames:u,disableScrollLock:p,dispatchEvent:s,enableScrollLock:c,log:o,loadStyle:n,onNodeInserted:a,raiseError:l,supportsPointerEvents:m}},{"../config":3,"./jqLite":5}],7:[function(i,e,t){e.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],8:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.appbar";n["default"].module(l,[]).directive("muiAppbar",function(){return{restrict:"AE",transclude:!0,replace:!0,template:'
        ',link:function(i,e,t,o,n){n(i,function(i){e.append(i)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],9:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l=i("../js/lib/jqLite"),a=babelHelpers.interopRequireWildcard(l),r="mui.button";n["default"].module(r,[]).directive("muiButton",function(){return{restrict:"AE",scope:{type:"@?"},replace:!0,template:'',transclude:!0,link:function(i,e,t){var o=n["default"].isUndefined,l=e[0];l._muiDropdown=!0,l._muiRipple=!0,!o(t.disabled)&&o(t.ngDisabled)&&e.prop("disabled",!0),n["default"].forEach(["variant","color","size"],function(i){var o=t[i];o&&e.addClass("mui-btn--"+o)})}}}).directive("muiRipple",["$timeout",function(i){return{restrict:"A",link:function(e,t,o){var l="mui-ripple-effect";t.on("mousedown",function(e){if(!t.prop("disabled")){var o,r,u=a.offset(t[0]),m=e.pageX-u.left,d=e.pageY-u.top;o=u.height,t.hasClass("mui-btn--fab")&&(o=u.height/2),r=o/2;var s={height:o+"px",width:o+"px",top:d-r+"px",left:m-r+"px"},c=n["default"].element("
        ").addClass(l);for(var p in s)c.css(p,s[p]);t.append(c),i(function(){c.remove()},2e3)}})}}}]),t["default"]=r,e.exports=t["default"]},{"../js/lib/jqLite":5,angular:"aeQg5j"}],10:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.caret";n["default"].module(l,[]).directive("muiCaret",function(){return{restrict:"AE",replace:!0,template:''}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],11:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.checkbox";n["default"].module(l,[]).directive("muiCheckbox",function(){return{restrict:"AE",replace:!0,require:["?ngModel"],scope:{label:"@",name:"@",value:"@",ngModel:"=",ngDisabled:"="},template:'
        '}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],12:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.col";n["default"].module(l,[]).directive("muiCol",function(){return{restrict:"AE",scope:!0,replace:!0,template:"
        ",transclude:!0,link:function(i,e,t,o,l){l(i,function(i){e.append(i)});var a={xs:"mui-col-xs-",sm:"mui-col-sm-",md:"mui-col-md-",lg:"mui-col-lg-","xs-offset":"mui-col-xs-offset-","sm-offset":"mui-col-sm-offset-","md-offset":"mui-col-md-offset-","lg-offset":"mui-col-lg-offset-"};n["default"].forEach(a,function(i,o){var n=t[t.$normalize(o)];n&&e.addClass(i+n)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],13:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.container";n["default"].module(l,[]).directive("muiContainer",function(){return{restrict:"AE",template:'
        ',transclude:!0,scope:!0,replace:!0,link:function(i,e,t,o,l){l(i,function(i){e.append(i)}),n["default"].isUndefined(t.fluid)||e.removeClass("mui-container").addClass("mui-container-fluid")}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],14:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.divider";n["default"].module(l,[]).directive("muiDivider",function(){return{restrict:"AE",replace:!0,compile:function(i,e){i.addClass("mui-divider")}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],15:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.dropdown-item";n["default"].module(l,[]).directive("muiDropdownItem",function(){return{restrict:"AE",replace:!0,scope:{link:"@"},transclude:!0,template:'
      • '}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],16:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.dropdown";n["default"].module(l,[]).directive("muiDropdown",["$timeout","$compile",function(i,e){return{restrict:"AE",transclude:!0,replace:!0,scope:{variant:"@",color:"@",size:"@",open:"=?",ngDisabled:"="},template:'
          ',link:function(i,e,t){function o(){i.open=!1,i.$apply()}var l,a,r="mui-dropdown__menu",u="mui--is-open",m="mui-dropdown__menu--right",d=n["default"].isUndefined;l=n["default"].element(e[0].querySelector("."+r)),a=n["default"].element(e[0].querySelector(".mui-btn")),l.css("margin-top","-3px"),d(t.open)||(i.open=!0),d(t.disabled)||a.attr("disabled",!0),d(t.rightAlign)||l.addClass(m),d(t.noCaret)?a.html(t.label+" "):a.html(t.label),i.$watch("open",function(i){i===!0?(l.addClass(u),document.addEventListener("click",o)):i===!1&&(l.removeClass(u),document.removeEventListener("click",o))}),i.onClick=function(e){i.disabled||(e.preventDefault(),e.stopPropagation(),i.open?i.open=!1:i.open=!0)}}}}]),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],17:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.form";n["default"].module(l,[]).directive("muiFormInline",function(){return{restrict:"A",link:function(i,e,t){e.addClass("mui-form--inline")}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],18:[function(i,e,t){"use strict";function o(i,e){e?i.removeClass(u).addClass(m):i.removeClass(m).addClass(u)}function n(i){var e,t,n="mui--is-dirty";return e={floatLabel:"@",hint:"@",label:"@",ngDisabled:"=",ngModel:"="},t='
          ',i?(e.rows="@",t+=''):(e.type="@",t+=''),t+="
          ",["$timeout",function(l){return{restrict:"AE",require:["ngModel"],scope:e,replace:!0,template:t,link:function(e,t,r,u){var m=t.find("input")||t.find("textarea"),d=t.find("label"),s=u[0],c=(u[1],a["default"].isUndefined),p=m[0];p&&(p._muiTextfield=!0),t.removeAttr("ng-change"),t.removeAttr("ng-model"),i?e.rows=e.rows||2:e.type=e.type||"text",c(r.autofocus)||m[0].focus(),c(r.required)||m.prop("required",!0),c(r.invalid)||m.addClass("mui--is-invalid"),o(m,e.ngModel),c(e.floatLabel)||(t.addClass("mui-textfield--float-label"),l(function(){d.css({transition:".15s ease-out","-webkit-transition":".15s ease-out","-moz-transition":".15s ease-out","-o-transition":".15s ease-out","-ms-transition":".15s ease-out"})},150)),e.onChange=function(){var i=e.ngModel;s&&s.$setViewValue(i),o(m,i),m.addClass(n)},e.onFocus=function(){m.addClass(n)}}}}]}Object.defineProperty(t,"__esModule",{value:!0});var l=window.angular,a=babelHelpers.interopRequireDefault(l),r="mui.input",u="mui--is-empty",m="mui--is-not-empty";a["default"].module(r,[]).directive("muiInput",n(!1)).directive("muiTextarea",n(!0)),t["default"]=r,e.exports=t["default"]},{angular:"aeQg5j"}],19:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.panel";n["default"].module(l,[]).directive("muiPanel",function(){return{restrict:"AE",replace:!0,scope:!0,template:'
          ',transclude:!0,link:function(i,e,t,o,n){n(i,function(i){e.append(i)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],20:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.radio";n["default"].module(l,[]).directive("muiRadio",function(){return{restrict:"AE",replace:!0,require:["?ngModel"],scope:{label:"@",name:"@",value:"@",ngModel:"=",ngDisabled:"="},template:'
          '}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],21:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.row";n["default"].module("mui.row",[]).directive("muiRow",function(){return{restrict:"AE",scope:!0,replace:!0,template:'
          ',transclude:!0,link:function(i,e,t,o,n){n(i,function(i){e.append(i)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],22:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l=i("../js/lib/forms"),a=babelHelpers.interopRequireWildcard(l),r=i("../js/lib/util"),u=babelHelpers.interopRequireWildcard(r),m=i("../js/lib/jqLite"),d=babelHelpers.interopRequireWildcard(m),s="mui.select";n["default"].module(s,[]).directive("muiSelect",["$timeout",function(i){return{restrict:"AE",require:["ngModel"],scope:{name:"@",ngDisabled:"=",ngModel:"="},replace:!0,transclude:!0,template:'
          {{option.label}}
          ',link:function(e,t,o,l,r){function m(){e.isOpen=!1,e.$digest()}var s=t,c=t.find("div"),p=t.find("select"),f=n["default"].isUndefined;p[0]._muiSelect=!0,e.options=[],e.isOpen=!1,e.useDefault=!1,e.origTabIndex=p[0].tabIndex,e.menuIndex=0,f(o.useDefault)||(e.useDefault=!0),s.prop("tabIndex",-1),r(function(i){var t,o;for(o in i)t=i[o],"MUI-OPTION"===t.tagName&&e.options.push({value:t.getAttribute("value"),label:t.getAttribute("label")})}),e.onClick=function(){e.useDefault!==!0&&(e.isOpen=!0,s[0].focus())},e.onFocus=function(){if(e.useDefault!==!0){var i=p[0];e.origTabIndex=i.tabIndex,i.tabIndex=-1,s[0].focus()}},e.onMousedown=function(i){e.useDefault!==!0&&i.preventDefault()},e.onWrapperBlur=function(){p[0].tabIndex=e.origTabIndex},e.onWrapperFocus=function(i){return p[0].disabled?s[0].blur():void 0},e.onWrapperKeydown=function(i){var t=i.keyCode;if(e.isOpen===!1)32!==t&&38!==t&&40!==t||(i.preventDefault(),e.isOpen=!0);else{if(9===t)return e.isOpen=!1;27!==t&&40!==t&&38!==t&&13!==t||i.preventDefault(),27===t?e.isOpen=!1:40===t?e.menuIndex0&&(e.menuIndex-=1):13===t&&(e.ngModel=e.options[e.menuIndex].value,e.isOpen=!1)}},e.chooseOption=function(i){e.ngModel=i.value,e.isOpen=!1},e.$watch("isOpen",function(o,n){if(o!==n&&e.useDefault!==!0)if(o===!0){u.enableScrollLock();var l,r=e.ngModel,s=e.options,f=s.length;for(l=0;f>l;l++)if(s[l].value===r){e.menuIndex=l;break}var b=a.getMenuPositionalCSS(t[0],e.options.length,e.menuIndex);c.css(b),d.scrollTop(c[0],b.scrollTop),i(function(){d.on(document,"click",m),d.on(window,"resize",m)})}else p[0].focus(),u.disableScrollLock(),d.off(document,"click",m),d.off(window,"resize",m)})}}}]),t["default"]=s,e.exports=t["default"]},{"../js/lib/forms":4,"../js/lib/jqLite":5,"../js/lib/util":6,angular:"aeQg5j"}],23:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l=i("../js/lib/jqLite"),a=(babelHelpers.interopRequireWildcard(l),"mui.tabs");n["default"].module(a,[]).directive("muiTabs",function(){return{restrict:"EA",transclude:!0,scope:{selectedId:"=?selected",onChange:"&?"},template:'',controller:["$scope",function(i){var e=0;i.tabs=[],this.addTab=function(t){var o=e;return e+=1,i.tabs.push({label:t.label}),t.isActive&&(i.selectedId=o),o}}],link:function(i,e,t,o,l){var a=n["default"].isUndefined;a(i.selectedId)&&(i.selectedId=0),i.justified=!1,a(t.justified)||(i.justified=!0),i.onClick=function(e){e!==i.selectedId&&(i.selectedId=e,i.onChange&&i.$$postDigest(i.onChange))},l(i,function(i){e.append(i)})}}}).directive("muiTab",["$parse",function(i){return{require:"^?muiTabs",restrict:"AE",scope:{active:"&?",label:"@?"},transclude:!0,template:'
          ',link:function(e,t,o,n,l){var a=i(o.onSelect),r=i(o.onDeselect),u=e.$parent.$parent;e.tabId=null,n&&(e.tabId=n.addTab({label:e.label,isActive:Boolean(e.active)})),l(e,function(i){t.find("div").append(i)}),e.$parent.$watch("selectedId",function(i,t){i!==t&&(i===e.tabId&&a(u),t===e.tabId&&r(u))})}}}]),t["default"]=a,e.exports=t["default"]},{"../js/lib/jqLite":5,angular:"aeQg5j"}],24:[function(i,e,t){e.exports=i(6)},{"../config":3,"./jqLite":5}]},{},[2]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-colors.css b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-colors.css new file mode 100644 index 0000000..db7e7ba --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-colors.css @@ -0,0 +1 @@ +.mui--color-red-50{color:#FFEBEE!important}.mui--bg-color-red-50{background-color:#FFEBEE!important}.mui--color-red-100{color:#FFCDD2!important}.mui--bg-color-red-100{background-color:#FFCDD2!important}.mui--color-red-200{color:#EF9A9A!important}.mui--bg-color-red-200{background-color:#EF9A9A!important}.mui--color-red-300{color:#E57373!important}.mui--bg-color-red-300{background-color:#E57373!important}.mui--color-red-400{color:#EF5350!important}.mui--color-red,.mui--color-red-500{color:#F44336!important}.mui--bg-color-red-400{background-color:#EF5350!important}.mui--bg-color-red,.mui--bg-color-red-500{background-color:#F44336!important}.mui--color-red-600{color:#E53935!important}.mui--bg-color-red-600{background-color:#E53935!important}.mui--color-red-700{color:#D32F2F!important}.mui--bg-color-red-700{background-color:#D32F2F!important}.mui--color-red-800{color:#C62828!important}.mui--bg-color-red-800{background-color:#C62828!important}.mui--color-red-900{color:#B71C1C!important}.mui--bg-color-red-900{background-color:#B71C1C!important}.mui--color-red-A100{color:#FF8A80!important}.mui--bg-color-red-A100{background-color:#FF8A80!important}.mui--color-red-A200{color:#FF5252!important}.mui--bg-color-red-A200{background-color:#FF5252!important}.mui--color-red-A400{color:#FF1744!important}.mui--bg-color-red-A400{background-color:#FF1744!important}.mui--color-red-A700{color:#D50000!important}.mui--bg-color-red-A700{background-color:#D50000!important}.mui--color-pink-50{color:#FCE4EC!important}.mui--bg-color-pink-50{background-color:#FCE4EC!important}.mui--color-pink-100{color:#F8BBD0!important}.mui--bg-color-pink-100{background-color:#F8BBD0!important}.mui--color-pink-200{color:#F48FB1!important}.mui--bg-color-pink-200{background-color:#F48FB1!important}.mui--color-pink-300{color:#F06292!important}.mui--bg-color-pink-300{background-color:#F06292!important}.mui--color-pink-400{color:#EC407A!important}.mui--color-pink,.mui--color-pink-500{color:#E91E63!important}.mui--bg-color-pink-400{background-color:#EC407A!important}.mui--bg-color-pink,.mui--bg-color-pink-500{background-color:#E91E63!important}.mui--color-pink-600{color:#D81B60!important}.mui--bg-color-pink-600{background-color:#D81B60!important}.mui--color-pink-700{color:#C2185B!important}.mui--bg-color-pink-700{background-color:#C2185B!important}.mui--color-pink-800{color:#AD1457!important}.mui--bg-color-pink-800{background-color:#AD1457!important}.mui--color-pink-900{color:#880E4F!important}.mui--bg-color-pink-900{background-color:#880E4F!important}.mui--color-pink-A100{color:#FF80AB!important}.mui--bg-color-pink-A100{background-color:#FF80AB!important}.mui--color-pink-A200{color:#FF4081!important}.mui--bg-color-pink-A200{background-color:#FF4081!important}.mui--color-pink-A400{color:#F50057!important}.mui--bg-color-pink-A400{background-color:#F50057!important}.mui--color-pink-A700{color:#C51162!important}.mui--bg-color-pink-A700{background-color:#C51162!important}.mui--color-purple-50{color:#F3E5F5!important}.mui--bg-color-purple-50{background-color:#F3E5F5!important}.mui--color-purple-100{color:#E1BEE7!important}.mui--bg-color-purple-100{background-color:#E1BEE7!important}.mui--color-purple-200{color:#CE93D8!important}.mui--bg-color-purple-200{background-color:#CE93D8!important}.mui--color-purple-300{color:#BA68C8!important}.mui--bg-color-purple-300{background-color:#BA68C8!important}.mui--color-purple-400{color:#AB47BC!important}.mui--color-purple,.mui--color-purple-500{color:#9C27B0!important}.mui--bg-color-purple-400{background-color:#AB47BC!important}.mui--bg-color-purple,.mui--bg-color-purple-500{background-color:#9C27B0!important}.mui--color-purple-600{color:#8E24AA!important}.mui--bg-color-purple-600{background-color:#8E24AA!important}.mui--color-purple-700{color:#7B1FA2!important}.mui--bg-color-purple-700{background-color:#7B1FA2!important}.mui--color-purple-800{color:#6A1B9A!important}.mui--bg-color-purple-800{background-color:#6A1B9A!important}.mui--color-purple-900{color:#4A148C!important}.mui--bg-color-purple-900{background-color:#4A148C!important}.mui--color-purple-A100{color:#EA80FC!important}.mui--bg-color-purple-A100{background-color:#EA80FC!important}.mui--color-purple-A200{color:#E040FB!important}.mui--bg-color-purple-A200{background-color:#E040FB!important}.mui--color-purple-A400{color:#D500F9!important}.mui--bg-color-purple-A400{background-color:#D500F9!important}.mui--color-purple-A700{color:#A0F!important}.mui--bg-color-purple-A700{background-color:#A0F!important}.mui--color-deep-purple-50{color:#EDE7F6!important}.mui--bg-color-deep-purple-50{background-color:#EDE7F6!important}.mui--color-deep-purple-100{color:#D1C4E9!important}.mui--bg-color-deep-purple-100{background-color:#D1C4E9!important}.mui--color-deep-purple-200{color:#B39DDB!important}.mui--bg-color-deep-purple-200{background-color:#B39DDB!important}.mui--color-deep-purple-300{color:#9575CD!important}.mui--bg-color-deep-purple-300{background-color:#9575CD!important}.mui--color-deep-purple-400{color:#7E57C2!important}.mui--color-deep-purple,.mui--color-deep-purple-500{color:#673AB7!important}.mui--bg-color-deep-purple-400{background-color:#7E57C2!important}.mui--bg-color-deep-purple,.mui--bg-color-deep-purple-500{background-color:#673AB7!important}.mui--color-deep-purple-600{color:#5E35B1!important}.mui--bg-color-deep-purple-600{background-color:#5E35B1!important}.mui--color-deep-purple-700{color:#512DA8!important}.mui--bg-color-deep-purple-700{background-color:#512DA8!important}.mui--color-deep-purple-800{color:#4527A0!important}.mui--bg-color-deep-purple-800{background-color:#4527A0!important}.mui--color-deep-purple-900{color:#311B92!important}.mui--bg-color-deep-purple-900{background-color:#311B92!important}.mui--color-deep-purple-A100{color:#B388FF!important}.mui--bg-color-deep-purple-A100{background-color:#B388FF!important}.mui--color-deep-purple-A200{color:#7C4DFF!important}.mui--bg-color-deep-purple-A200{background-color:#7C4DFF!important}.mui--color-deep-purple-A400{color:#651FFF!important}.mui--bg-color-deep-purple-A400{background-color:#651FFF!important}.mui--color-deep-purple-A700{color:#6200EA!important}.mui--bg-color-deep-purple-A700{background-color:#6200EA!important}.mui--color-indigo-50{color:#E8EAF6!important}.mui--bg-color-indigo-50{background-color:#E8EAF6!important}.mui--color-indigo-100{color:#C5CAE9!important}.mui--bg-color-indigo-100{background-color:#C5CAE9!important}.mui--color-indigo-200{color:#9FA8DA!important}.mui--bg-color-indigo-200{background-color:#9FA8DA!important}.mui--color-indigo-300{color:#7986CB!important}.mui--bg-color-indigo-300{background-color:#7986CB!important}.mui--color-indigo-400{color:#5C6BC0!important}.mui--color-indigo,.mui--color-indigo-500{color:#3F51B5!important}.mui--bg-color-indigo-400{background-color:#5C6BC0!important}.mui--bg-color-indigo,.mui--bg-color-indigo-500{background-color:#3F51B5!important}.mui--color-indigo-600{color:#3949AB!important}.mui--bg-color-indigo-600{background-color:#3949AB!important}.mui--color-indigo-700{color:#303F9F!important}.mui--bg-color-indigo-700{background-color:#303F9F!important}.mui--color-indigo-800{color:#283593!important}.mui--bg-color-indigo-800{background-color:#283593!important}.mui--color-indigo-900{color:#1A237E!important}.mui--bg-color-indigo-900{background-color:#1A237E!important}.mui--color-indigo-A100{color:#8C9EFF!important}.mui--bg-color-indigo-A100{background-color:#8C9EFF!important}.mui--color-indigo-A200{color:#536DFE!important}.mui--bg-color-indigo-A200{background-color:#536DFE!important}.mui--color-indigo-A400{color:#3D5AFE!important}.mui--bg-color-indigo-A400{background-color:#3D5AFE!important}.mui--color-indigo-A700{color:#304FFE!important}.mui--bg-color-indigo-A700{background-color:#304FFE!important}.mui--color-blue-50{color:#E3F2FD!important}.mui--bg-color-blue-50{background-color:#E3F2FD!important}.mui--color-blue-100{color:#BBDEFB!important}.mui--bg-color-blue-100{background-color:#BBDEFB!important}.mui--color-blue-200{color:#90CAF9!important}.mui--bg-color-blue-200{background-color:#90CAF9!important}.mui--color-blue-300{color:#64B5F6!important}.mui--bg-color-blue-300{background-color:#64B5F6!important}.mui--color-blue-400{color:#42A5F5!important}.mui--color-blue,.mui--color-blue-500{color:#2196F3!important}.mui--bg-color-blue-400{background-color:#42A5F5!important}.mui--bg-color-blue,.mui--bg-color-blue-500{background-color:#2196F3!important}.mui--color-blue-600{color:#1E88E5!important}.mui--bg-color-blue-600{background-color:#1E88E5!important}.mui--color-blue-700{color:#1976D2!important}.mui--bg-color-blue-700{background-color:#1976D2!important}.mui--color-blue-800{color:#1565C0!important}.mui--bg-color-blue-800{background-color:#1565C0!important}.mui--color-blue-900{color:#0D47A1!important}.mui--bg-color-blue-900{background-color:#0D47A1!important}.mui--color-blue-A100{color:#82B1FF!important}.mui--bg-color-blue-A100{background-color:#82B1FF!important}.mui--color-blue-A200{color:#448AFF!important}.mui--bg-color-blue-A200{background-color:#448AFF!important}.mui--color-blue-A400{color:#2979FF!important}.mui--bg-color-blue-A400{background-color:#2979FF!important}.mui--color-blue-A700{color:#2962FF!important}.mui--bg-color-blue-A700{background-color:#2962FF!important}.mui--color-light-blue-50{color:#E1F5FE!important}.mui--bg-color-light-blue-50{background-color:#E1F5FE!important}.mui--color-light-blue-100{color:#B3E5FC!important}.mui--bg-color-light-blue-100{background-color:#B3E5FC!important}.mui--color-light-blue-200{color:#81D4FA!important}.mui--bg-color-light-blue-200{background-color:#81D4FA!important}.mui--color-light-blue-300{color:#4FC3F7!important}.mui--bg-color-light-blue-300{background-color:#4FC3F7!important}.mui--color-light-blue-400{color:#29B6F6!important}.mui--color-light-blue,.mui--color-light-blue-500{color:#03A9F4!important}.mui--bg-color-light-blue-400{background-color:#29B6F6!important}.mui--bg-color-light-blue,.mui--bg-color-light-blue-500{background-color:#03A9F4!important}.mui--color-light-blue-600{color:#039BE5!important}.mui--bg-color-light-blue-600{background-color:#039BE5!important}.mui--color-light-blue-700{color:#0288D1!important}.mui--bg-color-light-blue-700{background-color:#0288D1!important}.mui--color-light-blue-800{color:#0277BD!important}.mui--bg-color-light-blue-800{background-color:#0277BD!important}.mui--color-light-blue-900{color:#01579B!important}.mui--bg-color-light-blue-900{background-color:#01579B!important}.mui--color-light-blue-A100{color:#80D8FF!important}.mui--bg-color-light-blue-A100{background-color:#80D8FF!important}.mui--color-light-blue-A200{color:#40C4FF!important}.mui--bg-color-light-blue-A200{background-color:#40C4FF!important}.mui--color-light-blue-A400{color:#00B0FF!important}.mui--bg-color-light-blue-A400{background-color:#00B0FF!important}.mui--color-light-blue-A700{color:#0091EA!important}.mui--bg-color-light-blue-A700{background-color:#0091EA!important}.mui--color-cyan-50{color:#E0F7FA!important}.mui--bg-color-cyan-50{background-color:#E0F7FA!important}.mui--color-cyan-100{color:#B2EBF2!important}.mui--bg-color-cyan-100{background-color:#B2EBF2!important}.mui--color-cyan-200{color:#80DEEA!important}.mui--bg-color-cyan-200{background-color:#80DEEA!important}.mui--color-cyan-300{color:#4DD0E1!important}.mui--bg-color-cyan-300{background-color:#4DD0E1!important}.mui--color-cyan-400{color:#26C6DA!important}.mui--color-cyan,.mui--color-cyan-500{color:#00BCD4!important}.mui--bg-color-cyan-400{background-color:#26C6DA!important}.mui--bg-color-cyan,.mui--bg-color-cyan-500{background-color:#00BCD4!important}.mui--color-cyan-600{color:#00ACC1!important}.mui--bg-color-cyan-600{background-color:#00ACC1!important}.mui--color-cyan-700{color:#0097A7!important}.mui--bg-color-cyan-700{background-color:#0097A7!important}.mui--color-cyan-800{color:#00838F!important}.mui--bg-color-cyan-800{background-color:#00838F!important}.mui--color-cyan-900{color:#006064!important}.mui--bg-color-cyan-900{background-color:#006064!important}.mui--color-cyan-A100{color:#84FFFF!important}.mui--bg-color-cyan-A100{background-color:#84FFFF!important}.mui--color-cyan-A200{color:#18FFFF!important}.mui--bg-color-cyan-A200{background-color:#18FFFF!important}.mui--color-cyan-A400{color:#00E5FF!important}.mui--bg-color-cyan-A400{background-color:#00E5FF!important}.mui--color-cyan-A700{color:#00B8D4!important}.mui--bg-color-cyan-A700{background-color:#00B8D4!important}.mui--color-teal-50{color:#E0F2F1!important}.mui--bg-color-teal-50{background-color:#E0F2F1!important}.mui--color-teal-100{color:#B2DFDB!important}.mui--bg-color-teal-100{background-color:#B2DFDB!important}.mui--color-teal-200{color:#80CBC4!important}.mui--bg-color-teal-200{background-color:#80CBC4!important}.mui--color-teal-300{color:#4DB6AC!important}.mui--bg-color-teal-300{background-color:#4DB6AC!important}.mui--color-teal-400{color:#26A69A!important}.mui--color-teal,.mui--color-teal-500{color:#009688!important}.mui--bg-color-teal-400{background-color:#26A69A!important}.mui--bg-color-teal,.mui--bg-color-teal-500{background-color:#009688!important}.mui--color-teal-600{color:#00897B!important}.mui--bg-color-teal-600{background-color:#00897B!important}.mui--color-teal-700{color:#00796B!important}.mui--bg-color-teal-700{background-color:#00796B!important}.mui--color-teal-800{color:#00695C!important}.mui--bg-color-teal-800{background-color:#00695C!important}.mui--color-teal-900{color:#004D40!important}.mui--bg-color-teal-900{background-color:#004D40!important}.mui--color-teal-A100{color:#A7FFEB!important}.mui--bg-color-teal-A100{background-color:#A7FFEB!important}.mui--color-teal-A200{color:#64FFDA!important}.mui--bg-color-teal-A200{background-color:#64FFDA!important}.mui--color-teal-A400{color:#1DE9B6!important}.mui--bg-color-teal-A400{background-color:#1DE9B6!important}.mui--color-teal-A700{color:#00BFA5!important}.mui--bg-color-teal-A700{background-color:#00BFA5!important}.mui--color-green-50{color:#E8F5E9!important}.mui--bg-color-green-50{background-color:#E8F5E9!important}.mui--color-green-100{color:#C8E6C9!important}.mui--bg-color-green-100{background-color:#C8E6C9!important}.mui--color-green-200{color:#A5D6A7!important}.mui--bg-color-green-200{background-color:#A5D6A7!important}.mui--color-green-300{color:#81C784!important}.mui--bg-color-green-300{background-color:#81C784!important}.mui--color-green-400{color:#66BB6A!important}.mui--color-green,.mui--color-green-500{color:#4CAF50!important}.mui--bg-color-green-400{background-color:#66BB6A!important}.mui--bg-color-green,.mui--bg-color-green-500{background-color:#4CAF50!important}.mui--color-green-600{color:#43A047!important}.mui--bg-color-green-600{background-color:#43A047!important}.mui--color-green-700{color:#388E3C!important}.mui--bg-color-green-700{background-color:#388E3C!important}.mui--color-green-800{color:#2E7D32!important}.mui--bg-color-green-800{background-color:#2E7D32!important}.mui--color-green-900{color:#1B5E20!important}.mui--bg-color-green-900{background-color:#1B5E20!important}.mui--color-green-A100{color:#B9F6CA!important}.mui--bg-color-green-A100{background-color:#B9F6CA!important}.mui--color-green-A200{color:#69F0AE!important}.mui--bg-color-green-A200{background-color:#69F0AE!important}.mui--color-green-A400{color:#00E676!important}.mui--bg-color-green-A400{background-color:#00E676!important}.mui--color-green-A700{color:#00C853!important}.mui--bg-color-green-A700{background-color:#00C853!important}.mui--color-light-green-50{color:#F1F8E9!important}.mui--bg-color-light-green-50{background-color:#F1F8E9!important}.mui--color-light-green-100{color:#DCEDC8!important}.mui--bg-color-light-green-100{background-color:#DCEDC8!important}.mui--color-light-green-200{color:#C5E1A5!important}.mui--bg-color-light-green-200{background-color:#C5E1A5!important}.mui--color-light-green-300{color:#AED581!important}.mui--bg-color-light-green-300{background-color:#AED581!important}.mui--color-light-green-400{color:#9CCC65!important}.mui--color-light-green,.mui--color-light-green-500{color:#8BC34A!important}.mui--bg-color-light-green-400{background-color:#9CCC65!important}.mui--bg-color-light-green,.mui--bg-color-light-green-500{background-color:#8BC34A!important}.mui--color-light-green-600{color:#7CB342!important}.mui--bg-color-light-green-600{background-color:#7CB342!important}.mui--color-light-green-700{color:#689F38!important}.mui--bg-color-light-green-700{background-color:#689F38!important}.mui--color-light-green-800{color:#558B2F!important}.mui--bg-color-light-green-800{background-color:#558B2F!important}.mui--color-light-green-900{color:#33691E!important}.mui--bg-color-light-green-900{background-color:#33691E!important}.mui--color-light-green-A100{color:#CCFF90!important}.mui--bg-color-light-green-A100{background-color:#CCFF90!important}.mui--color-light-green-A200{color:#B2FF59!important}.mui--bg-color-light-green-A200{background-color:#B2FF59!important}.mui--color-light-green-A400{color:#76FF03!important}.mui--bg-color-light-green-A400{background-color:#76FF03!important}.mui--color-light-green-A700{color:#64DD17!important}.mui--bg-color-light-green-A700{background-color:#64DD17!important}.mui--color-lime-50{color:#F9FBE7!important}.mui--bg-color-lime-50{background-color:#F9FBE7!important}.mui--color-lime-100{color:#F0F4C3!important}.mui--bg-color-lime-100{background-color:#F0F4C3!important}.mui--color-lime-200{color:#E6EE9C!important}.mui--bg-color-lime-200{background-color:#E6EE9C!important}.mui--color-lime-300{color:#DCE775!important}.mui--bg-color-lime-300{background-color:#DCE775!important}.mui--color-lime-400{color:#D4E157!important}.mui--color-lime,.mui--color-lime-500{color:#CDDC39!important}.mui--bg-color-lime-400{background-color:#D4E157!important}.mui--bg-color-lime,.mui--bg-color-lime-500{background-color:#CDDC39!important}.mui--color-lime-600{color:#C0CA33!important}.mui--bg-color-lime-600{background-color:#C0CA33!important}.mui--color-lime-700{color:#AFB42B!important}.mui--bg-color-lime-700{background-color:#AFB42B!important}.mui--color-lime-800{color:#9E9D24!important}.mui--bg-color-lime-800{background-color:#9E9D24!important}.mui--color-lime-900{color:#827717!important}.mui--bg-color-lime-900{background-color:#827717!important}.mui--color-lime-A100{color:#F4FF81!important}.mui--bg-color-lime-A100{background-color:#F4FF81!important}.mui--color-lime-A200{color:#EEFF41!important}.mui--bg-color-lime-A200{background-color:#EEFF41!important}.mui--color-lime-A400{color:#C6FF00!important}.mui--bg-color-lime-A400{background-color:#C6FF00!important}.mui--color-lime-A700{color:#AEEA00!important}.mui--bg-color-lime-A700{background-color:#AEEA00!important}.mui--color-yellow-50{color:#FFFDE7!important}.mui--bg-color-yellow-50{background-color:#FFFDE7!important}.mui--color-yellow-100{color:#FFF9C4!important}.mui--bg-color-yellow-100{background-color:#FFF9C4!important}.mui--color-yellow-200{color:#FFF59D!important}.mui--bg-color-yellow-200{background-color:#FFF59D!important}.mui--color-yellow-300{color:#FFF176!important}.mui--bg-color-yellow-300{background-color:#FFF176!important}.mui--color-yellow-400{color:#FFEE58!important}.mui--color-yellow,.mui--color-yellow-500{color:#FFEB3B!important}.mui--bg-color-yellow-400{background-color:#FFEE58!important}.mui--bg-color-yellow,.mui--bg-color-yellow-500{background-color:#FFEB3B!important}.mui--color-yellow-600{color:#FDD835!important}.mui--bg-color-yellow-600{background-color:#FDD835!important}.mui--color-yellow-700{color:#FBC02D!important}.mui--bg-color-yellow-700{background-color:#FBC02D!important}.mui--color-yellow-800{color:#F9A825!important}.mui--bg-color-yellow-800{background-color:#F9A825!important}.mui--color-yellow-900{color:#F57F17!important}.mui--bg-color-yellow-900{background-color:#F57F17!important}.mui--color-yellow-A100{color:#FFFF8D!important}.mui--bg-color-yellow-A100{background-color:#FFFF8D!important}.mui--color-yellow-A200{color:#FF0!important}.mui--bg-color-yellow-A200{background-color:#FF0!important}.mui--color-yellow-A400{color:#FFEA00!important}.mui--bg-color-yellow-A400{background-color:#FFEA00!important}.mui--color-yellow-A700{color:#FFD600!important}.mui--bg-color-yellow-A700{background-color:#FFD600!important}.mui--color-amber-50{color:#FFF8E1!important}.mui--bg-color-amber-50{background-color:#FFF8E1!important}.mui--color-amber-100{color:#FFECB3!important}.mui--bg-color-amber-100{background-color:#FFECB3!important}.mui--color-amber-200{color:#FFE082!important}.mui--bg-color-amber-200{background-color:#FFE082!important}.mui--color-amber-300{color:#FFD54F!important}.mui--bg-color-amber-300{background-color:#FFD54F!important}.mui--color-amber-400{color:#FFCA28!important}.mui--color-amber,.mui--color-amber-500{color:#FFC107!important}.mui--bg-color-amber-400{background-color:#FFCA28!important}.mui--bg-color-amber,.mui--bg-color-amber-500{background-color:#FFC107!important}.mui--color-amber-600{color:#FFB300!important}.mui--bg-color-amber-600{background-color:#FFB300!important}.mui--color-amber-700{color:#FFA000!important}.mui--bg-color-amber-700{background-color:#FFA000!important}.mui--color-amber-800{color:#FF8F00!important}.mui--bg-color-amber-800{background-color:#FF8F00!important}.mui--color-amber-900{color:#FF6F00!important}.mui--bg-color-amber-900{background-color:#FF6F00!important}.mui--color-amber-A100{color:#FFE57F!important}.mui--bg-color-amber-A100{background-color:#FFE57F!important}.mui--color-amber-A200{color:#FFD740!important}.mui--bg-color-amber-A200{background-color:#FFD740!important}.mui--color-amber-A400{color:#FFC400!important}.mui--bg-color-amber-A400{background-color:#FFC400!important}.mui--color-amber-A700{color:#FFAB00!important}.mui--bg-color-amber-A700{background-color:#FFAB00!important}.mui--color-orange-50{color:#FFF3E0!important}.mui--bg-color-orange-50{background-color:#FFF3E0!important}.mui--color-orange-100{color:#FFE0B2!important}.mui--bg-color-orange-100{background-color:#FFE0B2!important}.mui--color-orange-200{color:#FFCC80!important}.mui--bg-color-orange-200{background-color:#FFCC80!important}.mui--color-orange-300{color:#FFB74D!important}.mui--bg-color-orange-300{background-color:#FFB74D!important}.mui--color-orange-400{color:#FFA726!important}.mui--color-orange,.mui--color-orange-500{color:#FF9800!important}.mui--bg-color-orange-400{background-color:#FFA726!important}.mui--bg-color-orange,.mui--bg-color-orange-500{background-color:#FF9800!important}.mui--color-orange-600{color:#FB8C00!important}.mui--bg-color-orange-600{background-color:#FB8C00!important}.mui--color-orange-700{color:#F57C00!important}.mui--bg-color-orange-700{background-color:#F57C00!important}.mui--color-orange-800{color:#EF6C00!important}.mui--bg-color-orange-800{background-color:#EF6C00!important}.mui--color-orange-900{color:#E65100!important}.mui--bg-color-orange-900{background-color:#E65100!important}.mui--color-orange-A100{color:#FFD180!important}.mui--bg-color-orange-A100{background-color:#FFD180!important}.mui--color-orange-A200{color:#FFAB40!important}.mui--bg-color-orange-A200{background-color:#FFAB40!important}.mui--color-orange-A400{color:#FF9100!important}.mui--bg-color-orange-A400{background-color:#FF9100!important}.mui--color-orange-A700{color:#FF6D00!important}.mui--bg-color-orange-A700{background-color:#FF6D00!important}.mui--color-deep-orange-50{color:#FBE9E7!important}.mui--bg-color-deep-orange-50{background-color:#FBE9E7!important}.mui--color-deep-orange-100{color:#FFCCBC!important}.mui--bg-color-deep-orange-100{background-color:#FFCCBC!important}.mui--color-deep-orange-200{color:#FFAB91!important}.mui--bg-color-deep-orange-200{background-color:#FFAB91!important}.mui--color-deep-orange-300{color:#FF8A65!important}.mui--bg-color-deep-orange-300{background-color:#FF8A65!important}.mui--color-deep-orange-400{color:#FF7043!important}.mui--color-deep-orange,.mui--color-deep-orange-500{color:#FF5722!important}.mui--bg-color-deep-orange-400{background-color:#FF7043!important}.mui--bg-color-deep-orange,.mui--bg-color-deep-orange-500{background-color:#FF5722!important}.mui--color-deep-orange-600{color:#F4511E!important}.mui--bg-color-deep-orange-600{background-color:#F4511E!important}.mui--color-deep-orange-700{color:#E64A19!important}.mui--bg-color-deep-orange-700{background-color:#E64A19!important}.mui--color-deep-orange-800{color:#D84315!important}.mui--bg-color-deep-orange-800{background-color:#D84315!important}.mui--color-deep-orange-900{color:#BF360C!important}.mui--bg-color-deep-orange-900{background-color:#BF360C!important}.mui--color-deep-orange-A100{color:#FF9E80!important}.mui--bg-color-deep-orange-A100{background-color:#FF9E80!important}.mui--color-deep-orange-A200{color:#FF6E40!important}.mui--bg-color-deep-orange-A200{background-color:#FF6E40!important}.mui--color-deep-orange-A400{color:#FF3D00!important}.mui--bg-color-deep-orange-A400{background-color:#FF3D00!important}.mui--color-deep-orange-A700{color:#DD2C00!important}.mui--bg-color-deep-orange-A700{background-color:#DD2C00!important}.mui--color-brown-50{color:#EFEBE9!important}.mui--bg-color-brown-50{background-color:#EFEBE9!important}.mui--color-brown-100{color:#D7CCC8!important}.mui--bg-color-brown-100{background-color:#D7CCC8!important}.mui--color-brown-200{color:#BCAAA4!important}.mui--bg-color-brown-200{background-color:#BCAAA4!important}.mui--color-brown-300{color:#A1887F!important}.mui--bg-color-brown-300{background-color:#A1887F!important}.mui--color-brown-400{color:#8D6E63!important}.mui--color-brown,.mui--color-brown-500{color:#795548!important}.mui--bg-color-brown-400{background-color:#8D6E63!important}.mui--bg-color-brown,.mui--bg-color-brown-500{background-color:#795548!important}.mui--color-brown-600{color:#6D4C41!important}.mui--bg-color-brown-600{background-color:#6D4C41!important}.mui--color-brown-700{color:#5D4037!important}.mui--bg-color-brown-700{background-color:#5D4037!important}.mui--color-brown-800{color:#4E342E!important}.mui--bg-color-brown-800{background-color:#4E342E!important}.mui--color-brown-900{color:#3E2723!important}.mui--bg-color-brown-900{background-color:#3E2723!important}.mui--color-grey-50{color:#FAFAFA!important}.mui--bg-color-grey-50{background-color:#FAFAFA!important}.mui--color-grey-100{color:#F5F5F5!important}.mui--bg-color-grey-100{background-color:#F5F5F5!important}.mui--color-grey-200{color:#EEE!important}.mui--bg-color-grey-200{background-color:#EEE!important}.mui--color-grey-300{color:#E0E0E0!important}.mui--bg-color-grey-300{background-color:#E0E0E0!important}.mui--color-grey-400{color:#BDBDBD!important}.mui--color-grey,.mui--color-grey-500{color:#9E9E9E!important}.mui--bg-color-grey-400{background-color:#BDBDBD!important}.mui--bg-color-grey,.mui--bg-color-grey-500{background-color:#9E9E9E!important}.mui--color-grey-600{color:#757575!important}.mui--bg-color-grey-600{background-color:#757575!important}.mui--color-grey-700{color:#616161!important}.mui--bg-color-grey-700{background-color:#616161!important}.mui--color-grey-800{color:#424242!important}.mui--bg-color-grey-800{background-color:#424242!important}.mui--color-grey-900{color:#212121!important}.mui--bg-color-grey-900{background-color:#212121!important}.mui--color-blue-grey-50{color:#ECEFF1!important}.mui--bg-color-blue-grey-50{background-color:#ECEFF1!important}.mui--color-blue-grey-100{color:#CFD8DC!important}.mui--bg-color-blue-grey-100{background-color:#CFD8DC!important}.mui--color-blue-grey-200{color:#B0BEC5!important}.mui--bg-color-blue-grey-200{background-color:#B0BEC5!important}.mui--color-blue-grey-300{color:#90A4AE!important}.mui--bg-color-blue-grey-300{background-color:#90A4AE!important}.mui--color-blue-grey-400{color:#78909C!important}.mui--color-blue-grey,.mui--color-blue-grey-500{color:#607D8B!important}.mui--bg-color-blue-grey-400{background-color:#78909C!important}.mui--bg-color-blue-grey,.mui--bg-color-blue-grey-500{background-color:#607D8B!important}.mui--color-blue-grey-600{color:#546E7A!important}.mui--bg-color-blue-grey-600{background-color:#546E7A!important}.mui--color-blue-grey-700{color:#455A64!important}.mui--bg-color-blue-grey-700{background-color:#455A64!important}.mui--color-blue-grey-800{color:#37474F!important}.mui--bg-color-blue-grey-800{background-color:#37474F!important}.mui--color-blue-grey-900{color:#263238!important}.mui--bg-color-blue-grey-900{background-color:#263238!important}.mui--color-black{color:#000!important}.mui--bg-color-black{background-color:#000!important}.mui--color-white{color:#FFF!important}.mui--bg-color-white{background-color:#FFF!important}.mui--color-black-alpha-12{color:rgba(0,0,0,.12)!important}.mui--bg-color-black-alpha-12{background-color:rgba(0,0,0,.12)!important}.mui--color-black-alpha-38{color:rgba(0,0,0,.38)!important}.mui--bg-color-black-alpha-38{background-color:rgba(0,0,0,.38)!important}.mui--color-black-alpha-54{color:rgba(0,0,0,.54)!important}.mui--bg-color-black-alpha-54{background-color:rgba(0,0,0,.54)!important}.mui--color-black-alpha-87{color:rgba(0,0,0,.87)!important}.mui--bg-color-black-alpha-87{background-color:rgba(0,0,0,.87)!important}.mui--color-white-alpha-12{color:rgba(255,255,255,.12)!important}.mui--bg-color-white-alpha-12{background-color:rgba(255,255,255,.12)!important}.mui--color-white-alpha-30{color:rgba(255,255,255,.3)!important}.mui--bg-color-white-alpha-30{background-color:rgba(255,255,255,.3)!important}.mui--color-white-alpha-70{color:rgba(255,255,255,.7)!important}.mui--bg-color-white-alpha-70{background-color:rgba(255,255,255,.7)!important} \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-combined.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-combined.js new file mode 100644 index 0000000..2294236 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-combined.js @@ -0,0 +1,2 @@ +!function i(t,e,o){function n(a,r){if(!e[a]){if(!t[a]){var u="function"==typeof require&&require;if(!r&&u)return u(a,!0);if(l)return l(a,!0);throw new Error("Cannot find module '"+a+"'")}var m=e[a]={exports:{}};t[a][0].call(m.exports,function(i){var e=t[a][1][i];return n(e?e:i)},m,m.exports,i,t,e,o)}return e[a].exports}for(var l="function"==typeof require&&require,a=0;as&&(f=r+(e+1)*a-(-1*o+n+l),b=t*a+2*r-p,x=Math.min(f,b)),{height:p+"px",top:o+"px",scrollTop:x}}var n=15,l=32,a=42,r=8;t.exports={getMenuPositionalCSS:o}},{}],5:[function(i,t,e){"use strict";function o(i,t){if(t&&i.setAttribute){for(var e,o=b(i),n=t.split(" "),l=0;l-1:!1}function a(i){if(void 0===i)return"undefined";var t=Object.prototype.toString.call(i);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function r(i,t,e,o){o=void 0===o?!1:o,i.addEventListener(t,e,o);var n=i._muiEventCache=i._muiEventCache||{};n[t]=n[t]||[],n[t].push([e,o])}function u(i,t,e,o){o=void 0===o?!1:o;var n,l,a=i._muiEventCache=i._muiEventCache||{},r=a[t]||[];for(l=r.length;l--;)n=r[l],(void 0===e||n[0]===e&&n[1]===o)&&(r.splice(l,1),i.removeEventListener(t,n[0],n[1]))}function m(i,t,e,o){r(i,t,function n(o){e&&e.apply(this,arguments),u(i,t,n)},o)}function d(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return i.scrollLeft}i===e?e.scrollTo(t,s(e)):i.scrollLeft=t}function s(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageYOffset||o.scrollTop)-(o.clientTop||0)}return i.scrollTop}i===e?e.scrollTo(d(e),t):i.scrollTop=t}function c(i){var t=window,e=i.getBoundingClientRect(),o=s(t),n=d(t);return{top:e.top+o,left:e.left+n,height:e.height,width:e.width}}function p(i){var t=!1,e=!0,o=document,n=o.defaultView,l=o.documentElement,a=o.addEventListener?"addEventListener":"attachEvent",r=o.addEventListener?"removeEventListener":"detachEvent",u=o.addEventListener?"":"on",m=function(e){"readystatechange"==e.type&&"complete"!=o.readyState||(("load"==e.type?n:o)[r](u+e.type,m,!1),!t&&(t=!0)&&i.call(n,e.type||e))},d=function(){try{l.doScroll("left")}catch(i){return void setTimeout(d,50)}m("poll")};if("complete"==o.readyState)i.call(n,"lazy");else{if(o.createEventObject&&l.doScroll){try{e=!n.frameElement}catch(s){}e&&d()}o[a](u+"DOMContentLoaded",m,!1),o[a](u+"readystatechange",m,!1),n[a](u+"load",m,!1)}}function f(i,t){if(t&&i.setAttribute){for(var e,o=b(i),n=t.split(" "),l=0;l=0;)o=o.replace(" "+e+" "," ");i.setAttribute("class",o.trim())}}function b(i){var t=(i.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function x(i){return i.replace(v,function(i,t,e,o){return o?e.toUpperCase():e}).replace(y,"Moz$1")}function h(i,t,e){var o;return o=e.getPropertyValue(t),""!==o||i.ownerDocument||(o=i.style[x(t)]),o}var g,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;g={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:o,css:n,hasClass:l,off:u,offset:c,on:r,one:m,ready:p,removeClass:f,type:a,scrollLeft:d,scrollTop:s}},{}],6:[function(i,t,e){"use strict";function o(){var i=window;if(x.debug&&"undefined"!=typeof i.console)try{i.console.log.apply(i.console,arguments)}catch(t){var e=Array.prototype.slice.call(arguments);i.console.log(e.join("\n"))}}function n(i){var t,e=document;t=e.head||e.getElementsByTagName("head")[0]||e.documentElement;var o=e.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=i:o.appendChild(e.createTextNode(i)),t.insertBefore(o,t.firstChild),o}function l(i,t){if(!t)throw new Error("MUI: "+i);"undefined"!=typeof console&&console.error("MUI Warning: "+i)}function a(i){if(g.push(i),void 0===g._initialized){var t=document;h.on(t,"animationstart",r),h.on(t,"mozAnimationStart",r),h.on(t,"webkitAnimationStart",r),g._initialized=!0}}function r(i){if("mui-node-inserted"===i.animationName)for(var t=i.target,e=g.length-1;e>=0;e--)g[e](t)}function u(i){var t="";for(var e in i)t+=i[e]?e+" ":"";return t.trim()}function m(){if(void 0!==b)return b;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",b="auto"===i.style.pointerEvents}function d(i,t){return function(){i[t].apply(i,arguments)}}function s(i,t,e,o,n){var l,a=document.createEvent("HTMLEvents"),e=void 0!==e?e:!0,o=void 0!==o?o:!0;if(a.initEvent(t,e,o),n)for(l in n)a[l]=n[l];return i&&i.dispatchEvent(a),a}function c(){if(v+=1,1===v){var i=window,t=document;f={left:h.scrollLeft(i),top:h.scrollTop(i)},h.addClass(t.body,y),i.scrollTo(f.left,f.top)}}function p(){if(0!==v&&(v-=1,0===v)){var i=window,t=document;h.removeClass(t.body,y),i.scrollTo(f.left,f.top)}}var f,b,x=i("../config"),h=i("./jqLite"),g=[],v=0,y="mui-body--scroll-lock";t.exports={callback:d,classNames:u,disableScrollLock:p,dispatchEvent:s,enableScrollLock:c,log:o,loadStyle:n,onNodeInserted:a,raiseError:l,supportsPointerEvents:m}},{"../config":3,"./jqLite":5}],7:[function(i,t,e){t.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],8:[function(i,t,e){"use strict";function o(i){i._muiDropdown!==!0&&(i._muiDropdown=!0,i.hasAttribute("type")||(i.type="button"),a.on(i,"click",n))}function n(i){if(0===i.button){var t=this;null===t.getAttribute("disabled")&&l(t)}}function l(i){function t(){a.removeClass(n,d),a.off(l,"click",t)}function e(){var e=o.getBoundingClientRect(),r=i.getBoundingClientRect(),u=r.top-e.top+r.height;a.css(n,"top",u+"px"),a.addClass(n,d),setTimeout(function(){a.on(l,"click",t)},0)}var o=i.parentNode,n=i.nextElementSibling,l=o.ownerDocument;return n&&a.hasClass(n,s)?void(a.hasClass(n,d)?t():e()):r.raiseError("Dropdown menu element not found")}var a=i("./lib/jqLite"),r=i("./lib/util"),u="data-mui-toggle",m='[data-mui-toggle="dropdown"]',d="mui--is-open",s="mui-dropdown__menu";t.exports={initListeners:function(){for(var i=document,t=i.querySelectorAll(m),e=t.length-1;e>=0;e--)o(t[e]);r.onNodeInserted(function(i){"dropdown"===i.getAttribute(u)&&o(i)})}}},{"./lib/jqLite":5,"./lib/util":6}],9:[function(i,t,e){t.exports=i(5)},{}],10:[function(i,t,e){t.exports=i(6)},{"../config":3,"./jqLite":5}],11:[function(i,t,e){"use strict";function o(i){var t;if("on"===i){for(var e,o,a,r=arguments.length-1;r>0;r--)e=arguments[r],"object"===p.type(e)&&(o=e),e instanceof Element&&1===e.nodeType&&(a=e);o=o||{},void 0===o.keyboard&&(o.keyboard=!0),void 0===o["static"]&&(o["static"]=!1),t=n(o,a)}else"off"===i?t=l():c.raiseError("Expecting 'on' or 'off'");return t}function n(i,t){var e=document.body,o=document.getElementById(f);if(c.enableScrollLock(),o){for(;o.firstChild;)o.removeChild(o.firstChild);t&&o.appendChild(t)}else o=document.createElement("div"),o.setAttribute("id",f),t&&o.appendChild(t),e.appendChild(o);return b.test(navigator.userAgent)&&p.css(o,"cursor","pointer"),i.keyboard?a():r(),i["static"]?d(o):m(o),o.muiOptions=i,o}function l(){var i,t=document.getElementById(f);if(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.parentNode.removeChild(t),i=t.muiOptions.onclose,d(t)}return c.disableScrollLock(),r(),i&&i(),t}function a(){p.on(document,"keyup",u)}function r(){p.off(document,"keyup",u)}function u(i){27===i.keyCode&&l()}function m(i){p.on(i,"click",s)}function d(i){p.off(i,"click",s)}function s(i){i.target.id===f&&l()}var c=i("./lib/util"),p=i("./lib/jqLite"),f="mui-overlay",b=/(iPad|iPhone|iPod)/g;t.exports=o},{"./lib/jqLite":5,"./lib/util":6}],12:[function(i,t,e){"use strict";function o(i){i._muiRipple!==!0&&(i._muiRipple=!0,"INPUT"!==i.tagName&&(l.on(i,"touchstart",n),l.on(i,"mousedown",n)))}function n(i){if(0===i.button){var t=this;if(t.disabled!==!0&&t.touchFlag!==!0){t.touchFlag=!0,setTimeout(function(){t.touchFlag=!1},100);var e=document.createElement("div");e.className=m;var o,n,a=l.offset(t),r=i.pageX-a.left,d=i.pageY-a.top;o=l.hasClass(t,u)?a.height/2:a.height,n=o/2,l.css(e,{height:o+"px",width:o+"px",top:d-n+"px",left:r-n+"px"}),t.appendChild(e),window.setTimeout(function(){var i=e.parentNode;i&&i.removeChild(e)},2e3)}}}var l=i("./lib/jqLite"),a=i("./lib/util"),r="mui-btn",u="mui-btn--fab",m="mui-ripple-effect";t.exports={initListeners:function(){for(var i=document,t=i.getElementsByClassName(r),e=t.length-1;e>=0;e--)o(t[e]);a.onNodeInserted(function(i){l.hasClass(i,r)&&o(i)})}}},{"./lib/jqLite":5,"./lib/util":6}],13:[function(i,t,e){"use strict";function o(i){i._muiSelect!==!0&&(i._muiSelect=!0,"ontouchstart"in p.documentElement||new n(i))}function n(i){this.selectEl=i,this.wrapperEl=i.parentNode,this.useDefault=!1,a.on(i,"mousedown",r.callback(this,"mousedownHandler")),a.on(i,"focus",r.callback(this,"focusHandler")),a.on(i,"click",r.callback(this,"clickHandler")),this.wrapperEl.tabIndex=-1;var t=r.callback(this,"wrapperFocusHandler");a.on(this.wrapperEl,"focus",t)}function l(i,t){r.enableScrollLock(),this.origIndex=null,this.currentIndex=null,this.selectEl=t,this.menuEl=this._createMenuEl(i,t),this.clickCallbackFn=r.callback(this,"clickHandler"),this.keydownCallbackFn=r.callback(this,"keydownHandler"),this.destroyCallbackFn=r.callback(this,"destroy"),i.appendChild(this.menuEl),a.scrollTop(this.menuEl,this.menuEl._muiScrollTop),setTimeout(function(){"body"!==p.activeElement.nodeName.toLowerCase()&&p.activeElement.blur()},0),a.on(this.menuEl,"click",this.clickCallbackFn),a.on(p,"keydown",this.keydownCallbackFn),a.on(f,"resize",this.destroyCallbackFn);var e=this.destroyCallbackFn;setTimeout(function(){a.on(p,"click",e)},0)}var a=i("./lib/jqLite"),r=i("./lib/util"),u=i("./lib/forms"),m="mui-select",d=".mui-select > select",s="mui-select__menu",c="mui--is-selected",p=document,f=window;n.prototype.mousedownHandler=function(i){0===i.button&&this.useDefault!==!0&&i.preventDefault()},n.prototype.focusHandler=function(i){if(this.useDefault!==!0){var t=this.selectEl,e=this.wrapperEl,o=t.tabIndex,n=r.callback(this,"keydownHandler");a.on(p,"keydown",n),t.tabIndex=-1,a.one(e,"blur",function(){t.tabIndex=o,a.off(p,"keydown",n)}),e.focus()}},n.prototype.keydownHandler=function(i){var t=i.keyCode;32!==t&&38!==t&&40!==t||(i.preventDefault(),this.selectEl.disabled!==!0&&this.renderMenu())},n.prototype.wrapperFocusHandler=function(){return this.selectEl.disabled?this.wrapperEl.blur():void 0},n.prototype.clickHandler=function(i){0===i.button&&this.renderMenu()},n.prototype.renderMenu=function(){return this.useDefault===!0?this.useDefault=!1:void new l(this.wrapperEl,this.selectEl)},l.prototype._createMenuEl=function(i,t){var e,o,n,l=p.createElement("div"),r=t.children,m=r.length,d=0;for(l.className=s,n=0;m>n;n++)e=r[n],o=p.createElement("div"),o.textContent=e.textContent,o._muiPos=n,e.selected&&(o.setAttribute("class",c),d=n),l.appendChild(o);this.origIndex=d,this.currentIndex=d;var f=u.getMenuPositionalCSS(i,m,d);return a.css(l,f),l._muiScrollTop=f.scrollTop,l},l.prototype.keydownHandler=function(i){var t=i.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||i.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&(this.selectCurrent(),this.destroy())))},l.prototype.clickHandler=function(i){i.stopPropagation();var t=i.target._muiPos;void 0!==t&&(this.currentIndex=t,this.selectCurrent(),this.destroy())},l.prototype.increment=function(){if(this.currentIndex!==this.menuEl.children.length-1){var i=this.menuEl.children;a.removeClass(i[this.currentIndex],c),this.currentIndex+=1,a.addClass(i[this.currentIndex],c)}},l.prototype.decrement=function(){if(0!==this.currentIndex){var i=this.menuEl.children;a.removeClass(i[this.currentIndex],c),this.currentIndex-=1,a.addClass(i[this.currentIndex],c)}},l.prototype.selectCurrent=function(){if(this.currentIndex!==this.origIndex){var i=this.selectEl.children;i[this.origIndex].selected=!1,i[this.currentIndex].selected=!0,r.dispatchEvent(this.selectEl,"change")}},l.prototype.destroy=function(){var i=this.menuEl.parentNode;i&&i.removeChild(this.menuEl),this.selectEl.focus(),r.disableScrollLock(),a.off(this.menuEl,"click",this.clickCallbackFn),a.off(p,"keydown",this.keydownCallbackFn),a.off(p,"click",this.destroyCallbackFn),a.off(f,"resize",this.destroyCallbackFn)},t.exports={initListeners:function(){for(var i=p.querySelectorAll(d),t=i.length-1;t>=0;t--)o(i[t]);r.onNodeInserted(function(i){"SELECT"===i.tagName&&a.hasClass(i.parentNode,m)&&o(i)})}}},{"./lib/forms":4,"./lib/jqLite":5,"./lib/util":6}],14:[function(i,t,e){"use strict";function o(i){i._muiTabs!==!0&&(i._muiTabs=!0,r.on(i,"click",n))}function n(i){if(0===i.button){var t=this;null===t.getAttribute("disabled")&&l(t)}}function l(i){var t,e,o,n,l,m,d,h,g,v=i.parentNode,y=i.getAttribute(s),w=document.getElementById(y);r.hasClass(v,c)||(w||u.raiseError('Tab pane "'+y+'" not found'),e=a(w),o=e.id,g="["+s+'="'+o+'"]',n=document.querySelectorAll(g)[0],t=n.parentNode,l={paneId:y,relatedPaneId:o},m={paneId:o,relatedPaneId:y},d=u.dispatchEvent(n,b,!0,!0,m),h=u.dispatchEvent(i,p,!0,!0,l),setTimeout(function(){d.defaultPrevented||h.defaultPrevented||(t&&r.removeClass(t,c),e&&r.removeClass(e,c),r.addClass(v,c),r.addClass(w,c),u.dispatchEvent(n,x,!0,!1,m),u.dispatchEvent(i,f,!0,!1,l))},0))}function a(i){for(var t,e=i.parentNode.children,o=e.length,n=null;o--&&!n;)t=e[o],t!==i&&r.hasClass(t,c)&&(n=t);return n}var r=i("./lib/jqLite"),u=i("./lib/util"),m="data-mui-toggle",d="["+m+'="tab"]',s="data-mui-controls",c="mui--is-active",p="mui.tabs.showstart",f="mui.tabs.showend",b="mui.tabs.hidestart",x="mui.tabs.hideend";t.exports={initListeners:function(){for(var i=document.querySelectorAll(d),t=i.length-1;t>=0;t--)o(i[t]);u.onNodeInserted(function(i){"tab"===i.getAttribute(m)&&o(i)})},api:{activate:function(i){var t="["+s+"="+i+"]",e=document.querySelectorAll(t);e.length||u.raiseError('Tab control for pane "'+i+'" not found'),l(e[0])}}}},{"./lib/jqLite":5,"./lib/util":6}],15:[function(i,t,e){"use strict";function o(i){i._muiTextfield!==!0&&(i._muiTextfield=!0,i.value.length?l.addClass(i,m):l.addClass(i,u),l.on(i,"input",n),l.on(i,"change",n),l.on(i,"focus",function(){l.addClass(this,d)}))}function n(){var i=this;i.value.length?(l.removeClass(i,u),l.addClass(i,m)):(l.removeClass(i,m),l.addClass(i,u)),l.addClass(i,d)}var l=i("./lib/jqLite"),a=i("./lib/util"),r=".mui-textfield > input, .mui-textfield > textarea",u="mui--is-empty",m="mui--is-not-empty",d="mui--is-dirty",s="mui-textfield--float-label";t.exports={initialize:o,initListeners:function(){for(var i=document,t=i.querySelectorAll(r),e=t.length-1;e>=0;e--)o(t[e]);a.onNodeInserted(function(i){"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName||o(i)}),setTimeout(function(){var i=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";a.loadStyle(i)},150),a.supportsPointerEvents()===!1&&l.on(document,"click",function(i){var t=i.target;if("LABEL"===t.tagName&&l.hasClass(t.parentNode,s)){var e=t.previousElementSibling;e&&e.focus()}})}}},{"./lib/jqLite":5,"./lib/util":6}]},{},[2]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-react-combined.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-react-combined.js new file mode 100644 index 0000000..ba3dbcc --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/extra/mui-react-combined.js @@ -0,0 +1,2 @@ +!function(e){var t=e.babelHelpers={};t.classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},t.createClass=function(){function e(e,t){for(var i=0;i=0||Object.prototype.hasOwnProperty.call(e,o)&&(i[o]=e[o]);return i},t.possibleConstructorReturn=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}}("undefined"==typeof global?self:global),function e(t,i,o){function l(r,a){if(!i[r]){if(!t[r]){var s="function"==typeof require&&require;if(!a&&s)return s(r,!0);if(n)return n(r,!0);throw new Error("Cannot find module '"+r+"'")}var u=i[r]={exports:{}};t[r][0].call(u.exports,function(e){var i=t[r][1][e];return l(i?i:e)},u,u.exports,e,t,i,o)}return i[r].exports}for(var n="function"==typeof require&&require,r=0;rp&&(b=a+(i+1)*r-(-1*o+l+n),f=t*r+2*a-m,h=Math.min(b,f)),{height:m+"px",top:o+"px",scrollTop:h}}var l=15,n=32,r=42,a=8;t.exports={getMenuPositionalCSS:o}},{}],5:[function(e,t,i){"use strict";function o(e,t){if(t&&e.setAttribute){for(var i,o=f(e),l=t.split(" "),n=0;n-1:!1}function r(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function a(e,t,i,o){o=void 0===o?!1:o,e.addEventListener(t,i,o);var l=e._muiEventCache=e._muiEventCache||{};l[t]=l[t]||[],l[t].push([i,o])}function s(e,t,i,o){o=void 0===o?!1:o;var l,n,r=e._muiEventCache=e._muiEventCache||{},a=r[t]||[];for(n=a.length;n--;)l=a[n],(void 0===i||l[0]===i&&l[1]===o)&&(a.splice(n,1),e.removeEventListener(t,l[0],l[1]))}function u(e,t,i,o){a(e,t,function l(o){i&&i.apply(this,arguments),s(e,t,l)},o)}function c(e,t){var i=window;if(void 0===t){if(e===i){var o=document.documentElement;return(i.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return e.scrollLeft}e===i?i.scrollTo(t,p(i)):e.scrollLeft=t}function p(e,t){var i=window;if(void 0===t){if(e===i){var o=document.documentElement;return(i.pageYOffset||o.scrollTop)-(o.clientTop||0)}return e.scrollTop}e===i?i.scrollTo(c(i),t):e.scrollTop=t}function d(e){var t=window,i=e.getBoundingClientRect(),o=p(t),l=c(t);return{top:i.top+o,left:i.left+l,height:i.height,width:i.width}}function m(e){var t=!1,i=!0,o=document,l=o.defaultView,n=o.documentElement,r=o.addEventListener?"addEventListener":"attachEvent",a=o.addEventListener?"removeEventListener":"detachEvent",s=o.addEventListener?"":"on",u=function d(i){"readystatechange"==i.type&&"complete"!=o.readyState||(("load"==i.type?l:o)[a](s+i.type,d,!1),!t&&(t=!0)&&e.call(l,i.type||i))},c=function m(){try{n.doScroll("left")}catch(e){return void setTimeout(m,50)}u("poll")};if("complete"==o.readyState)e.call(l,"lazy");else{if(o.createEventObject&&n.doScroll){try{i=!l.frameElement}catch(p){}i&&c()}o[r](s+"DOMContentLoaded",u,!1),o[r](s+"readystatechange",u,!1),l[r](s+"load",u,!1)}}function b(e,t){if(t&&e.setAttribute){for(var i,o=f(e),l=t.split(" "),n=0;n=0;)o=o.replace(" "+i+" "," ");e.setAttribute("class",o.trim())}}function f(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function h(e){return e.replace(v,function(e,t,i,o){return o?i.toUpperCase():i}).replace(y,"Moz$1")}function g(e,t,i){var o;return o=i.getPropertyValue(t),""!==o||e.ownerDocument||(o=e.style[h(t)]),o}var x,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;x={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:o,css:l,hasClass:n,off:s,offset:d,on:a,one:u,ready:m,removeClass:b,type:r,scrollLeft:c,scrollTop:p}},{}],6:[function(e,t,i){"use strict";function o(){var e=window;if(h.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var i=Array.prototype.slice.call(arguments);e.console.log(i.join("\n"))}}function l(e){var t,i=document;t=i.head||i.getElementsByTagName("head")[0]||i.documentElement;var o=i.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=e:o.appendChild(i.createTextNode(e)),t.insertBefore(o,t.firstChild),o}function n(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function r(e){if(x.push(e),void 0===x._initialized){var t=document;g.on(t,"animationstart",a),g.on(t,"mozAnimationStart",a),g.on(t,"webkitAnimationStart",a),x._initialized=!0}}function a(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,i=x.length-1;i>=0;i--)x[i](t)}function s(e){var t="";for(var i in e)t+=e[i]?i+" ":"";return t.trim()}function u(){if(void 0!==f)return f;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",f="auto"===e.style.pointerEvents}function c(e,t){return function(){e[t].apply(e,arguments)}}function p(e,t,i,o,l){var n,r=document.createEvent("HTMLEvents"),i=void 0!==i?i:!0,o=void 0!==o?o:!0;if(r.initEvent(t,i,o),l)for(n in l)r[n]=l[n];return e&&e.dispatchEvent(r),r}function d(){if(v+=1,1===v){var e=window,t=document;b={left:g.scrollLeft(e),top:g.scrollTop(e)},g.addClass(t.body,y),e.scrollTo(b.left,b.top)}}function m(){if(0!==v&&(v-=1,0===v)){var e=window,t=document;g.removeClass(t.body,y),e.scrollTo(b.left,b.top)}}var b,f,h=e("../config"),g=e("./jqLite"),x=[],v=0,y="mui-body--scroll-lock";t.exports={callback:c,classNames:s,disableScrollLock:m,dispatchEvent:p,enableScrollLock:d,log:o,loadStyle:l,onNodeInserted:r,raiseError:n,supportsPointerEvents:u}},{"../config":3,"./jqLite":5}],7:[function(e,t,i){"use strict";var o="You provided a `value` prop to a form field without an `OnChange` handler. Please see React documentation on controlled components";t.exports={controlledMessage:o}},{}],8:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/jqLite"),r=babelHelpers.interopRequireWildcard(n),a=e("../js/lib/util"),s=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u="mui-btn",c="mui-ripple-effect",p={color:1,variant:1,size:1},d=function(e){function t(){var e,i,o,l;babelHelpers.classCallCheck(this,t);for(var n=arguments.length,r=Array(n),a=0;n>a;a++)r[a]=arguments[a];return i=o=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(r))),o.state={ripples:{}},l=i,babelHelpers.possibleConstructorReturn(o,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this.refs.buttonEl;e._muiDropdown=!0,e._muiRipple=!0}},{key:"onClick",value:function(e){var t=this.props.onClick;t&&t(e)}},{key:"onMouseDown",value:function(e){var t=r.offset(this.refs.buttonEl),i=t.height;"fab"===this.props.variant&&(i/=2);var o=this.state.ripples,l=Date.now();o[l]={xPos:e.pageX-t.left,yPos:e.pageY-t.top,diameter:i,teardownFn:this.teardownRipple.bind(this,l)},this.setState({ripples:o})}},{key:"onTouchStart",value:function(e){}},{key:"teardownRipple",value:function(e){var t=this.state.ripples;delete t[e],this.setState({ripples:t})}},{key:"render",value:function(){var e=u,t=void 0,i=void 0,o=this.state.ripples;for(t in p)i=this.props[t],"default"!==i&&(e+=" "+u+"--"+i);return l["default"].createElement("button",babelHelpers["extends"]({},this.props,{ref:"buttonEl",className:e+" "+this.props.className,onClick:this.onClick.bind(this),onMouseDown:this.onMouseDown.bind(this)}),this.props.children,Object.keys(o).map(function(e,t){var i=o[e];return l["default"].createElement(m,{key:e,xPos:i.xPos,yPos:i.yPos,diameter:i.diameter,onTeardown:i.teardownFn})}))}}]),t}(l["default"].Component);d.propTypes={color:s.oneOf(["default","primary","danger","dark","accent"]),disabled:s.bool,size:s.oneOf(["default","small","large"]),type:s.oneOf(["submit","button"]),variant:s.oneOf(["default","flat","raised","fab"]),onClick:s.func},d.defaultProps={className:"",color:"default",disabled:!1,size:"default",type:null,variant:"default",onClick:null};var m=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.teardownTimer=setTimeout(function(){var t=e.props.onTeardown;t&&t()},2e3)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.teardownTimer)}},{key:"render",value:function(){var e=this.props.diameter,t=e/2,i={height:e,width:e,top:this.props.yPos-t||0,left:this.props.xPos-t||0};return l["default"].createElement("div",{className:c,style:i})}}]),t}(l["default"].Component);m.propTypes={xPos:s.number,yPos:s.number,diameter:s.number,onTeardown:s.func},m.defaultProps={xPos:0,yPos:0,diameter:0,onTeardown:null},i["default"]=d,t.exports=i["default"]},{"../js/lib/jqLite":5,"../js/lib/util":6,react:"CwoHg3"}],9:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("span",babelHelpers["extends"]({},t,{className:"mui-caret "+this.props.className}))}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],10:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=l["default"].PropTypes,r=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return null}}]),t}(l["default"].Component);r.propTypes={value:n.any,label:n.string,onActive:n.func},r.defaultProps={value:null,label:"",onActive:null},i["default"]=r,t.exports=i["default"]},{react:"CwoHg3"}],11:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.TextField=void 0;var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=babelHelpers.interopRequireWildcard(n),a=e("./_helpers"),s=l["default"].PropTypes,u=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e)),o=e.value,l=o||e.defaultValue;i.state={innerValue:l,isDirty:Boolean(l)},void 0!==o&&null===e.onChange&&r.raiseError(a.controlledMessage,!0);var n=r.callback;return i.onChangeCB=n(i,"onChange"),i.onFocusCB=n(i,"onFocus"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.inputEl._muiTextfield=!0}},{key:"onChange",value:function(e){this.setState({innerValue:e.target.value});var t=this.props.onChange;t&&t(e)}},{key:"onFocus",value:function(e){this.setState({isDirty:!0})}},{key:"triggerFocus",value:function(){this.refs.inputEl.focus()}},{key:"render",value:function(){var e={},t=Boolean(this.state.innerValue),i=void 0;e["mui--is-empty"]=!t,e["mui--is-not-empty"]=t,e["mui--is-dirty"]=this.state.isDirty,e["mui--is-invalid"]=this.props.invalid,e=r.classNames(e);var o=this.props,n=(o.children,babelHelpers.objectWithoutProperties(o,["children"]));return i="textarea"===this.props.type?l["default"].createElement("textarea",babelHelpers["extends"]({},n,{ref:"inputEl",className:e,rows:this.props.rows,placeholder:this.props.hint,value:this.props.value,defaultValue:this.props.defaultValue,autoFocus:this.props.autoFocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required})):l["default"].createElement("input",babelHelpers["extends"]({},n,{ref:"inputEl",className:e,type:this.props.type,value:this.props.value,defaultValue:this.props.defaultValue,placeholder:this.props.hint,autoFocus:this.props.autofocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required}))}}]),t}(l["default"].Component);u.propTypes={hint:s.string,value:s.string,type:s.string,autoFocus:s.bool,onChange:s.func},u.defaultProps={hint:null,type:null,autoFocus:!1,onChange:null};var c=function(e){function t(){var e,i,o,l;babelHelpers.classCallCheck(this,t);for(var n=arguments.length,r=Array(n),a=0;n>a;a++)r[a]=arguments[a];return i=o=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(r))),o.state={style:{}},l=i,babelHelpers.possibleConstructorReturn(o,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.styleTimer=setTimeout(function(){var t=".15s ease-out",i=void 0;i={transition:t,WebkitTransition:t,MozTransition:t,OTransition:t,msTransform:t},e.setState({style:i})},150)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.styleTimer)}},{key:"render",value:function(){return l["default"].createElement("label",{style:this.state.style,onClick:this.props.onClick},this.props.text)}}]),t}(l["default"].Component);c.defaultProps={text:"",onClick:null};var p=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.onClickCB=r.callback(i,"onClick"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){r.supportsPointerEvents()===!1&&(e.target.style.cursor="text",this.refs.inputEl.triggerFocus())}},{key:"render",value:function(){var e={},t=void 0;return this.props.label.length&&(t=l["default"].createElement(c,{text:this.props.label,onClick:this.onClickCB})),e["mui-textfield"]=!0,e["mui-textfield--float-label"]=this.props.floatingLabel,e=r.classNames(e),l["default"].createElement("div",{className:e},l["default"].createElement(u,babelHelpers["extends"]({ref:"inputEl"},this.props)),t)}}]),t}(l["default"].Component);p.propTypes={label:s.string,floatingLabel:s.bool},p.defaultProps={label:"",floatingLabel:!1},i.TextField=p},{"../js/lib/util":6,"./_helpers":7,react:"CwoHg3"}],12:[function(e,t,i){t.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],13:[function(e,t,i){t.exports=e(6)},{"../config":3,"./jqLite":5}],14:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-appbar "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],15:[function(e,t,i){t.exports=e(8)},{"../js/lib/jqLite":5,"../js/lib/util":6,react:"CwoHg3"}],16:[function(e,t,i){t.exports=e(9)},{react:"CwoHg3"}],17:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=(babelHelpers.interopRequireWildcard(n),e("./_helpers"),l["default"].PropTypes),a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-checkbox "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"checkbox",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);a.propTypes={name:r.string,label:r.string,value:r.string,checked:r.bool,defaultChecked:r.bool,disabled:r.bool,onChange:r.func},a.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},i["default"]=a,t.exports=i["default"]},{"../js/lib/util":6,"./_helpers":7,react:"CwoHg3"}],18:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=babelHelpers.interopRequireWildcard(n),a=["xs","sm","md","lg","xl"],s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"defaultProps",value:function(){var e={className:""},t=void 0,i=void 0;for(t=a.length-1;t>-1;t--)i=a[t],e[i]=null,e[i+"-offset"]=null;return e}},{key:"render",value:function(){var e={},t=void 0,i=void 0,o=void 0,n=void 0;for(t=a.length-1;t>-1;t--)i=a[t],n="mui-col-"+i,o=this.props[i],o&&(e[n+"-"+o]=!0),o=this.props[i+"-offset"],o&&(e[n+"-offset-"+o]=!0);return e=r.classNames(e),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);i["default"]=s,t.exports=i["default"]},{"../js/lib/util":6,react:"CwoHg3"}],19:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="mui-container";return this.props.fluid&&(e+="-fluid"),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.propTypes={fluid:l["default"].PropTypes.bool},n.defaultProps={className:"",fluid:!1},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],20:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-divider "+this.props.className}))}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],21:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=babelHelpers.interopRequireWildcard(n),a=l["default"].PropTypes,s=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.onClickCB=r.callback(i,"onClick"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick(this,e)}},{key:"render",value:function(){var e=this.props,t=e.children,i=(e.onClick,babelHelpers.objectWithoutProperties(e,["children","onClick"]));return l["default"].createElement("li",i,l["default"].createElement("a",{href:this.props.link,target:this.props.target,"data-mui-value":this.props.value,onClick:this.onClickCB},t))}}]),t}(l["default"].Component);s.propTypes={link:a.string,target:a.string,onClick:a.func},i["default"]=s,t.exports=i["default"]},{"../js/lib/util":6,react:"CwoHg3"}],22:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./button"),r=babelHelpers.interopRequireDefault(n),a=e("./caret"),s=babelHelpers.interopRequireDefault(a),u=e("../js/lib/jqLite"),c=babelHelpers.interopRequireWildcard(u),p=e("../js/lib/util"),d=babelHelpers.interopRequireWildcard(p),m=l["default"].PropTypes,b="mui-dropdown",f="mui-dropdown__menu",h="mui--is-open",g="mui-dropdown__menu--right",x=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));i.state={opened:!1,menuTop:0};var o=d.callback;return i.selectCB=o(i,"select"),i.onClickCB=o(i,"onClick"),i.onOutsideClickCB=o(i,"onOutsideClick"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){document.addEventListener("click",this.onOutsideClickCB)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.onOutsideClickCB)}},{key:"onClick",value:function(e){if(0===e.button&&!this.props.disabled&&!e.defaultPrevented){this.toggle();var t=this.props.onClick;t&&t(e)}}},{key:"toggle",value:function(){return this.props.children?void(this.state.opened?this.close():this.open()):d.raiseError("Dropdown menu element not found")}},{key:"open",value:function(){var e=this.refs.wrapperEl.getBoundingClientRect(),t=void 0;t=this.refs.button.refs.buttonEl.getBoundingClientRect(),this.setState({opened:!0,menuTop:t.top-e.top+t.height})}},{key:"close",value:function(){this.setState({opened:!1})}},{key:"select",value:function(e){this.props.onSelect&&"A"===e.target.tagName&&this.props.onSelect(e.target.getAttribute("data-mui-value")),e.defaultPrevented||this.close()}},{key:"onOutsideClick",value:function(e){var t=this.refs.wrapperEl.contains(e.target);t||this.close()}},{key:"render",value:function(){var e=void 0,t=void 0,i=void 0;if(i="string"===c.type(this.props.label)?l["default"].createElement("span",null,this.props.label," ",l["default"].createElement(s["default"],null)):this.props.label,e=l["default"].createElement(r["default"],{ref:"button",type:"button",onClick:this.onClickCB,color:this.props.color,variant:this.props.variant,size:this.props.size,disabled:this.props.disabled},i),this.state.opened){var o={};o[f]=!0,o[h]=this.state.opened,o[g]="right"===this.props.alignMenu,o=d.classNames(o),t=l["default"].createElement("ul",{ref:"menuEl",className:o,style:{top:this.state.menuTop},onClick:this.selectCB},this.props.children)}var n=this.props,a=n.className,u=(n.children,n.onClick,babelHelpers.objectWithoutProperties(n,["className","children","onClick"]));return l["default"].createElement("div",babelHelpers["extends"]({},u,{ref:"wrapperEl",className:b+" "+a}),e,t)}}]),t}(l["default"].Component);x.propTypes={color:m.oneOf(["default","primary","danger","dark","accent"]),variant:m.oneOf(["default","flat","raised","fab"]),size:m.oneOf(["default","small","large"]),label:m.oneOfType([m.string,m.element]),alignMenu:m.oneOf(["left","right"]),onClick:m.func,onSelect:m.func,disabled:m.bool},x.defaultProps={className:"",color:"default",variant:"default",size:"default",label:"",alignMenu:"left",onClick:null,onSelect:null,disabled:!1},i["default"]=x,t.exports=i["default"]},{"../js/lib/jqLite":5,"../js/lib/util":6,"./button":8,"./caret":9,react:"CwoHg3"}],23:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="";return this.props.inline&&(e="mui-form--inline"),l["default"].createElement("form",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.propTypes={inline:l["default"].PropTypes.bool},n.defaultProps={className:"",inline:!1},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],24:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./text-field"),r=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(n.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={type:r.oneOf(["text","email","url","tel","password"])},a.defaultProps={type:"text"},i["default"]=a,t.exports=i["default"]},{"./text-field":11,react:"CwoHg3"}],25:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/forms"),r=(babelHelpers.interopRequireWildcard(n),e("../js/lib/jqLite")),a=(babelHelpers.interopRequireWildcard(r),e("../js/lib/util")),s=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("option",babelHelpers["extends"]({},t,{value:this.props.value}),this.props.label)}}]),t}(l["default"].Component);u.propTypes={value:s.string,label:s.string},u.defaultProps={value:null,label:null},i["default"]=u,t.exports=i["default"]},{"../js/lib/forms":4,"../js/lib/jqLite":5,"../js/lib/util":6,react:"CwoHg3"}],26:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-panel "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],27:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=l["default"].PropTypes,r=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-radio "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"radio",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);r.propTypes={name:n.string,label:n.string,value:n.string,checked:n.bool,defaultChecked:n.bool,disabled:n.bool,onChange:n.func},r.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},i["default"]=r,t.exports=i["default"]},{react:"CwoHg3"}],28:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=(babelHelpers.interopRequireWildcard(n),function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-row "+this.props.className}),this.props.children)}}]),t}(l["default"].Component));r.defaultProps={className:""},i["default"]=r,t.exports=i["default"]},{"../js/lib/util":6,react:"CwoHg3"}],29:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/forms"),r=babelHelpers.interopRequireWildcard(n),a=e("../js/lib/jqLite"),s=babelHelpers.interopRequireWildcard(a),u=e("../js/lib/util"),c=babelHelpers.interopRequireWildcard(u),p=e("./_helpers"),d=l["default"].PropTypes,m=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));i.state={showMenu:!1},e.readOnly===!1&&void 0!==e.value&&null===e.onChange&&c.raiseError(p.controlledMessage,!0),i.state.value=e.value;var o=c.callback;return i.hideMenuCB=o(i,"hideMenu"),i.onInnerChangeCB=o(i,"onInnerChange"),i.onInnerClickCB=o(i,"onInnerClick"),i.onInnerFocusCB=o(i,"onInnerFocus"),i.onInnerMouseDownCB=o(i,"onInnerMouseDown"),i.onKeydownCB=o(i,"onKeydown"),i.onMenuChangeCB=o(i,"onMenuChange"),i.onOuterFocusCB=o(i,"onOuterFocus"),i.onOuterBlurCB=o(i,"onOuterBlur"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.selectEl._muiSelect=!0,this.refs.wrapperEl.tabIndex=-1,this.props.autoFocus&&this.refs.wrapperEl.focus()}},{key:"componentWillReceiveProps",value:function(e){this.setState({value:e.value})}},{key:"onInnerMouseDown",value:function(e){0===e.button&&this.props.useDefault!==!0&&e.preventDefault()}},{key:"onInnerChange",value:function(e){var t=e.target.value;this.setState({value:t});var i=this.props.onChange;i&&i(t)}},{key:"onInnerClick",value:function(e){0===e.button&&this.showMenu()}},{key:"onInnerFocus",value:function(e){var t=this;this.props.useDefault!==!0&&setTimeout(function(){t.refs.wrapperEl.focus()},0)}},{key:"onOuterFocus",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;return t._muiOrigIndex=t.tabIndex,t.tabIndex=-1,t.disabled?this.refs.wrapperEl.blur():void s.on(document,"keydown",this.onKeydownCB)}}},{key:"onOuterBlur",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;t.tabIndex=t._muiOrigIndex,s.off(document,"keydown",this.onKeydownCB)}}},{key:"onKeydown",value:function(e){32!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode||(e.preventDefault(),this.refs.selectEl.disabled!==!0&&this.showMenu())}},{key:"showMenu",value:function(){this.props.useDefault!==!0&&(c.enableScrollLock(),s.on(window,"resize",this.hideMenuCB),s.on(document,"click",this.hideMenuCB),this.setState({showMenu:!0}))}},{key:"hideMenu",value:function(){c.disableScrollLock(),s.off(window,"resize",this.hideMenuCB),s.off(document,"click",this.hideMenuCB),this.setState({showMenu:!1}),this.refs.selectEl.focus()}},{key:"onMenuChange",value:function(e){if(this.props.readOnly!==!0){this.setState({value:e});var t=this.props.onChange;t&&t(e)}}},{key:"render",value:function(){var e=void 0;this.state.showMenu&&(e=l["default"].createElement(b,{optionEls:this.refs.selectEl.children,wrapperEl:this.refs.wrapperEl,onChange:this.onMenuChangeCB,onClose:this.hideMenuCB}));var t=this.props,i=(t.children,t.onChange,babelHelpers.objectWithoutProperties(t,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},i,{ref:"wrapperEl",className:"mui-select "+this.props.className,onFocus:this.onOuterFocusCB,onBlur:this.onOuterBlurCB}),l["default"].createElement("select",{ref:"selectEl",name:this.props.name,value:this.state.value,defaultValue:this.props.defaultValue,disabled:this.props.disabled,multiple:this.props.multiple,readOnly:this.props.readOnly,required:this.props.required,onChange:this.onInnerChangeCB,onMouseDown:this.onInnerMouseDownCB,onClick:this.onInnerClickCB,onFocus:this.onInnerFocusCB},this.props.children),e)}}]),t}(l["default"].Component);m.propTypes={name:d.string,value:d.string,defaultValue:d.string,autoFocus:d.bool,disabled:d.bool,multiple:d.bool,readOnly:d.bool,required:d.bool,useDefault:d.bool,onChange:d.func},m.defaultProps={className:"",name:null,autoFocus:!1,disabled:!1,multiple:!1,readOnly:!1,required:!1,useDefault:!1,onChange:null};var b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.state={origIndex:null,currentIndex:null},i.onKeydownCB=c.callback(i,"onKeydown"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){var e=this.props.optionEls,t=e.length,i=0,o=void 0;for(o=t-1;o>-1;o--)e[o].selected&&(i=o);this.setState({origIndex:i,currentIndex:i})}},{key:"componentDidMount",value:function(){this.blurTimer=setTimeout(function(){var e=document.activeElement;"body"!==e.nodeName.toLowerCase()&&e.blur()},0);var e=r.getMenuPositionalCSS(this.props.wrapperEl,this.props.optionEls.length,this.state.currentIndex),t=this.refs.wrapperEl;s.css(t,e),s.scrollTop(t,e.scrollTop),s.on(document,"keydown",this.onKeydownCB)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.blurTimer),s.off(document,"keydown",this.onKeydownCB)}},{key:"onClick",value:function(e,t){t.stopPropagation(),this.selectAndDestroy(e)}},{key:"onKeydown",value:function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&this.selectAndDestroy()))}},{key:"increment",value:function(){this.state.currentIndex!==this.props.optionEls.length-1&&this.setState({currentIndex:this.state.currentIndex+1})}},{key:"decrement",value:function(){0!==this.state.currentIndex&&this.setState({currentIndex:this.state.currentIndex-1})}},{key:"selectAndDestroy",value:function(e){e=void 0===e?this.state.currentIndex:e,e!==this.state.origIndex&&this.props.onChange(this.props.optionEls[e].value),this.destroy()}},{key:"destroy",value:function(){this.props.onClose()}},{key:"render",value:function(){var e=[],t=this.props.optionEls,i=t.length,o=void 0,n=void 0;for(n=0;i>n;n++)o=n===this.state.currentIndex?"mui--is-selected":"",e.push(l["default"].createElement("div",{key:n,className:o,onClick:this.onClick.bind(this,n)},t[n].textContent));return l["default"].createElement("div",{ref:"wrapperEl",className:"mui-select__menu"},e)}}]),t}(l["default"].Component);b.defaultProps={optionEls:[],wrapperEl:null,onChange:null,onClose:null},i["default"]=m,t.exports=i["default"]},{"../js/lib/forms":4,"../js/lib/jqLite":5,"../js/lib/util":6,"./_helpers":7,react:"CwoHg3"}],30:[function(e,t,i){t.exports=e(10)},{react:"CwoHg3"}],31:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./tab"),r=babelHelpers.interopRequireDefault(n),a=e("../js/lib/util"),s=babelHelpers.interopRequireWildcard(a),u=l["default"].PropTypes,c="mui-tabs__bar",p="mui-tabs__bar--justified",d="mui-tabs__pane",m="mui--is-active",b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.state={currentSelectedIndex:e.initialSelectedIndex},i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e,t,i){e!==this.state.currentSelectedIndex&&(this.setState({currentSelectedIndex:e}),t.props.onActive&&t.props.onActive(t),this.props.onChange&&this.props.onChange(e,t.props.value,t,i))}},{key:"render",value:function(){var e=this.props,t=e.children,i=babelHelpers.objectWithoutProperties(e,["children"]),o=[],n=[],a=t.length,u=this.state.currentSelectedIndex%a,b=void 0,f=void 0,h=void 0,g=void 0;for(g=0;a>g;g++)f=t[g],f.type!==r["default"]&&s.raiseError("Expecting MUITab React Element"),b=g===u,o.push(l["default"].createElement("li",{key:g,className:b?m:""},l["default"].createElement("a",{onClick:this.onClick.bind(this,g,f)},f.props.label))),h=d+" ",b&&(h+=m),n.push(l["default"].createElement("div",{key:g,className:h},f.props.children));return h=c,this.props.justified&&(h+=" "+p),l["default"].createElement("div",i,l["default"].createElement("ul",{className:h},o),n)}}]),t}(l["default"].Component);b.propTypes={initialSelectedIndex:u.number,justified:u.bool,onChange:u.func},b.defaultProps={className:"",initialSelectedIndex:0,justified:!1,onChange:null},i["default"]=b,t.exports=i["default"]},{"../js/lib/util":6,"./tab":10,react:"CwoHg3"}],32:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./text-field"),r=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(n.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={rows:r.number},a.defaultProps={type:"textarea",rows:2},i["default"]=a,t.exports=i["default"]},{"./text-field":11,react:"CwoHg3"}]},{},[2]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.js new file mode 100644 index 0000000..1d101ee --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.js @@ -0,0 +1,1809 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o viewHeight) { + scrollIdeal = (menuPadding + (currentIndex + 1) * optionHeight) - + (-1 * top + wrapperPadding + inputHeight); + scrollMax = numOptions * optionHeight + 2 * menuPadding - height; + scrollTop = Math.min(scrollIdeal, scrollMax); + } + + return { + 'height': height + 'px', + 'top': top + 'px', + 'scrollTop': scrollTop + }; +} + + +/** Define module API */ +module.exports = { + getMenuPositionalCSS: getMenuPositionalCSSFn +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS jqLite module + * @module lib/jqLite + */ + +'use strict'; + + +/** + * Add a class to an element. + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteAddClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { + existingClasses += cssClass + ' '; + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +/** + * Get or set CSS properties. + * @param {Element} element - The DOM element. + * @param {string} [name] - The property name. + * @param {string} [value] - The property value. + */ +function jqLiteCss(element, name, value) { + // Return full style object + if (name === undefined) { + return getComputedStyle(element); + } + + var nameType = jqLiteType(name); + + // Set multiple values + if (nameType === 'object') { + for (var key in name) element.style[_camelCase(key)] = name[key]; + return; + } + + // Set a single value + if (nameType === 'string' && value !== undefined) { + element.style[_camelCase(name)] = value; + } + + var styleObj = getComputedStyle(element), + isArray = (jqLiteType(name) === 'array'); + + // Read single value + if (!isArray) return _getCurrCssProp(element, name, styleObj); + + // Read multiple values + var outObj = {}, + key; + + for (var i=0; i < name.length; i++) { + key = name[i]; + outObj[key] = _getCurrCssProp(element, key, styleObj); + } + + return outObj; +} + + +/** + * Check if element has class. + * @param {Element} element - The DOM element. + * @param {string} cls - The class name string. + */ +function jqLiteHasClass(element, cls) { + if (!cls || !element.getAttribute) return false; + return (_getExistingClasses(element).indexOf(' ' + cls + ' ') > -1); +} + + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || + (args[0] === callback && args[1] === useCapture)) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win)); + else element.scrollLeft = value; +} + + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value); + else element.scrollTop = value; +} + + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function() { + try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { top = !win.frameElement; } catch(e) { } + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +} + + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + + +function _camelCase(name) { + return name. + replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }). + replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],5:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || + doc.getElementsByTagName('head')[0] || + doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText; + else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i=nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += (classes[i]) ? i + ' ' : ''; + } + return cs.trim(); +} + + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = (element.style.pointerEvents === 'auto'); + return _supportsPointerEvents; +} + + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function() {instance[funcName].apply(instance, arguments);}; +} + + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = (bubbles !== undefined) ? bubbles : true, + cancelable = (cancelable !== undefined) ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) ev[k] = data[k]; + + // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1 + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = {left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win)}; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1 + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":4}],6:[function(require,module,exports){ +/** + * MUI CSS/JS dropdown module + * @module dropdowns + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[data-mui-toggle="dropdown"]', + openClass = 'mui--is-open', + menuClass = 'mui-dropdown__menu'; + + +/** + * Initialize toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiDropdown === true) return; + else toggleEl._muiDropdown = true; + + // use type "button" to prevent form submission by default + if (!toggleEl.hasAttribute('type')) toggleEl.type = 'button'; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle click events on dropdown toggle element. + * @param {Event} ev - The DOM event + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle button is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + // toggle dropdown + toggleDropdown(toggleEl); +} + + +/** + * Toggle the dropdown. + * @param {Element} toggleEl - The dropdown toggle element. + */ +function toggleDropdown(toggleEl) { + var wrapperEl = toggleEl.parentNode, + menuEl = toggleEl.nextElementSibling, + doc = wrapperEl.ownerDocument; + + // exit if no menu element + if (!menuEl || !jqLite.hasClass(menuEl, menuClass)) { + return util.raiseError('Dropdown menu element not found'); + } + + // method to close dropdown + function closeDropdownFn() { + jqLite.removeClass(menuEl, openClass); + + // remove event handlers + jqLite.off(doc, 'click', closeDropdownFn); + } + + // method to open dropdown + function openDropdownFn() { + // position menu element below toggle button + var wrapperRect = wrapperEl.getBoundingClientRect(), + toggleRect = toggleEl.getBoundingClientRect(); + + var top = toggleRect.top - wrapperRect.top + toggleRect.height; + jqLite.css(menuEl, 'top', top + 'px'); + + // add open class to wrapper + jqLite.addClass(menuEl, openClass); + + // close dropdown when user clicks outside of menu + setTimeout(function() {jqLite.on(doc, 'click', closeDropdownFn);}, 0); + } + + // toggle dropdown + if (jqLite.hasClass(menuEl, openClass)) closeDropdownFn(); + else openDropdownFn(); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'dropdown') initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],7:[function(require,module,exports){ +module.exports=require(4) +},{}],8:[function(require,module,exports){ +/** + * MUI CSS/JS overlay module + * @module overlay + */ + +'use strict'; + + +var util = require('./lib/util'), + jqLite = require('./lib/jqLite'), + overlayId = 'mui-overlay', + bodyClass = 'mui--overflow-hidden', + iosRegex = /(iPad|iPhone|iPod)/g; + + +/** + * Turn overlay on/off. + * @param {string} action - Turn overlay "on"/"off". + * @param {object} [options] + * @config {boolean} [keyboard] - If true, close when escape key is pressed. + * @config {boolean} [static] - If false, close when backdrop is clicked. + * @config {Function} [onclose] - Callback function to execute on close + * @param {Element} [childElement] - Child element to add to overlay. + */ +function overlayFn(action) { + var overlayEl; + + if (action === 'on') { + // extract arguments + var arg, options, childElement; + + // pull options and childElement from arguments + for (var i=arguments.length - 1; i > 0; i--) { + arg = arguments[i]; + + if (jqLite.type(arg) === 'object') options = arg; + if (arg instanceof Element && arg.nodeType === 1) childElement = arg; + } + + // option defaults + options = options || {}; + if (options.keyboard === undefined) options.keyboard = true; + if (options.static === undefined) options.static = false; + + // execute method + overlayEl = overlayOn(options, childElement); + + } else if (action === 'off') { + overlayEl = overlayOff(); + + } else { + // raise error + util.raiseError("Expecting 'on' or 'off'"); + } + + return overlayEl; +} + + +/** + * Turn on overlay. + * @param {object} options - Overlay options. + * @param {Element} childElement - The child element. + */ +function overlayOn(options, childElement) { + var bodyEl = document.body, + overlayEl = document.getElementById(overlayId); + + // add overlay + util.enableScrollLock(); + //jqLite.addClass(bodyEl, bodyClass); + + if (!overlayEl) { + // create overlayEl + overlayEl = document.createElement('div'); + overlayEl.setAttribute('id', overlayId); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + + bodyEl.appendChild(overlayEl); + + } else { + // remove existing children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + } + + // iOS bugfix + if (iosRegex.test(navigator.userAgent)) { + jqLite.css(overlayEl, 'cursor', 'pointer'); + } + + // handle options + if (options.keyboard) addKeyupHandler(); + else removeKeyupHandler(); + + if (options.static) removeClickHandler(overlayEl); + else addClickHandler(overlayEl); + + // attach options + overlayEl.muiOptions = options; + + return overlayEl; +} + + +/** + * Turn off overlay. + */ +function overlayOff() { + var overlayEl = document.getElementById(overlayId), + callbackFn; + + if (overlayEl) { + // remove children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // remove overlay element + overlayEl.parentNode.removeChild(overlayEl); + + // callback reference + callbackFn = overlayEl.muiOptions.onclose; + + // remove click handler + removeClickHandler(overlayEl); + } + + util.disableScrollLock(); + + // remove keyup handler + removeKeyupHandler(); + + // execute callback + if (callbackFn) callbackFn(); + + return overlayEl; +} + + +/** + * Add keyup handler. + */ +function addKeyupHandler() { + jqLite.on(document, 'keyup', onKeyup); +} + + +/** + * Remove keyup handler. + */ +function removeKeyupHandler() { + jqLite.off(document, 'keyup', onKeyup); +} + + +/** + * Teardown overlay when escape key is pressed. + */ +function onKeyup(ev) { + if (ev.keyCode === 27) overlayOff(); +} + + +/** + * Add click handler. + */ +function addClickHandler(overlayEl) { + jqLite.on(overlayEl, 'click', onClick); +} + + +/** + * Remove click handler. + */ +function removeClickHandler(overlayEl) { + jqLite.off(overlayEl, 'click', onClick); +} + + +/** + * Teardown overlay when backdrop is clicked. + */ +function onClick(ev) { + if (ev.target.id === overlayId) overlayOff(); +} + + +/** Define module API */ +module.exports = overlayFn; + +},{"./lib/jqLite":4,"./lib/util":5}],9:[function(require,module,exports){ +/** + * MUI CSS/JS ripple module + * @module ripple + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + btnClass = 'mui-btn', + btnFABClass = 'mui-btn--fab', + rippleClass = 'mui-ripple-effect', + animationName = 'mui-btn-inserted'; + + +/** + * Add ripple effects to button element. + * @param {Element} buttonEl - The button element. + */ +function initialize(buttonEl) { + // check flag + if (buttonEl._muiRipple === true) return; + else buttonEl._muiRipple = true; + + // exit if element is INPUT (doesn't support absolute positioned children) + if (buttonEl.tagName === 'INPUT') return; + + // attach event handler + jqLite.on(buttonEl, 'touchstart', eventHandler); + jqLite.on(buttonEl, 'mousedown', eventHandler); +} + + +/** + * Event handler + * @param {Event} ev - The DOM event + */ +function eventHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var buttonEl = this; + + // exit if button is disabled + if (buttonEl.disabled === true) return; + + // de-dupe touchstart and mousedown with 100msec flag + if (buttonEl.touchFlag === true) { + return; + } else { + buttonEl.touchFlag = true; + setTimeout(function() { + buttonEl.touchFlag = false; + }, 100); + } + + var rippleEl = document.createElement('div'); + rippleEl.className = rippleClass; + + var offset = jqLite.offset(buttonEl), + xPos = ev.pageX - offset.left, + yPos = ev.pageY - offset.top, + diameter, + radius; + + // get height + if (jqLite.hasClass(buttonEl, btnFABClass)) diameter = offset.height / 2; + else diameter = offset.height; + + radius = diameter / 2; + + jqLite.css(rippleEl, { + height: diameter + 'px', + width: diameter + 'px', + top: yPos - radius + 'px', + left: xPos - radius + 'px' + }); + + buttonEl.appendChild(rippleEl); + + window.setTimeout(function() { + var parentNode = rippleEl.parentNode; + if (parentNode) parentNode.removeChild(rippleEl); + }, 2000); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.getElementsByClassName(btnClass); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (jqLite.hasClass(el, btnClass)) initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],10:[function(require,module,exports){ +/** + * MUI CSS/JS select module + * @module forms/select + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + formlib = require('./lib/forms'), + wrapperClass = 'mui-select', + cssSelector = '.mui-select > select', + menuClass = 'mui-select__menu', + selectedClass = 'mui--is-selected', + doc = document, + win = window; + + +/** + * Initialize select element. + * @param {Element} selectEl - The select element. + */ +function initialize(selectEl) { + // check flag + if (selectEl._muiSelect === true) return; + else selectEl._muiSelect = true; + + // use default behavior on touch devices + if ('ontouchstart' in doc.documentElement) return; + + // initialize element + new Select(selectEl); +} + + +/** + * Creates a new Select object + * @class + */ +function Select(selectEl) { + // instance variables + this.selectEl = selectEl; + this.wrapperEl = selectEl.parentNode; + this.useDefault = false; // currently unused but let's keep just in case + + // attach event handlers + jqLite.on(selectEl, 'mousedown', util.callback(this, 'mousedownHandler')); + jqLite.on(selectEl, 'focus', util.callback(this, 'focusHandler')); + jqLite.on(selectEl, 'click', util.callback(this, 'clickHandler')); + + // make wrapper focusable and fix firefox bug + this.wrapperEl.tabIndex = -1; + var callbackFn = util.callback(this, 'wrapperFocusHandler'); + jqLite.on(this.wrapperEl, 'focus', callbackFn); +} + + +/** + * Disable default dropdown on mousedown. + * @param {Event} ev - The DOM event + */ +Select.prototype.mousedownHandler = function(ev) { + if (ev.button !== 0 || this.useDefault === true) return; + ev.preventDefault(); +} + + +/** + * Handle focus event on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.focusHandler = function(ev) { + // check flag + if (this.useDefault === true) return; + + var selectEl = this.selectEl, + wrapperEl = this.wrapperEl, + origIndex = selectEl.tabIndex, + keydownFn = util.callback(this, 'keydownHandler'); + + // attach keydown handler + jqLite.on(doc, 'keydown', keydownFn); + + // disable tabfocus once + selectEl.tabIndex = -1; + jqLite.one(wrapperEl, 'blur', function() { + selectEl.tabIndex = origIndex; + jqLite.off(doc, 'keydown', keydownFn); + }); + + // defer focus to parent + wrapperEl.focus(); +} + + +/** + * Handle keydown events on doc + **/ +Select.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // spacebar, down, up + if (keyCode === 32 || keyCode === 38 || keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.selectEl.disabled !== true) this.renderMenu(); + } +} + + +/** + * Handle focus event on wrapper element. + */ +Select.prototype.wrapperFocusHandler = function() { + // firefox bugfix + if (this.selectEl.disabled) return this.wrapperEl.blur(); +} + + +/** + * Handle click events on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.clickHandler = function(ev) { + // only left clicks + if (ev.button !== 0) return; + this.renderMenu(); +} + + +/** + * Render options dropdown. + */ +Select.prototype.renderMenu = function() { + // check and reset flag + if (this.useDefault === true) return this.useDefault = false; + + new Menu(this.wrapperEl, this.selectEl); +} + + +/** + * Creates a new Menu + * @class + */ +function Menu(wrapperEl, selectEl) { + // add scroll lock + util.enableScrollLock(); + + // instance variables + this.origIndex = null; + this.currentIndex = null; + this.selectEl = selectEl; + this.menuEl = this._createMenuEl(wrapperEl, selectEl); + this.clickCallbackFn = util.callback(this, 'clickHandler'); + this.keydownCallbackFn = util.callback(this, 'keydownHandler'); + this.destroyCallbackFn = util.callback(this, 'destroy'); + + // add to DOM + wrapperEl.appendChild(this.menuEl); + jqLite.scrollTop(this.menuEl, this.menuEl._muiScrollTop); + + // blur active element + setTimeout(function() { + // ie10 bugfix + if (doc.activeElement.nodeName.toLowerCase() !== "body") { + doc.activeElement.blur(); + } + }, 0); + + // attach event handlers + jqLite.on(this.menuEl, 'click', this.clickCallbackFn); + jqLite.on(doc, 'keydown', this.keydownCallbackFn); + jqLite.on(win, 'resize', this.destroyCallbackFn); + + // attach event handler after current event loop exits + var fn = this.destroyCallbackFn; + setTimeout(function() {jqLite.on(doc, 'click', fn);}, 0); +} + + +/** + * Create menu element + * @param {Element} selectEl - The select element + */ +Menu.prototype._createMenuEl = function(wrapperEl, selectEl) { + var menuEl = doc.createElement('div'), + optionEls = selectEl.children, + numOptions = optionEls.length, + selectedPos = 0, + optionEl, + itemEl, + i; + + menuEl.className = menuClass; + + // add options + for (i=0; i < numOptions; i++) { + optionEl = optionEls[i]; + + itemEl = doc.createElement('div'); + itemEl.textContent = optionEl.textContent; + itemEl._muiPos = i; + + if (optionEl.selected) { + itemEl.setAttribute('class', selectedClass); + selectedPos = i; + } + + menuEl.appendChild(itemEl); + } + + // save indices + this.origIndex = selectedPos; + this.currentIndex = selectedPos; + + // set position + var props = formlib.getMenuPositionalCSS( + wrapperEl, + numOptions, + selectedPos + ); + + jqLite.css(menuEl, props); + menuEl._muiScrollTop = props.scrollTop; + + return menuEl; +} + + +/** + * Handle keydown events on doc element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) { + this.destroy(); + } else if (keyCode === 40) { + this.increment(); + } else if (keyCode === 38) { + this.decrement(); + } else if (keyCode === 13) { + this.selectCurrent(); + this.destroy(); + } +} + + +/** + * Handle click events on menu element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.clickHandler = function(ev) { + // don't allow events to bubble + ev.stopPropagation(); + + var pos = ev.target._muiPos; + + // ignore clicks on non-items + if (pos === undefined) return; + + // select option + this.currentIndex = pos; + this.selectCurrent(); + + // destroy menu + this.destroy(); +} + + +/** + * Increment selected item + */ +Menu.prototype.increment = function() { + if (this.currentIndex === this.menuEl.children.length - 1) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex += 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Decrement selected item + */ +Menu.prototype.decrement = function() { + if (this.currentIndex === 0) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex -= 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Select current item + */ +Menu.prototype.selectCurrent = function() { + if (this.currentIndex !== this.origIndex) { + var optionEls = this.selectEl.children; + optionEls[this.origIndex].selected = false; + optionEls[this.currentIndex].selected = true; + + // trigger change event + util.dispatchEvent(this.selectEl, 'change'); + } +} + + +/** + * Destroy menu and detach event handlers + */ +Menu.prototype.destroy = function() { + // remove element and focus element + var parentNode = this.menuEl.parentNode; + if (parentNode) parentNode.removeChild(this.menuEl); + + this.selectEl.focus(); + + // remove scroll lock + util.disableScrollLock(); + + // remove event handlers + jqLite.off(this.menuEl, 'click', this.clickCallbackFn); + jqLite.off(doc, 'keydown', this.keydownCallbackFn); + jqLite.off(doc, 'click', this.destroyCallbackFn); + jqLite.off(win, 'resize', this.destroyCallbackFn); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'SELECT' && + jqLite.hasClass(el.parentNode, wrapperClass)) { + initialize(el); + } + }); + } +}; + +},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(require,module,exports){ +/** + * MUI CSS/JS tabs module + * @module tabs + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[' + attrKey + '="tab"]', + controlsAttrKey = 'data-mui-controls', + activeClass = 'mui--is-active', + showstartKey = 'mui.tabs.showstart', + showendKey = 'mui.tabs.showend', + hidestartKey = 'mui.tabs.hidestart', + hideendKey = 'mui.tabs.hideend'; + + +/** + * Initialize the toggle element + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiTabs === true) return; + else toggleEl._muiTabs = true; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle clicks on the toggle element. + * @param {Event} ev - The DOM event. + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle element is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + activateTab(toggleEl); +} + + +/** + * Activate the tab controlled by the toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function activateTab(currToggleEl) { + var currTabEl = currToggleEl.parentNode, + currPaneId = currToggleEl.getAttribute(controlsAttrKey), + currPaneEl = document.getElementById(currPaneId), + prevTabEl, + prevPaneEl, + prevPaneId, + prevToggleEl, + currData, + prevData, + ev1, + ev2, + cssSelector; + + // exit if already active + if (jqLite.hasClass(currTabEl, activeClass)) return; + + // raise error if pane doesn't exist + if (!currPaneEl) util.raiseError('Tab pane "' + currPaneId + '" not found'); + + // get previous pane + prevPaneEl = getActiveSibling(currPaneEl); + prevPaneId = prevPaneEl.id; + + // get previous toggle and tab elements + cssSelector = '[' + controlsAttrKey + '="' + prevPaneId + '"]'; + prevToggleEl = document.querySelectorAll(cssSelector)[0]; + prevTabEl = prevToggleEl.parentNode; + + // define event data + currData = {paneId: currPaneId, relatedPaneId: prevPaneId}; + prevData = {paneId: prevPaneId, relatedPaneId: currPaneId}; + + // dispatch 'hidestart', 'showstart' events + ev1 = util.dispatchEvent(prevToggleEl, hidestartKey, true, true, prevData); + ev2 = util.dispatchEvent(currToggleEl, showstartKey, true, true, currData); + + // let events bubble + setTimeout(function() { + // exit if either event was canceled + if (ev1.defaultPrevented || ev2.defaultPrevented) return; + + // de-activate previous + if (prevTabEl) jqLite.removeClass(prevTabEl, activeClass); + if (prevPaneEl) jqLite.removeClass(prevPaneEl, activeClass); + + // activate current + jqLite.addClass(currTabEl, activeClass); + jqLite.addClass(currPaneEl, activeClass); + + // dispatch 'hideend', 'showend' events + util.dispatchEvent(prevToggleEl, hideendKey, true, false, prevData); + util.dispatchEvent(currToggleEl, showendKey, true, false, currData); + }, 0); +} + + +/** + * Get previous active sibling. + * @param {Element} el - The anchor element. + */ +function getActiveSibling(el) { + var elList = el.parentNode.children, + q = elList.length, + activeEl = null, + tmpEl; + + while (q-- && !activeEl) { + tmpEl = elList[q]; + if (tmpEl !== el && jqLite.hasClass(tmpEl, activeClass)) activeEl = tmpEl + } + + return activeEl; +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = document.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // TODO: listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'tab') initialize(el); + }); + }, + + /** External API */ + api: { + activate: function(paneId) { + var cssSelector = '[' + controlsAttrKey + '=' + paneId + ']', + toggleEl = document.querySelectorAll(cssSelector); + + if (!toggleEl.length) { + util.raiseError('Tab control for pane "' + paneId + '" not found'); + } + + activateTab(toggleEl[0]); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],12:[function(require,module,exports){ +/** + * MUI CSS/JS form-control module + * @module forms/form-control + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + cssSelector = '.mui-textfield > input, .mui-textfield > textarea', + emptyClass = 'mui--is-empty', + notEmptyClass = 'mui--is-not-empty', + dirtyClass = 'mui--is-dirty', + floatingLabelClass = 'mui-textfield--float-label'; + + +/** + * Initialize input element. + * @param {Element} inputEl - The input element. + */ +function initialize(inputEl) { + // check flag + if (inputEl._muiTextfield === true) return; + else inputEl._muiTextfield = true; + + if (inputEl.value.length) jqLite.addClass(inputEl, notEmptyClass); + else jqLite.addClass(inputEl, emptyClass); + + jqLite.on(inputEl, 'input', inputHandler); + jqLite.on(inputEl, 'change', inputHandler); + + // add dirty class on focus + jqLite.on(inputEl, 'focus', function(){jqLite.addClass(this, dirtyClass);}); +} + + +/** + * Handle input events. + */ +function inputHandler() { + var inputEl = this; + + if (inputEl.value.length) { + jqLite.removeClass(inputEl, emptyClass); + jqLite.addClass(inputEl, notEmptyClass); + } else { + jqLite.removeClass(inputEl, notEmptyClass); + jqLite.addClass(inputEl, emptyClass) + } + + jqLite.addClass(inputEl, dirtyClass); +} + + +/** Define module API */ +module.exports = { + /** Initialize input elements */ + initialize: initialize, + + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') initialize(el); + }); + + // add transition css for floating labels + setTimeout(function() { + var css = '.mui-textfield.mui-textfield--float-label > label {' + [ + '-webkit-transition', + '-moz-transition', + '-o-transition', + 'transition', + '' + ].join(':all .15s ease-out;') + '}'; + + util.loadStyle(css); + }, 150); + + // pointer-events shim for floating labels + if (util.supportsPointerEvents() === false) { + jqLite.on(document, 'click', function(ev) { + var targetEl = ev.target; + + if (targetEl.tagName === 'LABEL' && + jqLite.hasClass(targetEl.parentNode, floatingLabelClass)) { + var inputEl = targetEl.previousElementSibling; + if (inputEl) inputEl.focus(); + } + }); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.min.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.min.js new file mode 100644 index 0000000..833d99c --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/js/mui.min.js @@ -0,0 +1 @@ +!function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var a="function"==typeof require&&require;if(!s&&a)return a(l,!0);if(r)return r(l,!0);throw new Error("Cannot find module '"+l+"'")}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){var n=t[l][1][e];return o(n?n:e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var r="function"==typeof require&&require,l=0;ld&&(h=s+(n+1)*l-(-1*i+o+r),m=t*l+2*s-p,v=Math.min(h,m)),{height:p+"px",top:i+"px",scrollTop:v}}var o=15,r=32,l=42,s=8;t.exports={getMenuPositionalCSS:i}},{}],4:[function(e,t,n){"use strict";function i(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r-1:!1}function l(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function s(e,t,n,i){i=void 0===i?!1:i,e.addEventListener(t,n,i);var o=e._muiEventCache=e._muiEventCache||{};o[t]=o[t]||[],o[t].push([n,i])}function a(e,t,n,i){i=void 0===i?!1:i;var o,r,l=e._muiEventCache=e._muiEventCache||{},s=l[t]||[];for(r=s.length;r--;)o=s[r],(void 0===n||o[0]===n&&o[1]===i)&&(s.splice(r,1),e.removeEventListener(t,o[0],o[1]))}function c(e,t,n,i){s(e,t,function o(i){n&&n.apply(this,arguments),a(e,t,o)},i)}function u(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageXOffset||i.scrollLeft)-(i.clientLeft||0)}return e.scrollLeft}e===n?n.scrollTo(t,d(n)):e.scrollLeft=t}function d(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageYOffset||i.scrollTop)-(i.clientTop||0)}return e.scrollTop}e===n?n.scrollTo(u(n),t):e.scrollTop=t}function f(e){var t=window,n=e.getBoundingClientRect(),i=d(t),o=u(t);return{top:n.top+i,left:n.left+o,height:n.height,width:n.width}}function p(e){var t=!1,n=!0,i=document,o=i.defaultView,r=i.documentElement,l=i.addEventListener?"addEventListener":"attachEvent",s=i.addEventListener?"removeEventListener":"detachEvent",a=i.addEventListener?"":"on",c=function(n){"readystatechange"==n.type&&"complete"!=i.readyState||(("load"==n.type?o:i)[s](a+n.type,c,!1),!t&&(t=!0)&&e.call(o,n.type||n))},u=function(){try{r.doScroll("left")}catch(e){return void setTimeout(u,50)}c("poll")};if("complete"==i.readyState)e.call(o,"lazy");else{if(i.createEventObject&&r.doScroll){try{n=!o.frameElement}catch(d){}n&&u()}i[l](a+"DOMContentLoaded",c,!1),i[l](a+"readystatechange",c,!1),o[l](a+"load",c,!1)}}function h(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r=0;)i=i.replace(" "+n+" "," ");e.setAttribute("class",i.trim())}}function m(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function v(e){return e.replace(g,function(e,t,n,i){return i?n.toUpperCase():n}).replace(E,"Moz$1")}function b(e,t,n){var i;return i=n.getPropertyValue(t),""!==i||e.ownerDocument||(i=e.style[v(t)]),i}var y,g=/([\:\-\_]+(.))/g,E=/^moz([A-Z])/;y={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:i,css:o,hasClass:r,off:a,offset:f,on:s,one:c,ready:p,removeClass:h,type:l,scrollLeft:u,scrollTop:d}},{}],5:[function(e,t,n){"use strict";function i(){var e=window;if(v.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var n=Array.prototype.slice.call(arguments);e.console.log(n.join("\n"))}}function o(e){var t,n=document;t=n.head||n.getElementsByTagName("head")[0]||n.documentElement;var i=n.createElement("style");return i.type="text/css",i.styleSheet?i.styleSheet.cssText=e:i.appendChild(n.createTextNode(e)),t.insertBefore(i,t.firstChild),i}function r(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function l(e){if(y.push(e),void 0===y._initialized){var t=document;b.on(t,"animationstart",s),b.on(t,"mozAnimationStart",s),b.on(t,"webkitAnimationStart",s),y._initialized=!0}}function s(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,n=y.length-1;n>=0;n--)y[n](t)}function a(e){var t="";for(var n in e)t+=e[n]?n+" ":"";return t.trim()}function c(){if(void 0!==m)return m;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",m="auto"===e.style.pointerEvents}function u(e,t){return function(){e[t].apply(e,arguments)}}function d(e,t,n,i,o){var r,l=document.createEvent("HTMLEvents"),n=void 0!==n?n:!0,i=void 0!==i?i:!0;if(l.initEvent(t,n,i),o)for(r in o)l[r]=o[r];return e&&e.dispatchEvent(l),l}function f(){if(g+=1,1===g){var e=window,t=document;h={left:b.scrollLeft(e),top:b.scrollTop(e)},b.addClass(t.body,E),e.scrollTo(h.left,h.top)}}function p(){if(0!==g&&(g-=1,0===g)){var e=window,t=document;b.removeClass(t.body,E),e.scrollTo(h.left,h.top)}}var h,m,v=e("../config"),b=e("./jqLite"),y=[],g=0,E="mui-body--scroll-lock";t.exports={callback:u,classNames:a,disableScrollLock:p,dispatchEvent:d,enableScrollLock:f,log:i,loadStyle:o,onNodeInserted:l,raiseError:r,supportsPointerEvents:c}},{"../config":2,"./jqLite":4}],6:[function(e,t,n){"use strict";function i(e){e._muiDropdown!==!0&&(e._muiDropdown=!0,e.hasAttribute("type")||(e.type="button"),l.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){function t(){l.removeClass(o,u),l.off(r,"click",t)}function n(){var n=i.getBoundingClientRect(),s=e.getBoundingClientRect(),a=s.top-n.top+s.height;l.css(o,"top",a+"px"),l.addClass(o,u),setTimeout(function(){l.on(r,"click",t)},0)}var i=e.parentNode,o=e.nextElementSibling,r=i.ownerDocument;return o&&l.hasClass(o,d)?void(l.hasClass(o,u)?t():n()):s.raiseError("Dropdown menu element not found")}var l=e("./lib/jqLite"),s=e("./lib/util"),a="data-mui-toggle",c='[data-mui-toggle="dropdown"]',u="mui--is-open",d="mui-dropdown__menu";t.exports={initListeners:function(){for(var e=document,t=e.querySelectorAll(c),n=t.length-1;n>=0;n--)i(t[n]);s.onNodeInserted(function(e){"dropdown"===e.getAttribute(a)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],7:[function(e,t,n){t.exports=e(4)},{}],8:[function(e,t,n){"use strict";function i(e){var t;if("on"===e){for(var n,i,l,s=arguments.length-1;s>0;s--)n=arguments[s],"object"===p.type(n)&&(i=n),n instanceof Element&&1===n.nodeType&&(l=n);i=i||{},void 0===i.keyboard&&(i.keyboard=!0),void 0===i["static"]&&(i["static"]=!1),t=o(i,l)}else"off"===e?t=r():f.raiseError("Expecting 'on' or 'off'");return t}function o(e,t){var n=document.body,i=document.getElementById(h);if(f.enableScrollLock(),i){for(;i.firstChild;)i.removeChild(i.firstChild);t&&i.appendChild(t)}else i=document.createElement("div"),i.setAttribute("id",h),t&&i.appendChild(t),n.appendChild(i);return m.test(navigator.userAgent)&&p.css(i,"cursor","pointer"),e.keyboard?l():s(),e["static"]?u(i):c(i),i.muiOptions=e,i}function r(){var e,t=document.getElementById(h);if(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.parentNode.removeChild(t),e=t.muiOptions.onclose,u(t)}return f.disableScrollLock(),s(),e&&e(),t}function l(){p.on(document,"keyup",a)}function s(){p.off(document,"keyup",a)}function a(e){27===e.keyCode&&r()}function c(e){p.on(e,"click",d)}function u(e){p.off(e,"click",d)}function d(e){e.target.id===h&&r()}var f=e("./lib/util"),p=e("./lib/jqLite"),h="mui-overlay",m=/(iPad|iPhone|iPod)/g;t.exports=i},{"./lib/jqLite":4,"./lib/util":5}],9:[function(e,t,n){"use strict";function i(e){e._muiRipple!==!0&&(e._muiRipple=!0,"INPUT"!==e.tagName&&(r.on(e,"touchstart",o),r.on(e,"mousedown",o)))}function o(e){if(0===e.button){var t=this;if(t.disabled!==!0&&t.touchFlag!==!0){t.touchFlag=!0,setTimeout(function(){t.touchFlag=!1},100);var n=document.createElement("div");n.className=c;var i,o,l=r.offset(t),s=e.pageX-l.left,u=e.pageY-l.top;i=r.hasClass(t,a)?l.height/2:l.height,o=i/2,r.css(n,{height:i+"px",width:i+"px",top:u-o+"px",left:s-o+"px"}),t.appendChild(n),window.setTimeout(function(){var e=n.parentNode;e&&e.removeChild(n)},2e3)}}}var r=e("./lib/jqLite"),l=e("./lib/util"),s="mui-btn",a="mui-btn--fab",c="mui-ripple-effect";t.exports={initListeners:function(){for(var e=document,t=e.getElementsByClassName(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){r.hasClass(e,s)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],10:[function(e,t,n){"use strict";function i(e){e._muiSelect!==!0&&(e._muiSelect=!0,"ontouchstart"in p.documentElement||new o(e))}function o(e){this.selectEl=e,this.wrapperEl=e.parentNode,this.useDefault=!1,l.on(e,"mousedown",s.callback(this,"mousedownHandler")),l.on(e,"focus",s.callback(this,"focusHandler")),l.on(e,"click",s.callback(this,"clickHandler")),this.wrapperEl.tabIndex=-1;var t=s.callback(this,"wrapperFocusHandler");l.on(this.wrapperEl,"focus",t)}function r(e,t){s.enableScrollLock(),this.origIndex=null,this.currentIndex=null,this.selectEl=t,this.menuEl=this._createMenuEl(e,t),this.clickCallbackFn=s.callback(this,"clickHandler"),this.keydownCallbackFn=s.callback(this,"keydownHandler"),this.destroyCallbackFn=s.callback(this,"destroy"),e.appendChild(this.menuEl),l.scrollTop(this.menuEl,this.menuEl._muiScrollTop),setTimeout(function(){"body"!==p.activeElement.nodeName.toLowerCase()&&p.activeElement.blur()},0),l.on(this.menuEl,"click",this.clickCallbackFn),l.on(p,"keydown",this.keydownCallbackFn),l.on(h,"resize",this.destroyCallbackFn);var n=this.destroyCallbackFn;setTimeout(function(){l.on(p,"click",n)},0)}var l=e("./lib/jqLite"),s=e("./lib/util"),a=e("./lib/forms"),c="mui-select",u=".mui-select > select",d="mui-select__menu",f="mui--is-selected",p=document,h=window;o.prototype.mousedownHandler=function(e){0===e.button&&this.useDefault!==!0&&e.preventDefault()},o.prototype.focusHandler=function(e){if(this.useDefault!==!0){var t=this.selectEl,n=this.wrapperEl,i=t.tabIndex,o=s.callback(this,"keydownHandler");l.on(p,"keydown",o),t.tabIndex=-1,l.one(n,"blur",function(){t.tabIndex=i,l.off(p,"keydown",o)}),n.focus()}},o.prototype.keydownHandler=function(e){var t=e.keyCode;32!==t&&38!==t&&40!==t||(e.preventDefault(),this.selectEl.disabled!==!0&&this.renderMenu())},o.prototype.wrapperFocusHandler=function(){return this.selectEl.disabled?this.wrapperEl.blur():void 0},o.prototype.clickHandler=function(e){0===e.button&&this.renderMenu()},o.prototype.renderMenu=function(){return this.useDefault===!0?this.useDefault=!1:void new r(this.wrapperEl,this.selectEl)},r.prototype._createMenuEl=function(e,t){var n,i,o,r=p.createElement("div"),s=t.children,c=s.length,u=0;for(r.className=d,o=0;c>o;o++)n=s[o],i=p.createElement("div"),i.textContent=n.textContent,i._muiPos=o,n.selected&&(i.setAttribute("class",f),u=o),r.appendChild(i);this.origIndex=u,this.currentIndex=u;var h=a.getMenuPositionalCSS(e,c,u);return l.css(r,h),r._muiScrollTop=h.scrollTop,r},r.prototype.keydownHandler=function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&(this.selectCurrent(),this.destroy())))},r.prototype.clickHandler=function(e){e.stopPropagation();var t=e.target._muiPos;void 0!==t&&(this.currentIndex=t,this.selectCurrent(),this.destroy())},r.prototype.increment=function(){if(this.currentIndex!==this.menuEl.children.length-1){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex+=1,l.addClass(e[this.currentIndex],f)}},r.prototype.decrement=function(){if(0!==this.currentIndex){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex-=1,l.addClass(e[this.currentIndex],f)}},r.prototype.selectCurrent=function(){if(this.currentIndex!==this.origIndex){var e=this.selectEl.children;e[this.origIndex].selected=!1,e[this.currentIndex].selected=!0,s.dispatchEvent(this.selectEl,"change")}},r.prototype.destroy=function(){var e=this.menuEl.parentNode;e&&e.removeChild(this.menuEl),this.selectEl.focus(),s.disableScrollLock(),l.off(this.menuEl,"click",this.clickCallbackFn),l.off(p,"keydown",this.keydownCallbackFn),l.off(p,"click",this.destroyCallbackFn),l.off(h,"resize",this.destroyCallbackFn)},t.exports={initListeners:function(){for(var e=p.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);s.onNodeInserted(function(e){"SELECT"===e.tagName&&l.hasClass(e.parentNode,c)&&i(e)})}}},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(e,t,n){"use strict";function i(e){e._muiTabs!==!0&&(e._muiTabs=!0,s.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){var t,n,i,o,r,c,u,b,y,g=e.parentNode,E=e.getAttribute(d),C=document.getElementById(E);s.hasClass(g,f)||(C||a.raiseError('Tab pane "'+E+'" not found'),n=l(C),i=n.id,y="["+d+'="'+i+'"]',o=document.querySelectorAll(y)[0],t=o.parentNode,r={paneId:E,relatedPaneId:i},c={paneId:i,relatedPaneId:E},u=a.dispatchEvent(o,m,!0,!0,c),b=a.dispatchEvent(e,p,!0,!0,r),setTimeout(function(){u.defaultPrevented||b.defaultPrevented||(t&&s.removeClass(t,f),n&&s.removeClass(n,f),s.addClass(g,f),s.addClass(C,f),a.dispatchEvent(o,v,!0,!1,c),a.dispatchEvent(e,h,!0,!1,r))},0))}function l(e){for(var t,n=e.parentNode.children,i=n.length,o=null;i--&&!o;)t=n[i],t!==e&&s.hasClass(t,f)&&(o=t);return o}var s=e("./lib/jqLite"),a=e("./lib/util"),c="data-mui-toggle",u="["+c+'="tab"]',d="data-mui-controls",f="mui--is-active",p="mui.tabs.showstart",h="mui.tabs.showend",m="mui.tabs.hidestart",v="mui.tabs.hideend";t.exports={initListeners:function(){for(var e=document.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);a.onNodeInserted(function(e){"tab"===e.getAttribute(c)&&i(e)})},api:{activate:function(e){var t="["+d+"="+e+"]",n=document.querySelectorAll(t);n.length||a.raiseError('Tab control for pane "'+e+'" not found'),r(n[0])}}}},{"./lib/jqLite":4,"./lib/util":5}],12:[function(e,t,n){"use strict";function i(e){e._muiTextfield!==!0&&(e._muiTextfield=!0,e.value.length?r.addClass(e,c):r.addClass(e,a),r.on(e,"input",o),r.on(e,"change",o),r.on(e,"focus",function(){r.addClass(this,u)}))}function o(){var e=this;e.value.length?(r.removeClass(e,a),r.addClass(e,c)):(r.removeClass(e,c),r.addClass(e,a)),r.addClass(e,u)}var r=e("./lib/jqLite"),l=e("./lib/util"),s=".mui-textfield > input, .mui-textfield > textarea",a="mui--is-empty",c="mui--is-not-empty",u="mui--is-dirty",d="mui-textfield--float-label";t.exports={initialize:i,initListeners:function(){for(var e=document,t=e.querySelectorAll(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName||i(e)}),setTimeout(function(){var e=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";l.loadStyle(e)},150),l.supportsPointerEvents()===!1&&r.on(document,"click",function(e){var t=e.target;if("LABEL"===t.tagName&&r.hasClass(t.parentNode,d)){var n=t.previousElementSibling;n&&n.focus()}})}}},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.js new file mode 100644 index 0000000..aefaa3b --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.js @@ -0,0 +1,3208 @@ +(function (global) { + var babelHelpers = global.babelHelpers = {}; + + babelHelpers.classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + babelHelpers.createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + babelHelpers.extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + babelHelpers.inherits = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + }; + + babelHelpers.interopRequireDefault = function (obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + }; + + babelHelpers.interopRequireWildcard = function (obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + } + + newObj.default = obj; + return newObj; + } + }; + + babelHelpers.objectWithoutProperties = function (obj, keys) { + var target = {}; + + for (var i in obj) { + if (keys.indexOf(i) >= 0) continue; + if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; + target[i] = obj[i]; + } + + return target; + }; + + babelHelpers.possibleConstructorReturn = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; + }; +})(typeof global === "undefined" ? self : global);(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o viewHeight) { + scrollIdeal = menuPadding + (currentIndex + 1) * optionHeight - (-1 * top + wrapperPadding + inputHeight); + scrollMax = numOptions * optionHeight + 2 * menuPadding - height; + scrollTop = Math.min(scrollIdeal, scrollMax); + } + + return { + 'height': height + 'px', + 'top': top + 'px', + 'scrollTop': scrollTop + }; +} + +/** Define module API */ +module.exports = { + getMenuPositionalCSS: getMenuPositionalCSSFn +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS jqLite module + * @module lib/jqLite + */ + +'use strict'; + +/** + * Add a class to an element. + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ + +function jqLiteAddClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i = 0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { + existingClasses += cssClass + ' '; + } + } + + element.setAttribute('class', existingClasses.trim()); +} + +/** + * Get or set CSS properties. + * @param {Element} element - The DOM element. + * @param {string} [name] - The property name. + * @param {string} [value] - The property value. + */ +function jqLiteCss(element, name, value) { + // Return full style object + if (name === undefined) { + return getComputedStyle(element); + } + + var nameType = jqLiteType(name); + + // Set multiple values + if (nameType === 'object') { + for (var key in name) { + element.style[_camelCase(key)] = name[key]; + }return; + } + + // Set a single value + if (nameType === 'string' && value !== undefined) { + element.style[_camelCase(name)] = value; + } + + var styleObj = getComputedStyle(element), + isArray = jqLiteType(name) === 'array'; + + // Read single value + if (!isArray) return _getCurrCssProp(element, name, styleObj); + + // Read multiple values + var outObj = {}, + key; + + for (var i = 0; i < name.length; i++) { + key = name[i]; + outObj[key] = _getCurrCssProp(element, key, styleObj); + } + + return outObj; +} + +/** + * Check if element has class. + * @param {Element} element - The DOM element. + * @param {string} cls - The class name string. + */ +function jqLiteHasClass(element, cls) { + if (!cls || !element.getAttribute) return false; + return _getExistingClasses(element).indexOf(' ' + cls + ' ') > -1; +} + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = useCapture === undefined ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = useCapture === undefined ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || args[0] === callback && args[1] === useCapture) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win));else element.scrollLeft = value; +} + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value);else element.scrollTop = value; +} + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function init(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function poll() { + try { + root.doScroll('left'); + } catch (e) { + setTimeout(poll, 50);return; + } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { + top = !win.frameElement; + } catch (e) {} + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i = 0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +}; + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + +function _camelCase(name) { + return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }).replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],5:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || doc.getElementsByTagName('head')[0] || doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText;else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i = nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += classes[i] ? i + ' ' : ''; + } + return cs.trim(); +} + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = element.style.pointerEvents === 'auto'; + return _supportsPointerEvents; +} + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function () { + instance[funcName].apply(instance, arguments); + }; +} + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = bubbles !== undefined ? bubbles : true, + cancelable = cancelable !== undefined ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) { + ev[k] = data[k]; + } // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1; + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = { left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win) }; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1; + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":4}],6:[function(require,module,exports){ +/** + * MUI React helpers + * @module react/_helpers + */ + +'use strict'; + +var controlledMessage = 'You provided a `value` prop to a form field ' + 'without an `OnChange` handler. Please see React documentation on ' + 'controlled components'; + +module.exports = { controlledMessage: controlledMessage }; + +},{}],7:[function(require,module,exports){ +/** + * MUI React button module + * @module react/button + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var rippleIter = 0; + +var PropTypes = _react2.default.PropTypes, + btnClass = 'mui-btn', + rippleClass = 'mui-ripple-effect', + btnAttrs = { color: 1, variant: 1, size: 1 }; + +/** + * Button element + * @class + */ + +var Button = function (_React$Component) { + babelHelpers.inherits(Button, _React$Component); + + function Button() { + var _Object$getPrototypeO; + + var _temp, _this, _ret; + + babelHelpers.classCallCheck(this, Button); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _ret = (_temp = (_this = babelHelpers.possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(Button)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this), _this.state = { + ripples: {} + }, _temp), babelHelpers.possibleConstructorReturn(_this, _ret); + } + + babelHelpers.createClass(Button, [{ + key: 'componentDidMount', + value: function componentDidMount() { + // disable MUI js + var el = this.refs.buttonEl; + el._muiDropdown = true; + el._muiRipple = true; + } + }, { + key: 'onClick', + value: function onClick(ev) { + var onClickFn = this.props.onClick; + onClickFn && onClickFn(ev); + } + }, { + key: 'onMouseDown', + value: function onMouseDown(ev) { + // get (x, y) position of click + var offset = jqLite.offset(this.refs.buttonEl); + + // choose diameter + var diameter = offset.height; + if (this.props.variant === 'fab') diameter = diameter / 2; + + // add ripple to state + var ripples = this.state.ripples; + var key = Date.now(); + + ripples[key] = { + xPos: ev.pageX - offset.left, + yPos: ev.pageY - offset.top, + diameter: diameter, + teardownFn: this.teardownRipple.bind(this, key) + }; + + this.setState({ ripples: ripples }); + } + }, { + key: 'onTouchStart', + value: function onTouchStart(ev) {} + }, { + key: 'teardownRipple', + value: function teardownRipple(key) { + // delete ripple + var ripples = this.state.ripples; + delete ripples[key]; + this.setState({ ripples: ripples }); + } + }, { + key: 'render', + value: function render() { + var cls = btnClass, + k = void 0, + v = void 0; + + var ripples = this.state.ripples; + + // button attributes + for (k in btnAttrs) { + v = this.props[k]; + if (v !== 'default') cls += ' ' + btnClass + '--' + v; + } + + return _react2.default.createElement( + 'button', + babelHelpers.extends({}, this.props, { + ref: 'buttonEl', + className: cls + ' ' + this.props.className, + onClick: this.onClick.bind(this), + onMouseDown: this.onMouseDown.bind(this) + }), + this.props.children, + Object.keys(ripples).map(function (k, i) { + var v = ripples[k]; + + return _react2.default.createElement(Ripple, { + key: k, + xPos: v.xPos, + yPos: v.yPos, + diameter: v.diameter, + onTeardown: v.teardownFn + }); + }) + ); + } + }]); + return Button; +}(_react2.default.Component); + +/** + * Ripple component + * @class + */ + + +Button.propTypes = { + color: PropTypes.oneOf(['default', 'primary', 'danger', 'dark', 'accent']), + disabled: PropTypes.bool, + size: PropTypes.oneOf(['default', 'small', 'large']), + type: PropTypes.oneOf(['submit', 'button']), + variant: PropTypes.oneOf(['default', 'flat', 'raised', 'fab']), + onClick: PropTypes.func +}; +Button.defaultProps = { + className: '', + color: 'default', + disabled: false, + size: 'default', + type: null, + variant: 'default', + onClick: null +}; + +var Ripple = function (_React$Component2) { + babelHelpers.inherits(Ripple, _React$Component2); + + function Ripple() { + babelHelpers.classCallCheck(this, Ripple); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Ripple).apply(this, arguments)); + } + + babelHelpers.createClass(Ripple, [{ + key: 'componentDidMount', + value: function componentDidMount() { + var _this3 = this; + + // trigger teardown in 2 sec + this.teardownTimer = setTimeout(function () { + var fn = _this3.props.onTeardown; + fn && fn(); + }, 2000); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + // clear timeout + clearTimeout(this.teardownTimer); + } + }, { + key: 'render', + value: function render() { + var diameter = this.props.diameter, + radius = diameter / 2; + + var style = { + height: diameter, + width: diameter, + top: this.props.yPos - radius || 0, + left: this.props.xPos - radius || 0 + }; + + return _react2.default.createElement('div', { className: rippleClass, style: style }); + } + }]); + return Ripple; +}(_react2.default.Component); + +/** Define module API */ + + +Ripple.propTypes = { + xPos: PropTypes.number, + yPos: PropTypes.number, + diameter: PropTypes.number, + onTeardown: PropTypes.func +}; +Ripple.defaultProps = { + xPos: 0, + yPos: 0, + diameter: 0, + onTeardown: null +}; +exports.default = Button; +module.exports = exports['default']; + +},{"../js/lib/jqLite":4,"../js/lib/util":5,"react":"CwoHg3"}],8:[function(require,module,exports){ +/** + * MUI React Caret Module + * @module react/caret + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Caret constructor + * @class + */ + +var Caret = function (_React$Component) { + babelHelpers.inherits(Caret, _React$Component); + + function Caret() { + babelHelpers.classCallCheck(this, Caret); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Caret).apply(this, arguments)); + } + + babelHelpers.createClass(Caret, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + return _react2.default.createElement('span', babelHelpers.extends({}, other, { + className: 'mui-caret ' + this.props.className + })); + } + }]); + return Caret; +}(_react2.default.Component); + +/** Define module API */ + + +Caret.defaultProps = { + className: '' +}; +exports.default = Caret; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],9:[function(require,module,exports){ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var PropTypes = _react2.default.PropTypes; + +/** + * Tab constructor + * @class + */ + +var Tab = function (_React$Component) { + babelHelpers.inherits(Tab, _React$Component); + + function Tab() { + babelHelpers.classCallCheck(this, Tab); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Tab).apply(this, arguments)); + } + + babelHelpers.createClass(Tab, [{ + key: 'render', + value: function render() { + return null; + } + }]); + return Tab; +}(_react2.default.Component); + +/** Define module API */ + + +Tab.propTypes = { + value: PropTypes.any, + label: PropTypes.string, + onActive: PropTypes.func +}; +Tab.defaultProps = { + value: null, + label: '', + onActive: null +}; +exports.default = Tab; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],10:[function(require,module,exports){ +/** + * MUI React TextInput Component + * @module react/text-input + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TextField = undefined; + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _helpers = require('./_helpers'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Input constructor + * @class + */ + +var Input = function (_React$Component) { + babelHelpers.inherits(Input, _React$Component); + + function Input(props) { + babelHelpers.classCallCheck(this, Input); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Input).call(this, props)); + + var value = props.value; + var innerValue = value || props.defaultValue; + + _this.state = { + innerValue: innerValue, + isDirty: Boolean(innerValue) + }; + + // warn if value defined but onChange is not + if (value !== undefined && props.onChange === null) { + util.raiseError(_helpers.controlledMessage, true); + } + + var cb = util.callback; + _this.onChangeCB = cb(_this, 'onChange'); + _this.onFocusCB = cb(_this, 'onFocus'); + return _this; + } + + babelHelpers.createClass(Input, [{ + key: 'componentDidMount', + value: function componentDidMount() { + // disable MUI js + this.refs.inputEl._muiTextfield = true; + } + }, { + key: 'onChange', + value: function onChange(ev) { + this.setState({ innerValue: ev.target.value }); + + var fn = this.props.onChange; + if (fn) fn(ev); + } + }, { + key: 'onFocus', + value: function onFocus(ev) { + this.setState({ isDirty: true }); + } + }, { + key: 'triggerFocus', + value: function triggerFocus() { + // hack to enable IE10 pointer-events shim + this.refs.inputEl.focus(); + } + }, { + key: 'render', + value: function render() { + var cls = {}, + isNotEmpty = Boolean(this.state.innerValue), + inputEl = void 0; + + cls['mui--is-empty'] = !isNotEmpty; + cls['mui--is-not-empty'] = isNotEmpty; + cls['mui--is-dirty'] = this.state.isDirty; + cls['mui--is-invalid'] = this.props.invalid; + + cls = util.classNames(cls); + + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + if (this.props.type === 'textarea') { + inputEl = _react2.default.createElement('textarea', babelHelpers.extends({}, other, { + ref: 'inputEl', + className: cls, + rows: this.props.rows, + placeholder: this.props.hint, + value: this.props.value, + defaultValue: this.props.defaultValue, + autoFocus: this.props.autoFocus, + onChange: this.onChangeCB, + onFocus: this.onFocusCB, + required: this.props.required + })); + } else { + inputEl = _react2.default.createElement('input', babelHelpers.extends({}, other, { + ref: 'inputEl', + className: cls, + type: this.props.type, + value: this.props.value, + defaultValue: this.props.defaultValue, + placeholder: this.props.hint, + autoFocus: this.props.autofocus, + onChange: this.onChangeCB, + onFocus: this.onFocusCB, + required: this.props.required + })); + } + + return inputEl; + } + }]); + return Input; +}(_react2.default.Component); + +/** + * Label constructor + * @class + */ + + +Input.propTypes = { + hint: PropTypes.string, + value: PropTypes.string, + type: PropTypes.string, + autoFocus: PropTypes.bool, + onChange: PropTypes.func +}; +Input.defaultProps = { + hint: null, + type: null, + autoFocus: false, + onChange: null +}; + +var Label = function (_React$Component2) { + babelHelpers.inherits(Label, _React$Component2); + + function Label() { + var _Object$getPrototypeO; + + var _temp, _this2, _ret; + + babelHelpers.classCallCheck(this, Label); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _ret = (_temp = (_this2 = babelHelpers.possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(Label)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this2), _this2.state = { + style: {} + }, _temp), babelHelpers.possibleConstructorReturn(_this2, _ret); + } + + babelHelpers.createClass(Label, [{ + key: 'componentDidMount', + value: function componentDidMount() { + var _this3 = this; + + this.styleTimer = setTimeout(function () { + var s = '.15s ease-out'; + var style = void 0; + + style = { + transition: s, + WebkitTransition: s, + MozTransition: s, + OTransition: s, + msTransform: s + }; + + _this3.setState({ style: style }); + }, 150); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + // clear timer + clearTimeout(this.styleTimer); + } + }, { + key: 'render', + value: function render() { + return _react2.default.createElement( + 'label', + { + style: this.state.style, + onClick: this.props.onClick + }, + this.props.text + ); + } + }]); + return Label; +}(_react2.default.Component); + +/** + * TextField constructor + * @class + */ + + +Label.defaultProps = { + text: '', + onClick: null +}; + +var TextField = function (_React$Component3) { + babelHelpers.inherits(TextField, _React$Component3); + + function TextField(props) { + babelHelpers.classCallCheck(this, TextField); + + var _this4 = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(TextField).call(this, props)); + + _this4.onClickCB = util.callback(_this4, 'onClick'); + return _this4; + } + + babelHelpers.createClass(TextField, [{ + key: 'onClick', + value: function onClick(ev) { + // pointer-events shim + if (util.supportsPointerEvents() === false) { + ev.target.style.cursor = 'text'; + this.refs.inputEl.triggerFocus(); + } + } + }, { + key: 'render', + value: function render() { + var cls = {}, + labelEl = void 0; + + if (this.props.label.length) { + labelEl = _react2.default.createElement(Label, { + text: this.props.label, + onClick: this.onClickCB + }); + } + + cls['mui-textfield'] = true; + cls['mui-textfield--float-label'] = this.props.floatingLabel; + cls = util.classNames(cls); + + return _react2.default.createElement( + 'div', + { className: cls }, + _react2.default.createElement(Input, babelHelpers.extends({ ref: 'inputEl' }, this.props)), + labelEl + ); + } + }]); + return TextField; +}(_react2.default.Component); + +/** Define module API */ + + +TextField.propTypes = { + label: PropTypes.string, + floatingLabel: PropTypes.bool +}; +TextField.defaultProps = { + label: '', + floatingLabel: false +}; +exports.TextField = TextField; + +},{"../js/lib/util":5,"./_helpers":6,"react":"CwoHg3"}],11:[function(require,module,exports){ +/** + * MUI React Appbar Module + * @module react/appbar + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Appbar constructor + * @class + */ + +var Appbar = function (_React$Component) { + babelHelpers.inherits(Appbar, _React$Component); + + function Appbar() { + babelHelpers.classCallCheck(this, Appbar); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Appbar).apply(this, arguments)); + } + + babelHelpers.createClass(Appbar, [{ + key: 'render', + value: function render() { + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: 'mui-appbar ' + this.props.className + }), + this.props.children + ); + } + }]); + return Appbar; +}(_react2.default.Component); + +/** Define module API */ + + +Appbar.defaultProps = { + className: '' +}; +exports.default = Appbar; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],12:[function(require,module,exports){ +module.exports=require(7) +},{"../js/lib/jqLite":4,"../js/lib/util":5,"react":"CwoHg3"}],13:[function(require,module,exports){ +module.exports=require(8) +},{"react":"CwoHg3"}],14:[function(require,module,exports){ +/** + * MUI React checkbox module + * @module react/checkbox + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _helpers = require('./_helpers'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Checkbox constructor + * @class + */ + +var Checkbox = function (_React$Component) { + babelHelpers.inherits(Checkbox, _React$Component); + + function Checkbox() { + babelHelpers.classCallCheck(this, Checkbox); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Checkbox).apply(this, arguments)); + } + + babelHelpers.createClass(Checkbox, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var onChange = _props.onChange; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onChange']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + className: 'mui-checkbox ' + this.props.className + }), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { + ref: 'inputEl', + type: 'checkbox', + name: this.props.name, + value: this.props.value, + checked: this.props.checked, + defaultChecked: this.props.defaultChecked, + disabled: this.props.disabled, + onChange: this.props.onChange + }), + this.props.label + ) + ); + } + }]); + return Checkbox; +}(_react2.default.Component); + +/** Define module API */ + + +Checkbox.propTypes = { + name: PropTypes.string, + label: PropTypes.string, + value: PropTypes.string, + checked: PropTypes.bool, + defaultChecked: PropTypes.bool, + disabled: PropTypes.bool, + onChange: PropTypes.func +}; +Checkbox.defaultProps = { + className: '', + name: null, + label: null, + disabled: false, + onChange: null +}; +exports.default = Checkbox; +module.exports = exports['default']; + +},{"../js/lib/util":5,"./_helpers":6,"react":"CwoHg3"}],15:[function(require,module,exports){ +/** + * MUI React Col Component + * @module react/col + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var breakpoints = ['xs', 'sm', 'md', 'lg', 'xl']; + +/** + * Col constructor + * @class + */ + +var Col = function (_React$Component) { + babelHelpers.inherits(Col, _React$Component); + + function Col() { + babelHelpers.classCallCheck(this, Col); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Col).apply(this, arguments)); + } + + babelHelpers.createClass(Col, [{ + key: 'defaultProps', + value: function defaultProps() { + var props = { className: '' }, + i = void 0, + v = void 0; + + // add {breakpoint}, {breakpoint}-offset to props + for (i = breakpoints.length - 1; i > -1; i--) { + v = breakpoints[i]; + props[v] = null; + props[v + '-offset'] = null; + } + + return props; + } + }, { + key: 'render', + value: function render() { + var cls = {}, + i = void 0, + bk = void 0, + val = void 0, + baseCls = void 0; + + // add mui-col classes + for (i = breakpoints.length - 1; i > -1; i--) { + bk = breakpoints[i]; + baseCls = 'mui-col-' + bk; + + // add mui-col-{bk}-{val} + val = this.props[bk]; + if (val) cls[baseCls + '-' + val] = true; + + // add mui-col-{bk}-offset-{val} + val = this.props[bk + '-offset']; + if (val) cls[baseCls + '-offset-' + val] = true; + } + + cls = util.classNames(cls); + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: cls + ' ' + this.props.className + }), + this.props.children + ); + } + }]); + return Col; +}(_react2.default.Component); + +/** Define module API */ + + +exports.default = Col; +module.exports = exports['default']; + +},{"../js/lib/util":5,"react":"CwoHg3"}],16:[function(require,module,exports){ +/** + * MUI React container module + * @module react/container + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Container constructor + * @class + */ + +var Container = function (_React$Component) { + babelHelpers.inherits(Container, _React$Component); + + function Container() { + babelHelpers.classCallCheck(this, Container); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Container).apply(this, arguments)); + } + + babelHelpers.createClass(Container, [{ + key: 'render', + value: function render() { + var cls = 'mui-container'; + + // fluid containers + if (this.props.fluid) cls += '-fluid'; + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: cls + ' ' + this.props.className + }), + this.props.children + ); + } + }]); + return Container; +}(_react2.default.Component); + +/** Define module API */ + + +Container.propTypes = { + fluid: _react2.default.PropTypes.bool +}; +Container.defaultProps = { + className: '', + fluid: false +}; +exports.default = Container; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],17:[function(require,module,exports){ +/** + * MUI React divider module + * @module react/divider + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Divider constructor + * @class + */ + +var Divider = function (_React$Component) { + babelHelpers.inherits(Divider, _React$Component); + + function Divider() { + babelHelpers.classCallCheck(this, Divider); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Divider).apply(this, arguments)); + } + + babelHelpers.createClass(Divider, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + return _react2.default.createElement('div', babelHelpers.extends({}, other, { + className: 'mui-divider ' + this.props.className + })); + } + }]); + return Divider; +}(_react2.default.Component); + +/** Define module API */ + + +Divider.defaultProps = { + className: '' +}; +exports.default = Divider; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],18:[function(require,module,exports){ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes; + +/** + * DropdownItem constructor + * @class + */ + +var DropdownItem = function (_React$Component) { + babelHelpers.inherits(DropdownItem, _React$Component); + + function DropdownItem(props) { + babelHelpers.classCallCheck(this, DropdownItem); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(DropdownItem).call(this, props)); + + _this.onClickCB = util.callback(_this, 'onClick'); + return _this; + } + + babelHelpers.createClass(DropdownItem, [{ + key: 'onClick', + value: function onClick(ev) { + if (this.props.onClick) this.props.onClick(this, ev); + } + }, { + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var onClick = _props.onClick; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onClick']); + + + return _react2.default.createElement( + 'li', + other, + _react2.default.createElement( + 'a', + { + href: this.props.link, + target: this.props.target, + 'data-mui-value': this.props.value, + onClick: this.onClickCB + }, + children + ) + ); + } + }]); + return DropdownItem; +}(_react2.default.Component); + +/** Define module API */ + + +DropdownItem.propTypes = { + link: PropTypes.string, + target: PropTypes.string, + onClick: PropTypes.func +}; +exports.default = DropdownItem; +module.exports = exports['default']; + +},{"../js/lib/util":5,"react":"CwoHg3"}],19:[function(require,module,exports){ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _button = require('./button'); + +var _button2 = babelHelpers.interopRequireDefault(_button); + +var _caret = require('./caret'); + +var _caret2 = babelHelpers.interopRequireDefault(_caret); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes, + dropdownClass = 'mui-dropdown', + menuClass = 'mui-dropdown__menu', + openClass = 'mui--is-open', + rightClass = 'mui-dropdown__menu--right'; + +/** + * Dropdown constructor + * @class + */ + +var Dropdown = function (_React$Component) { + babelHelpers.inherits(Dropdown, _React$Component); + + function Dropdown(props) { + babelHelpers.classCallCheck(this, Dropdown); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Dropdown).call(this, props)); + + _this.state = { + opened: false, + menuTop: 0 + }; + + var cb = util.callback; + _this.selectCB = cb(_this, 'select'); + _this.onClickCB = cb(_this, 'onClick'); + _this.onOutsideClickCB = cb(_this, 'onOutsideClick'); + return _this; + } + + babelHelpers.createClass(Dropdown, [{ + key: 'componentWillMount', + value: function componentWillMount() { + document.addEventListener('click', this.onOutsideClickCB); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + document.removeEventListener('click', this.onOutsideClickCB); + } + }, { + key: 'onClick', + value: function onClick(ev) { + // only left clicks + if (ev.button !== 0) return; + + // exit if toggle button is disabled + if (this.props.disabled) return; + + if (!ev.defaultPrevented) { + this.toggle(); + + // execute onClick method + var onClickFn = this.props.onClick; + onClickFn && onClickFn(ev); + } + } + }, { + key: 'toggle', + value: function toggle() { + // exit if no menu element + if (!this.props.children) { + return util.raiseError('Dropdown menu element not found'); + } + + if (this.state.opened) this.close();else this.open(); + } + }, { + key: 'open', + value: function open() { + // position menu element below toggle button + var wrapperRect = this.refs.wrapperEl.getBoundingClientRect(), + toggleRect = void 0; + + toggleRect = this.refs.button.refs.buttonEl.getBoundingClientRect(); + + this.setState({ + opened: true, + menuTop: toggleRect.top - wrapperRect.top + toggleRect.height + }); + } + }, { + key: 'close', + value: function close() { + this.setState({ opened: false }); + } + }, { + key: 'select', + value: function select(ev) { + // onSelect callback + if (this.props.onSelect && ev.target.tagName === 'A') { + this.props.onSelect(ev.target.getAttribute('data-mui-value')); + } + + // close menu + if (!ev.defaultPrevented) this.close(); + } + }, { + key: 'onOutsideClick', + value: function onOutsideClick(ev) { + var isClickInside = this.refs.wrapperEl.contains(ev.target); + if (!isClickInside) this.close(); + } + }, { + key: 'render', + value: function render() { + var buttonEl = void 0, + menuEl = void 0, + labelEl = void 0; + + // build label + if (jqLite.type(this.props.label) === 'string') { + labelEl = _react2.default.createElement( + 'span', + null, + this.props.label, + ' ', + _react2.default.createElement(_caret2.default, null) + ); + } else { + labelEl = this.props.label; + } + + buttonEl = _react2.default.createElement( + _button2.default, + { + ref: 'button', + type: 'button', + onClick: this.onClickCB, + color: this.props.color, + variant: this.props.variant, + size: this.props.size, + disabled: this.props.disabled + }, + labelEl + ); + + if (this.state.opened) { + var cs = {}; + + cs[menuClass] = true; + cs[openClass] = this.state.opened; + cs[rightClass] = this.props.alignMenu === 'right'; + cs = util.classNames(cs); + + menuEl = _react2.default.createElement( + 'ul', + { + ref: 'menuEl', + className: cs, + style: { top: this.state.menuTop }, + onClick: this.selectCB + }, + this.props.children + ); + } + + var _props = this.props; + var className = _props.className; + var children = _props.children; + var onClick = _props.onClick; + var other = babelHelpers.objectWithoutProperties(_props, ['className', 'children', 'onClick']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + ref: 'wrapperEl', + className: dropdownClass + ' ' + className + }), + buttonEl, + menuEl + ); + } + }]); + return Dropdown; +}(_react2.default.Component); + +/** Define module API */ + + +Dropdown.propTypes = { + color: PropTypes.oneOf(['default', 'primary', 'danger', 'dark', 'accent']), + variant: PropTypes.oneOf(['default', 'flat', 'raised', 'fab']), + size: PropTypes.oneOf(['default', 'small', 'large']), + label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), + alignMenu: PropTypes.oneOf(['left', 'right']), + onClick: PropTypes.func, + onSelect: PropTypes.func, + disabled: PropTypes.bool +}; +Dropdown.defaultProps = { + className: '', + color: 'default', + variant: 'default', + size: 'default', + label: '', + alignMenu: 'left', + onClick: null, + onSelect: null, + disabled: false +}; +exports.default = Dropdown; +module.exports = exports['default']; + +},{"../js/lib/jqLite":4,"../js/lib/util":5,"./button":7,"./caret":8,"react":"CwoHg3"}],20:[function(require,module,exports){ +/** + * MUI React form module + * @module react/form + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Form constructor + * @class + */ + +var Form = function (_React$Component) { + babelHelpers.inherits(Form, _React$Component); + + function Form() { + babelHelpers.classCallCheck(this, Form); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Form).apply(this, arguments)); + } + + babelHelpers.createClass(Form, [{ + key: 'render', + value: function render() { + var cls = ''; + + // inline form + if (this.props.inline) cls = 'mui-form--inline'; + + return _react2.default.createElement( + 'form', + babelHelpers.extends({}, this.props, { + className: cls + ' ' + this.props.className + }), + this.props.children + ); + } + }]); + return Form; +}(_react2.default.Component); + +/** Define module API */ + + +Form.propTypes = { + inline: _react2.default.PropTypes.bool +}; +Form.defaultProps = { + className: '', + inline: false +}; +exports.default = Form; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],21:[function(require,module,exports){ +/** + * MUI React Input Component + * @module react/input + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _textField = require('./text-field'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Input constructor + * @class + */ + +var Input = function (_React$Component) { + babelHelpers.inherits(Input, _React$Component); + + function Input() { + babelHelpers.classCallCheck(this, Input); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Input).apply(this, arguments)); + } + + babelHelpers.createClass(Input, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_textField.TextField, this.props); + } + }]); + return Input; +}(_react2.default.Component); + +Input.propTypes = { + type: PropTypes.oneOf(['text', 'email', 'url', 'tel', 'password']) +}; +Input.defaultProps = { + type: 'text' +}; +exports.default = Input; +module.exports = exports['default']; + +},{"./text-field":10,"react":"CwoHg3"}],22:[function(require,module,exports){ +/** + * MUI React options module + * @module react/option + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _forms = require('../js/lib/forms'); + +var formlib = babelHelpers.interopRequireWildcard(_forms); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes; + +/** + * Option constructor + * @class + */ + +var Option = function (_React$Component) { + babelHelpers.inherits(Option, _React$Component); + + function Option() { + babelHelpers.classCallCheck(this, Option); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Option).apply(this, arguments)); + } + + babelHelpers.createClass(Option, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + return _react2.default.createElement( + 'option', + babelHelpers.extends({}, other, { value: this.props.value }), + this.props.label + ); + } + }]); + return Option; +}(_react2.default.Component); + +/** Define module API */ + + +Option.propTypes = { + value: PropTypes.string, + label: PropTypes.string +}; +Option.defaultProps = { + value: null, + label: null +}; +exports.default = Option; +module.exports = exports['default']; + +},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,"react":"CwoHg3"}],23:[function(require,module,exports){ +/** + * MUI React layout module + * @module react/layout + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Panel constructor + * @class + */ + +var Panel = function (_React$Component) { + babelHelpers.inherits(Panel, _React$Component); + + function Panel() { + babelHelpers.classCallCheck(this, Panel); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Panel).apply(this, arguments)); + } + + babelHelpers.createClass(Panel, [{ + key: 'render', + value: function render() { + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: 'mui-panel ' + this.props.className + }), + this.props.children + ); + } + }]); + return Panel; +}(_react2.default.Component); + +/** Define module API */ + + +Panel.defaultProps = { + className: '' +}; +exports.default = Panel; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],24:[function(require,module,exports){ +/** + * MUI React radio module + * @module react/radio + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var PropTypes = _react2.default.PropTypes; + +/** + * Radio constructor + * @class + */ + +var Radio = function (_React$Component) { + babelHelpers.inherits(Radio, _React$Component); + + function Radio() { + babelHelpers.classCallCheck(this, Radio); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Radio).apply(this, arguments)); + } + + babelHelpers.createClass(Radio, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var onChange = _props.onChange; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onChange']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + className: 'mui-radio ' + this.props.className + }), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { + ref: 'inputEl', + type: 'radio', + name: this.props.name, + value: this.props.value, + checked: this.props.checked, + defaultChecked: this.props.defaultChecked, + disabled: this.props.disabled, + onChange: this.props.onChange + }), + this.props.label + ) + ); + } + }]); + return Radio; +}(_react2.default.Component); + +/** Define module API */ + + +Radio.propTypes = { + name: PropTypes.string, + label: PropTypes.string, + value: PropTypes.string, + checked: PropTypes.bool, + defaultChecked: PropTypes.bool, + disabled: PropTypes.bool, + onChange: PropTypes.func +}; +Radio.defaultProps = { + className: '', + name: null, + label: null, + disabled: false, + onChange: null +}; +exports.default = Radio; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],25:[function(require,module,exports){ +/** + * MUI React Row Component + * @module react/row + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var breakpoints = ['xs', 'sm', 'md', 'lg']; + +/** + * Row constructor + * @class + */ + +var Row = function (_React$Component) { + babelHelpers.inherits(Row, _React$Component); + + function Row() { + babelHelpers.classCallCheck(this, Row); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Row).apply(this, arguments)); + } + + babelHelpers.createClass(Row, [{ + key: 'render', + value: function render() { + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: 'mui-row ' + this.props.className + }), + this.props.children + ); + } + }]); + return Row; +}(_react2.default.Component); + +/** Define module API */ + + +Row.defaultProps = { + className: '' +}; +exports.default = Row; +module.exports = exports['default']; + +},{"../js/lib/util":5,"react":"CwoHg3"}],26:[function(require,module,exports){ +/** + * MUI React select module + * @module react/select + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _forms = require('../js/lib/forms'); + +var formlib = babelHelpers.interopRequireWildcard(_forms); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _helpers = require('./_helpers'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Select constructor + * @class + */ + +var Select = function (_React$Component) { + babelHelpers.inherits(Select, _React$Component); + + function Select(props) { + babelHelpers.classCallCheck(this, Select); + + + // warn if value defined but onChange is not + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Select).call(this, props)); + + _this.state = { + showMenu: false + }; + if (props.readOnly === false && props.value !== undefined && props.onChange === null) { + util.raiseError(_helpers.controlledMessage, true); + } + + _this.state.value = props.value; + + // bind callback function + var cb = util.callback; + _this.hideMenuCB = cb(_this, 'hideMenu'); + _this.onInnerChangeCB = cb(_this, 'onInnerChange'); + _this.onInnerClickCB = cb(_this, 'onInnerClick'); + _this.onInnerFocusCB = cb(_this, 'onInnerFocus'); + _this.onInnerMouseDownCB = cb(_this, 'onInnerMouseDown'); + _this.onKeydownCB = cb(_this, 'onKeydown'); + _this.onMenuChangeCB = cb(_this, 'onMenuChange'); + _this.onOuterFocusCB = cb(_this, 'onOuterFocus'); + _this.onOuterBlurCB = cb(_this, 'onOuterBlur'); + return _this; + } + + babelHelpers.createClass(Select, [{ + key: 'componentDidMount', + value: function componentDidMount() { + // disable MUI js + this.refs.selectEl._muiSelect = true; + + // make wrapper element focusable (to enable Firefox bugfix) + this.refs.wrapperEl.tabIndex = -1; + + // handle autofocus + if (this.props.autoFocus) this.refs.wrapperEl.focus(); + } + }, { + key: 'componentWillReceiveProps', + value: function componentWillReceiveProps(nextProps) { + this.setState({ value: nextProps.value }); + } + }, { + key: 'onInnerMouseDown', + value: function onInnerMouseDown(ev) { + if (ev.button !== 0 || this.props.useDefault === true) return; + ev.preventDefault(); + } + }, { + key: 'onInnerChange', + value: function onInnerChange(ev) { + var value = ev.target.value; + this.setState({ value: value }); + + var fn = this.props.onChange; + if (fn) fn(value); + } + }, { + key: 'onInnerClick', + value: function onInnerClick(ev) { + if (ev.button !== 0) return; // only left clicks + this.showMenu(); + } + }, { + key: 'onInnerFocus', + value: function onInnerFocus(ev) { + var _this2 = this; + + // check flag + if (this.props.useDefault === true) return; + + // defer focus to parent + setTimeout(function () { + _this2.refs.wrapperEl.focus(); + }, 0); + } + }, { + key: 'onOuterFocus', + value: function onOuterFocus(ev) { + // ignore focus on inner element (react artifact) + if (ev.target !== this.refs.wrapperEl) return; + + // disable tabfocus on inner element + var selectEl = this.refs.selectEl; + selectEl._muiOrigIndex = selectEl.tabIndex; + selectEl.tabIndex = -1; + + // firefox bugfix + if (selectEl.disabled) return this.refs.wrapperEl.blur(); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'onOuterBlur', + value: function onOuterBlur(ev) { + // ignore blur on inner element + if (ev.target !== this.refs.wrapperEl) return; + + // restore tab focus on inner element + var selectEl = this.refs.selectEl; + selectEl.tabIndex = selectEl._muiOrigIndex; + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'onKeydown', + value: function onKeydown(ev) { + // spacebar, down, up + if (ev.keyCode === 32 || ev.keyCode === 38 || ev.keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.refs.selectEl.disabled !== true) this.showMenu(); + } + } + }, { + key: 'showMenu', + value: function showMenu() { + // check useDefault flag + if (this.props.useDefault === true) return; + + // add scroll lock + util.enableScrollLock(); + + // add event listeners + jqLite.on(window, 'resize', this.hideMenuCB); + jqLite.on(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({ showMenu: true }); + } + }, { + key: 'hideMenu', + value: function hideMenu() { + // remove scroll lock + util.disableScrollLock(); + + // remove event listeners + jqLite.off(window, 'resize', this.hideMenuCB); + jqLite.off(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({ showMenu: false }); + + // refocus + this.refs.selectEl.focus(); + } + }, { + key: 'onMenuChange', + value: function onMenuChange(value) { + if (this.props.readOnly === true) return; + + this.setState({ value: value }); + + // execute onChange method + var fn = this.props.onChange; + if (fn) fn(value); + } + }, { + key: 'render', + value: function render() { + var menuElem = void 0; + + if (this.state.showMenu) { + menuElem = _react2.default.createElement(Menu, { + optionEls: this.refs.selectEl.children, + wrapperEl: this.refs.wrapperEl, + onChange: this.onMenuChangeCB, + onClose: this.hideMenuCB + }); + } + + var _props = this.props; + var children = _props.children; + var onChange = _props.onChange; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onChange']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + ref: 'wrapperEl', + className: 'mui-select ' + this.props.className, + onFocus: this.onOuterFocusCB, + onBlur: this.onOuterBlurCB + }), + _react2.default.createElement( + 'select', + { + ref: 'selectEl', + name: this.props.name, + value: this.state.value, + defaultValue: this.props.defaultValue, + disabled: this.props.disabled, + multiple: this.props.multiple, + readOnly: this.props.readOnly, + required: this.props.required, + onChange: this.onInnerChangeCB, + onMouseDown: this.onInnerMouseDownCB, + onClick: this.onInnerClickCB, + onFocus: this.onInnerFocusCB + }, + this.props.children + ), + menuElem + ); + } + }]); + return Select; +}(_react2.default.Component); + +/** + * Menu constructor + * @class + */ + + +Select.propTypes = { + name: PropTypes.string, + value: PropTypes.string, + defaultValue: PropTypes.string, + autoFocus: PropTypes.bool, + disabled: PropTypes.bool, + multiple: PropTypes.bool, + readOnly: PropTypes.bool, + required: PropTypes.bool, + useDefault: PropTypes.bool, + onChange: PropTypes.func +}; +Select.defaultProps = { + className: '', + name: null, + autoFocus: false, + disabled: false, + multiple: false, + readOnly: false, + required: false, + useDefault: false, + onChange: null +}; + +var Menu = function (_React$Component2) { + babelHelpers.inherits(Menu, _React$Component2); + + function Menu(props) { + babelHelpers.classCallCheck(this, Menu); + + var _this3 = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Menu).call(this, props)); + + _this3.state = { + origIndex: null, + currentIndex: null + }; + + + _this3.onKeydownCB = util.callback(_this3, 'onKeydown'); + return _this3; + } + + babelHelpers.createClass(Menu, [{ + key: 'componentWillMount', + value: function componentWillMount() { + var optionEls = this.props.optionEls, + m = optionEls.length, + selectedPos = 0, + i = void 0; + + // get current selected position + for (i = m - 1; i > -1; i--) { + if (optionEls[i].selected) selectedPos = i; + }this.setState({ origIndex: selectedPos, currentIndex: selectedPos }); + } + }, { + key: 'componentDidMount', + value: function componentDidMount() { + // blur active element (IE10 bugfix) + this.blurTimer = setTimeout(function () { + var el = document.activeElement; + if (el.nodeName.toLowerCase() !== 'body') el.blur(); + }, 0); + + // set position + var props = formlib.getMenuPositionalCSS(this.props.wrapperEl, this.props.optionEls.length, this.state.currentIndex); + + var el = this.refs.wrapperEl; + jqLite.css(el, props); + jqLite.scrollTop(el, props.scrollTop); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + // clear timer + clearTimeout(this.blurTimer); + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'onClick', + value: function onClick(pos, ev) { + // don't allow events to bubble + ev.stopPropagation(); + this.selectAndDestroy(pos); + } + }, { + key: 'onKeydown', + value: function onKeydown(ev) { + var keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) this.destroy();else if (keyCode === 40) this.increment();else if (keyCode === 38) this.decrement();else if (keyCode === 13) this.selectAndDestroy(); + } + }, { + key: 'increment', + value: function increment() { + if (this.state.currentIndex === this.props.optionEls.length - 1) { + return; + } + + this.setState({ currentIndex: this.state.currentIndex + 1 }); + } + }, { + key: 'decrement', + value: function decrement() { + if (this.state.currentIndex === 0) return; + this.setState({ currentIndex: this.state.currentIndex - 1 }); + } + }, { + key: 'selectAndDestroy', + value: function selectAndDestroy(pos) { + pos = pos === undefined ? this.state.currentIndex : pos; + + // handle onChange + if (pos !== this.state.origIndex) { + this.props.onChange(this.props.optionEls[pos].value); + } + + // close menu + this.destroy(); + } + }, { + key: 'destroy', + value: function destroy() { + this.props.onClose(); + } + }, { + key: 'render', + value: function render() { + var menuItems = [], + optionEls = this.props.optionEls, + m = optionEls.length, + optionEl = void 0, + cls = void 0, + i = void 0; + + // define menu items + for (i = 0; i < m; i++) { + cls = i === this.state.currentIndex ? 'mui--is-selected' : ''; + + menuItems.push(_react2.default.createElement( + 'div', + { + key: i, + className: cls, + onClick: this.onClick.bind(this, i) + }, + optionEls[i].textContent + )); + } + + return _react2.default.createElement( + 'div', + { ref: 'wrapperEl', className: 'mui-select__menu' }, + menuItems + ); + } + }]); + return Menu; +}(_react2.default.Component); + +/** Define module API */ + + +Menu.defaultProps = { + optionEls: [], + wrapperEl: null, + onChange: null, + onClose: null +}; +exports.default = Select; +module.exports = exports['default']; + +},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,"./_helpers":6,"react":"CwoHg3"}],27:[function(require,module,exports){ +module.exports=require(9) +},{"react":"CwoHg3"}],28:[function(require,module,exports){ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _tab = require('./tab'); + +var _tab2 = babelHelpers.interopRequireDefault(_tab); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes, + tabsBarClass = 'mui-tabs__bar', + tabsBarJustifiedClass = 'mui-tabs__bar--justified', + tabsPaneClass = 'mui-tabs__pane', + isActiveClass = 'mui--is-active'; + +/** + * Tabs constructor + * @class + */ + +var Tabs = function (_React$Component) { + babelHelpers.inherits(Tabs, _React$Component); + + function Tabs(props) { + babelHelpers.classCallCheck(this, Tabs); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Tabs).call(this, props)); + + _this.state = { currentSelectedIndex: props.initialSelectedIndex }; + return _this; + } + + babelHelpers.createClass(Tabs, [{ + key: 'onClick', + value: function onClick(i, tab, ev) { + if (i !== this.state.currentSelectedIndex) { + this.setState({ currentSelectedIndex: i }); + + // onActive callback + if (tab.props.onActive) tab.props.onActive(tab); + + // onChange callback + if (this.props.onChange) { + this.props.onChange(i, tab.props.value, tab, ev); + } + } + } + }, { + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + var tabEls = [], + paneEls = [], + m = children.length, + selectedIndex = this.state.currentSelectedIndex % m, + isActive = void 0, + item = void 0, + cls = void 0, + i = void 0; + + for (i = 0; i < m; i++) { + item = children[i]; + + // only accept MUITab elements + if (item.type !== _tab2.default) util.raiseError('Expecting MUITab React Element'); + + isActive = i === selectedIndex ? true : false; + + // tab element + tabEls.push(_react2.default.createElement( + 'li', + { key: i, className: isActive ? isActiveClass : '' }, + _react2.default.createElement( + 'a', + { onClick: this.onClick.bind(this, i, item) }, + item.props.label + ) + )); + + // pane element + cls = tabsPaneClass + ' '; + if (isActive) cls += isActiveClass; + + paneEls.push(_react2.default.createElement( + 'div', + { key: i, className: cls }, + item.props.children + )); + } + + cls = tabsBarClass; + if (this.props.justified) cls += ' ' + tabsBarJustifiedClass; + + return _react2.default.createElement( + 'div', + other, + _react2.default.createElement( + 'ul', + { className: cls }, + tabEls + ), + paneEls + ); + } + }]); + return Tabs; +}(_react2.default.Component); + +/** Define module API */ + + +Tabs.propTypes = { + initialSelectedIndex: PropTypes.number, + justified: PropTypes.bool, + onChange: PropTypes.func +}; +Tabs.defaultProps = { + className: '', + initialSelectedIndex: 0, + justified: false, + onChange: null +}; +exports.default = Tabs; +module.exports = exports['default']; + +},{"../js/lib/util":5,"./tab":9,"react":"CwoHg3"}],29:[function(require,module,exports){ +/** + * MUI React Textarea Component + * @module react/textarea + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _textField = require('./text-field'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Textarea constructor + * @class + */ + +var Textarea = function (_React$Component) { + babelHelpers.inherits(Textarea, _React$Component); + + function Textarea() { + babelHelpers.classCallCheck(this, Textarea); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Textarea).apply(this, arguments)); + } + + babelHelpers.createClass(Textarea, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_textField.TextField, this.props); + } + }]); + return Textarea; +}(_react2.default.Component); + +Textarea.propTypes = { + rows: PropTypes.number +}; +Textarea.defaultProps = { + type: 'textarea', + rows: 2 +}; +exports.default = Textarea; +module.exports = exports['default']; + +},{"./text-field":10,"react":"CwoHg3"}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.min.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.min.js new file mode 100644 index 0000000..0eb3f23 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/react/mui-react.min.js @@ -0,0 +1,2 @@ +!function(e){var t=e.babelHelpers={};t.classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},t.createClass=function(){function e(e,t){for(var r=0;r=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r},t.possibleConstructorReturn=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}}("undefined"==typeof global?self:global),function e(t,r,n){function l(o,a){if(!r[o]){if(!t[o]){var i="function"==typeof require&&require;if(!a&&i)return i(o,!0);if(s)return s(o,!0);throw new Error("Cannot find module '"+o+"'")}var u=r[o]={exports:{}};t[o][0].call(u.exports,function(e){var r=t[o][1][e];return l(r?r:e)},u,u.exports,e,t,r,n)}return r[o].exports}for(var s="function"==typeof require&&require,o=0;op&&(b=a+(r+1)*o-(-1*n+l+s),h=t*o+2*a-f,v=Math.min(b,h)),{height:f+"px",top:n+"px",scrollTop:v}}var l=15,s=32,o=42,a=8;t.exports={getMenuPositionalCSS:n}},{}],4:[function(e,t,r){"use strict";function n(e,t){if(t&&e.setAttribute){for(var r,n=h(e),l=t.split(" "),s=0;s-1:!1}function o(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function a(e,t,r,n){n=void 0===n?!1:n,e.addEventListener(t,r,n);var l=e._muiEventCache=e._muiEventCache||{};l[t]=l[t]||[],l[t].push([r,n])}function i(e,t,r,n){n=void 0===n?!1:n;var l,s,o=e._muiEventCache=e._muiEventCache||{},a=o[t]||[];for(s=a.length;s--;)l=a[s],(void 0===r||l[0]===r&&l[1]===n)&&(a.splice(s,1),e.removeEventListener(t,l[0],l[1]))}function u(e,t,r,n){a(e,t,function l(n){r&&r.apply(this,arguments),i(e,t,l)},n)}function c(e,t){var r=window;if(void 0===t){if(e===r){var n=document.documentElement;return(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}return e.scrollLeft}e===r?r.scrollTo(t,p(r)):e.scrollLeft=t}function p(e,t){var r=window;if(void 0===t){if(e===r){var n=document.documentElement;return(r.pageYOffset||n.scrollTop)-(n.clientTop||0)}return e.scrollTop}e===r?r.scrollTo(c(r),t):e.scrollTop=t}function d(e){var t=window,r=e.getBoundingClientRect(),n=p(t),l=c(t);return{top:r.top+n,left:r.left+l,height:r.height,width:r.width}}function f(e){var t=!1,r=!0,n=document,l=n.defaultView,s=n.documentElement,o=n.addEventListener?"addEventListener":"attachEvent",a=n.addEventListener?"removeEventListener":"detachEvent",i=n.addEventListener?"":"on",u=function d(r){"readystatechange"==r.type&&"complete"!=n.readyState||(("load"==r.type?l:n)[a](i+r.type,d,!1),!t&&(t=!0)&&e.call(l,r.type||r))},c=function f(){try{s.doScroll("left")}catch(e){return void setTimeout(f,50)}u("poll")};if("complete"==n.readyState)e.call(l,"lazy");else{if(n.createEventObject&&s.doScroll){try{r=!l.frameElement}catch(p){}r&&c()}n[o](i+"DOMContentLoaded",u,!1),n[o](i+"readystatechange",u,!1),l[o](i+"load",u,!1)}}function b(e,t){if(t&&e.setAttribute){for(var r,n=h(e),l=t.split(" "),s=0;s=0;)n=n.replace(" "+r+" "," ");e.setAttribute("class",n.trim())}}function h(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function v(e){return e.replace(y,function(e,t,r,n){return n?r.toUpperCase():r}).replace(g,"Moz$1")}function m(e,t,r){var n;return n=r.getPropertyValue(t),""!==n||e.ownerDocument||(n=e.style[v(t)]),n}var C,y=/([\:\-\_]+(.))/g,g=/^moz([A-Z])/;C={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:n,css:l,hasClass:s,off:i,offset:d,on:a,one:u,ready:f,removeClass:b,type:o,scrollLeft:c,scrollTop:p}},{}],5:[function(e,t,r){"use strict";function n(){var e=window;if(v.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var r=Array.prototype.slice.call(arguments);e.console.log(r.join("\n"))}}function l(e){var t,r=document;t=r.head||r.getElementsByTagName("head")[0]||r.documentElement;var n=r.createElement("style");return n.type="text/css",n.styleSheet?n.styleSheet.cssText=e:n.appendChild(r.createTextNode(e)),t.insertBefore(n,t.firstChild),n}function s(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function o(e){if(C.push(e),void 0===C._initialized){var t=document;m.on(t,"animationstart",a),m.on(t,"mozAnimationStart",a),m.on(t,"webkitAnimationStart",a),C._initialized=!0}}function a(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,r=C.length-1;r>=0;r--)C[r](t)}function i(e){var t="";for(var r in e)t+=e[r]?r+" ":"";return t.trim()}function u(){if(void 0!==h)return h;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",h="auto"===e.style.pointerEvents}function c(e,t){return function(){e[t].apply(e,arguments)}}function p(e,t,r,n,l){var s,o=document.createEvent("HTMLEvents"),r=void 0!==r?r:!0,n=void 0!==n?n:!0;if(o.initEvent(t,r,n),l)for(s in l)o[s]=l[s];return e&&e.dispatchEvent(o),o}function d(){if(y+=1,1===y){var e=window,t=document;b={left:m.scrollLeft(e),top:m.scrollTop(e)},m.addClass(t.body,g),e.scrollTo(b.left,b.top)}}function f(){if(0!==y&&(y-=1,0===y)){var e=window,t=document;m.removeClass(t.body,g),e.scrollTo(b.left,b.top)}}var b,h,v=e("../config"),m=e("./jqLite"),C=[],y=0,g="mui-body--scroll-lock";t.exports={callback:c,classNames:i,disableScrollLock:f,dispatchEvent:p,enableScrollLock:d,log:n,loadStyle:l,onNodeInserted:o,raiseError:s,supportsPointerEvents:u}},{"../config":2,"./jqLite":4}],6:[function(e,t,r){"use strict";var n="You provided a `value` prop to a form field without an `OnChange` handler. Please see React documentation on controlled components";t.exports={controlledMessage:n}},{}],7:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/jqLite"),o=babelHelpers.interopRequireWildcard(s),a=e("../js/lib/util"),i=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u="mui-btn",c="mui-ripple-effect",p={color:1,variant:1,size:1},d=function(e){function t(){var e,r,n,l;babelHelpers.classCallCheck(this,t);for(var s=arguments.length,o=Array(s),a=0;s>a;a++)o[a]=arguments[a];return r=n=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.state={ripples:{}},l=r,babelHelpers.possibleConstructorReturn(n,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this.refs.buttonEl;e._muiDropdown=!0,e._muiRipple=!0}},{key:"onClick",value:function(e){var t=this.props.onClick;t&&t(e)}},{key:"onMouseDown",value:function(e){var t=o.offset(this.refs.buttonEl),r=t.height;"fab"===this.props.variant&&(r/=2);var n=this.state.ripples,l=Date.now();n[l]={xPos:e.pageX-t.left,yPos:e.pageY-t.top,diameter:r,teardownFn:this.teardownRipple.bind(this,l)},this.setState({ripples:n})}},{key:"onTouchStart",value:function(e){}},{key:"teardownRipple",value:function(e){var t=this.state.ripples;delete t[e],this.setState({ripples:t})}},{key:"render",value:function(){var e=u,t=void 0,r=void 0,n=this.state.ripples;for(t in p)r=this.props[t],"default"!==r&&(e+=" "+u+"--"+r);return l["default"].createElement("button",babelHelpers["extends"]({},this.props,{ref:"buttonEl",className:e+" "+this.props.className,onClick:this.onClick.bind(this),onMouseDown:this.onMouseDown.bind(this)}),this.props.children,Object.keys(n).map(function(e,t){var r=n[e];return l["default"].createElement(f,{key:e,xPos:r.xPos,yPos:r.yPos,diameter:r.diameter,onTeardown:r.teardownFn})}))}}]),t}(l["default"].Component);d.propTypes={color:i.oneOf(["default","primary","danger","dark","accent"]),disabled:i.bool,size:i.oneOf(["default","small","large"]),type:i.oneOf(["submit","button"]),variant:i.oneOf(["default","flat","raised","fab"]),onClick:i.func},d.defaultProps={className:"",color:"default",disabled:!1,size:"default",type:null,variant:"default",onClick:null};var f=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.teardownTimer=setTimeout(function(){var t=e.props.onTeardown;t&&t()},2e3)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.teardownTimer)}},{key:"render",value:function(){var e=this.props.diameter,t=e/2,r={height:e,width:e,top:this.props.yPos-t||0,left:this.props.xPos-t||0};return l["default"].createElement("div",{className:c,style:r})}}]),t}(l["default"].Component);f.propTypes={xPos:i.number,yPos:i.number,diameter:i.number,onTeardown:i.func},f.defaultProps={xPos:0,yPos:0,diameter:0,onTeardown:null},r["default"]=d,t.exports=r["default"]},{"../js/lib/jqLite":4,"../js/lib/util":5,react:"CwoHg3"}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("span",babelHelpers["extends"]({},t,{className:"mui-caret "+this.props.className}))}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=l["default"].PropTypes,o=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return null}}]),t}(l["default"].Component);o.propTypes={value:s.any,label:s.string,onActive:s.func},o.defaultProps={value:null,label:"",onActive:null},r["default"]=o,t.exports=r["default"]},{react:"CwoHg3"}],10:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.TextField=void 0;var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=babelHelpers.interopRequireWildcard(s),a=e("./_helpers"),i=l["default"].PropTypes,u=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e)),n=e.value,l=n||e.defaultValue;r.state={innerValue:l,isDirty:Boolean(l)},void 0!==n&&null===e.onChange&&o.raiseError(a.controlledMessage,!0);var s=o.callback;return r.onChangeCB=s(r,"onChange"),r.onFocusCB=s(r,"onFocus"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.inputEl._muiTextfield=!0}},{key:"onChange",value:function(e){this.setState({innerValue:e.target.value});var t=this.props.onChange;t&&t(e)}},{key:"onFocus",value:function(e){this.setState({isDirty:!0})}},{key:"triggerFocus",value:function(){this.refs.inputEl.focus()}},{key:"render",value:function(){var e={},t=Boolean(this.state.innerValue),r=void 0;e["mui--is-empty"]=!t,e["mui--is-not-empty"]=t,e["mui--is-dirty"]=this.state.isDirty,e["mui--is-invalid"]=this.props.invalid,e=o.classNames(e);var n=this.props,s=(n.children,babelHelpers.objectWithoutProperties(n,["children"]));return r="textarea"===this.props.type?l["default"].createElement("textarea",babelHelpers["extends"]({},s,{ref:"inputEl",className:e,rows:this.props.rows,placeholder:this.props.hint,value:this.props.value,defaultValue:this.props.defaultValue,autoFocus:this.props.autoFocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required})):l["default"].createElement("input",babelHelpers["extends"]({},s,{ref:"inputEl",className:e,type:this.props.type,value:this.props.value,defaultValue:this.props.defaultValue,placeholder:this.props.hint,autoFocus:this.props.autofocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required}))}}]),t}(l["default"].Component);u.propTypes={hint:i.string,value:i.string,type:i.string,autoFocus:i.bool,onChange:i.func},u.defaultProps={hint:null,type:null,autoFocus:!1,onChange:null};var c=function(e){function t(){var e,r,n,l;babelHelpers.classCallCheck(this,t);for(var s=arguments.length,o=Array(s),a=0;s>a;a++)o[a]=arguments[a];return r=n=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.state={style:{}},l=r,babelHelpers.possibleConstructorReturn(n,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.styleTimer=setTimeout(function(){var t=".15s ease-out",r=void 0;r={transition:t,WebkitTransition:t,MozTransition:t,OTransition:t,msTransform:t},e.setState({style:r})},150)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.styleTimer)}},{key:"render",value:function(){return l["default"].createElement("label",{style:this.state.style,onClick:this.props.onClick},this.props.text)}}]),t}(l["default"].Component);c.defaultProps={text:"",onClick:null};var p=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.onClickCB=o.callback(r,"onClick"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){o.supportsPointerEvents()===!1&&(e.target.style.cursor="text",this.refs.inputEl.triggerFocus())}},{key:"render",value:function(){var e={},t=void 0;return this.props.label.length&&(t=l["default"].createElement(c,{text:this.props.label,onClick:this.onClickCB})),e["mui-textfield"]=!0,e["mui-textfield--float-label"]=this.props.floatingLabel,e=o.classNames(e),l["default"].createElement("div",{className:e},l["default"].createElement(u,babelHelpers["extends"]({ref:"inputEl"},this.props)),t)}}]),t}(l["default"].Component);p.propTypes={label:i.string,floatingLabel:i.bool},p.defaultProps={label:"",floatingLabel:!1},r.TextField=p},{"../js/lib/util":5,"./_helpers":6,react:"CwoHg3"}],11:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-appbar "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],12:[function(e,t,r){t.exports=e(7)},{"../js/lib/jqLite":4,"../js/lib/util":5,react:"CwoHg3"}],13:[function(e,t,r){t.exports=e(8)},{react:"CwoHg3"}],14:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=(babelHelpers.interopRequireWildcard(s),e("./_helpers"),l["default"].PropTypes),a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-checkbox "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"checkbox",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);a.propTypes={name:o.string,label:o.string,value:o.string,checked:o.bool,defaultChecked:o.bool,disabled:o.bool,onChange:o.func},a.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},r["default"]=a,t.exports=r["default"]},{"../js/lib/util":5,"./_helpers":6,react:"CwoHg3"}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=babelHelpers.interopRequireWildcard(s),a=["xs","sm","md","lg","xl"],i=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"defaultProps",value:function(){var e={className:""},t=void 0,r=void 0;for(t=a.length-1;t>-1;t--)r=a[t],e[r]=null,e[r+"-offset"]=null;return e}},{key:"render",value:function(){var e={},t=void 0,r=void 0,n=void 0,s=void 0;for(t=a.length-1;t>-1;t--)r=a[t],s="mui-col-"+r,n=this.props[r],n&&(e[s+"-"+n]=!0),n=this.props[r+"-offset"],n&&(e[s+"-offset-"+n]=!0);return e=o.classNames(e),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);r["default"]=i,t.exports=r["default"]},{"../js/lib/util":5,react:"CwoHg3"}],16:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="mui-container";return this.props.fluid&&(e+="-fluid"),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.propTypes={fluid:l["default"].PropTypes.bool},s.defaultProps={className:"",fluid:!1},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],17:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-divider "+this.props.className}))}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],18:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=babelHelpers.interopRequireWildcard(s),a=l["default"].PropTypes,i=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.onClickCB=o.callback(r,"onClick"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick(this,e)}},{key:"render",value:function(){var e=this.props,t=e.children,r=(e.onClick,babelHelpers.objectWithoutProperties(e,["children","onClick"]));return l["default"].createElement("li",r,l["default"].createElement("a",{href:this.props.link,target:this.props.target,"data-mui-value":this.props.value,onClick:this.onClickCB},t))}}]),t}(l["default"].Component);i.propTypes={link:a.string,target:a.string,onClick:a.func},r["default"]=i,t.exports=r["default"]},{"../js/lib/util":5,react:"CwoHg3"}],19:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./button"),o=babelHelpers.interopRequireDefault(s),a=e("./caret"),i=babelHelpers.interopRequireDefault(a),u=e("../js/lib/jqLite"),c=babelHelpers.interopRequireWildcard(u),p=e("../js/lib/util"),d=babelHelpers.interopRequireWildcard(p),f=l["default"].PropTypes,b="mui-dropdown",h="mui-dropdown__menu",v="mui--is-open",m="mui-dropdown__menu--right",C=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));r.state={opened:!1,menuTop:0};var n=d.callback;return r.selectCB=n(r,"select"),r.onClickCB=n(r,"onClick"),r.onOutsideClickCB=n(r,"onOutsideClick"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){document.addEventListener("click",this.onOutsideClickCB)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.onOutsideClickCB)}},{key:"onClick",value:function(e){if(0===e.button&&!this.props.disabled&&!e.defaultPrevented){this.toggle();var t=this.props.onClick;t&&t(e)}}},{key:"toggle",value:function(){return this.props.children?void(this.state.opened?this.close():this.open()):d.raiseError("Dropdown menu element not found")}},{key:"open",value:function(){var e=this.refs.wrapperEl.getBoundingClientRect(),t=void 0;t=this.refs.button.refs.buttonEl.getBoundingClientRect(),this.setState({opened:!0,menuTop:t.top-e.top+t.height})}},{key:"close",value:function(){this.setState({opened:!1})}},{key:"select",value:function(e){this.props.onSelect&&"A"===e.target.tagName&&this.props.onSelect(e.target.getAttribute("data-mui-value")),e.defaultPrevented||this.close()}},{key:"onOutsideClick",value:function(e){var t=this.refs.wrapperEl.contains(e.target);t||this.close()}},{key:"render",value:function(){var e=void 0,t=void 0,r=void 0;if(r="string"===c.type(this.props.label)?l["default"].createElement("span",null,this.props.label," ",l["default"].createElement(i["default"],null)):this.props.label,e=l["default"].createElement(o["default"],{ref:"button",type:"button",onClick:this.onClickCB,color:this.props.color,variant:this.props.variant,size:this.props.size,disabled:this.props.disabled},r),this.state.opened){var n={};n[h]=!0,n[v]=this.state.opened,n[m]="right"===this.props.alignMenu,n=d.classNames(n),t=l["default"].createElement("ul",{ref:"menuEl",className:n,style:{top:this.state.menuTop},onClick:this.selectCB},this.props.children)}var s=this.props,a=s.className,u=(s.children,s.onClick,babelHelpers.objectWithoutProperties(s,["className","children","onClick"]));return l["default"].createElement("div",babelHelpers["extends"]({},u,{ref:"wrapperEl",className:b+" "+a}),e,t)}}]),t}(l["default"].Component);C.propTypes={color:f.oneOf(["default","primary","danger","dark","accent"]),variant:f.oneOf(["default","flat","raised","fab"]),size:f.oneOf(["default","small","large"]),label:f.oneOfType([f.string,f.element]),alignMenu:f.oneOf(["left","right"]),onClick:f.func,onSelect:f.func,disabled:f.bool},C.defaultProps={className:"",color:"default",variant:"default",size:"default",label:"",alignMenu:"left",onClick:null,onSelect:null,disabled:!1},r["default"]=C,t.exports=r["default"]},{"../js/lib/jqLite":4,"../js/lib/util":5,"./button":7,"./caret":8,react:"CwoHg3"}],20:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="";return this.props.inline&&(e="mui-form--inline"),l["default"].createElement("form",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.propTypes={inline:l["default"].PropTypes.bool},s.defaultProps={className:"",inline:!1},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],21:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./text-field"),o=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(s.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={type:o.oneOf(["text","email","url","tel","password"])},a.defaultProps={type:"text"},r["default"]=a,t.exports=r["default"]},{"./text-field":10,react:"CwoHg3"}],22:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/forms"),o=(babelHelpers.interopRequireWildcard(s),e("../js/lib/jqLite")),a=(babelHelpers.interopRequireWildcard(o),e("../js/lib/util")),i=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("option",babelHelpers["extends"]({},t,{value:this.props.value}),this.props.label)}}]),t}(l["default"].Component);u.propTypes={value:i.string,label:i.string},u.defaultProps={value:null,label:null},r["default"]=u,t.exports=r["default"]},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,react:"CwoHg3"}],23:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-panel "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],24:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=l["default"].PropTypes,o=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-radio "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"radio",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);o.propTypes={name:s.string,label:s.string,value:s.string,checked:s.bool,defaultChecked:s.bool,disabled:s.bool,onChange:s.func},o.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},r["default"]=o,t.exports=r["default"]},{react:"CwoHg3"}],25:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=(babelHelpers.interopRequireWildcard(s),function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-row "+this.props.className}),this.props.children)}}]),t}(l["default"].Component));o.defaultProps={className:""},r["default"]=o,t.exports=r["default"]},{"../js/lib/util":5,react:"CwoHg3"}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/forms"),o=babelHelpers.interopRequireWildcard(s),a=e("../js/lib/jqLite"),i=babelHelpers.interopRequireWildcard(a),u=e("../js/lib/util"),c=babelHelpers.interopRequireWildcard(u),p=e("./_helpers"),d=l["default"].PropTypes,f=function(e){ +function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));r.state={showMenu:!1},e.readOnly===!1&&void 0!==e.value&&null===e.onChange&&c.raiseError(p.controlledMessage,!0),r.state.value=e.value;var n=c.callback;return r.hideMenuCB=n(r,"hideMenu"),r.onInnerChangeCB=n(r,"onInnerChange"),r.onInnerClickCB=n(r,"onInnerClick"),r.onInnerFocusCB=n(r,"onInnerFocus"),r.onInnerMouseDownCB=n(r,"onInnerMouseDown"),r.onKeydownCB=n(r,"onKeydown"),r.onMenuChangeCB=n(r,"onMenuChange"),r.onOuterFocusCB=n(r,"onOuterFocus"),r.onOuterBlurCB=n(r,"onOuterBlur"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.selectEl._muiSelect=!0,this.refs.wrapperEl.tabIndex=-1,this.props.autoFocus&&this.refs.wrapperEl.focus()}},{key:"componentWillReceiveProps",value:function(e){this.setState({value:e.value})}},{key:"onInnerMouseDown",value:function(e){0===e.button&&this.props.useDefault!==!0&&e.preventDefault()}},{key:"onInnerChange",value:function(e){var t=e.target.value;this.setState({value:t});var r=this.props.onChange;r&&r(t)}},{key:"onInnerClick",value:function(e){0===e.button&&this.showMenu()}},{key:"onInnerFocus",value:function(e){var t=this;this.props.useDefault!==!0&&setTimeout(function(){t.refs.wrapperEl.focus()},0)}},{key:"onOuterFocus",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;return t._muiOrigIndex=t.tabIndex,t.tabIndex=-1,t.disabled?this.refs.wrapperEl.blur():void i.on(document,"keydown",this.onKeydownCB)}}},{key:"onOuterBlur",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;t.tabIndex=t._muiOrigIndex,i.off(document,"keydown",this.onKeydownCB)}}},{key:"onKeydown",value:function(e){32!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode||(e.preventDefault(),this.refs.selectEl.disabled!==!0&&this.showMenu())}},{key:"showMenu",value:function(){this.props.useDefault!==!0&&(c.enableScrollLock(),i.on(window,"resize",this.hideMenuCB),i.on(document,"click",this.hideMenuCB),this.setState({showMenu:!0}))}},{key:"hideMenu",value:function(){c.disableScrollLock(),i.off(window,"resize",this.hideMenuCB),i.off(document,"click",this.hideMenuCB),this.setState({showMenu:!1}),this.refs.selectEl.focus()}},{key:"onMenuChange",value:function(e){if(this.props.readOnly!==!0){this.setState({value:e});var t=this.props.onChange;t&&t(e)}}},{key:"render",value:function(){var e=void 0;this.state.showMenu&&(e=l["default"].createElement(b,{optionEls:this.refs.selectEl.children,wrapperEl:this.refs.wrapperEl,onChange:this.onMenuChangeCB,onClose:this.hideMenuCB}));var t=this.props,r=(t.children,t.onChange,babelHelpers.objectWithoutProperties(t,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},r,{ref:"wrapperEl",className:"mui-select "+this.props.className,onFocus:this.onOuterFocusCB,onBlur:this.onOuterBlurCB}),l["default"].createElement("select",{ref:"selectEl",name:this.props.name,value:this.state.value,defaultValue:this.props.defaultValue,disabled:this.props.disabled,multiple:this.props.multiple,readOnly:this.props.readOnly,required:this.props.required,onChange:this.onInnerChangeCB,onMouseDown:this.onInnerMouseDownCB,onClick:this.onInnerClickCB,onFocus:this.onInnerFocusCB},this.props.children),e)}}]),t}(l["default"].Component);f.propTypes={name:d.string,value:d.string,defaultValue:d.string,autoFocus:d.bool,disabled:d.bool,multiple:d.bool,readOnly:d.bool,required:d.bool,useDefault:d.bool,onChange:d.func},f.defaultProps={className:"",name:null,autoFocus:!1,disabled:!1,multiple:!1,readOnly:!1,required:!1,useDefault:!1,onChange:null};var b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.state={origIndex:null,currentIndex:null},r.onKeydownCB=c.callback(r,"onKeydown"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){var e=this.props.optionEls,t=e.length,r=0,n=void 0;for(n=t-1;n>-1;n--)e[n].selected&&(r=n);this.setState({origIndex:r,currentIndex:r})}},{key:"componentDidMount",value:function(){this.blurTimer=setTimeout(function(){var e=document.activeElement;"body"!==e.nodeName.toLowerCase()&&e.blur()},0);var e=o.getMenuPositionalCSS(this.props.wrapperEl,this.props.optionEls.length,this.state.currentIndex),t=this.refs.wrapperEl;i.css(t,e),i.scrollTop(t,e.scrollTop),i.on(document,"keydown",this.onKeydownCB)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.blurTimer),i.off(document,"keydown",this.onKeydownCB)}},{key:"onClick",value:function(e,t){t.stopPropagation(),this.selectAndDestroy(e)}},{key:"onKeydown",value:function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&this.selectAndDestroy()))}},{key:"increment",value:function(){this.state.currentIndex!==this.props.optionEls.length-1&&this.setState({currentIndex:this.state.currentIndex+1})}},{key:"decrement",value:function(){0!==this.state.currentIndex&&this.setState({currentIndex:this.state.currentIndex-1})}},{key:"selectAndDestroy",value:function(e){e=void 0===e?this.state.currentIndex:e,e!==this.state.origIndex&&this.props.onChange(this.props.optionEls[e].value),this.destroy()}},{key:"destroy",value:function(){this.props.onClose()}},{key:"render",value:function(){var e=[],t=this.props.optionEls,r=t.length,n=void 0,s=void 0;for(s=0;r>s;s++)n=s===this.state.currentIndex?"mui--is-selected":"",e.push(l["default"].createElement("div",{key:s,className:n,onClick:this.onClick.bind(this,s)},t[s].textContent));return l["default"].createElement("div",{ref:"wrapperEl",className:"mui-select__menu"},e)}}]),t}(l["default"].Component);b.defaultProps={optionEls:[],wrapperEl:null,onChange:null,onClose:null},r["default"]=f,t.exports=r["default"]},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,"./_helpers":6,react:"CwoHg3"}],27:[function(e,t,r){t.exports=e(9)},{react:"CwoHg3"}],28:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./tab"),o=babelHelpers.interopRequireDefault(s),a=e("../js/lib/util"),i=babelHelpers.interopRequireWildcard(a),u=l["default"].PropTypes,c="mui-tabs__bar",p="mui-tabs__bar--justified",d="mui-tabs__pane",f="mui--is-active",b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.state={currentSelectedIndex:e.initialSelectedIndex},r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e,t,r){e!==this.state.currentSelectedIndex&&(this.setState({currentSelectedIndex:e}),t.props.onActive&&t.props.onActive(t),this.props.onChange&&this.props.onChange(e,t.props.value,t,r))}},{key:"render",value:function(){var e=this.props,t=e.children,r=babelHelpers.objectWithoutProperties(e,["children"]),n=[],s=[],a=t.length,u=this.state.currentSelectedIndex%a,b=void 0,h=void 0,v=void 0,m=void 0;for(m=0;a>m;m++)h=t[m],h.type!==o["default"]&&i.raiseError("Expecting MUITab React Element"),b=m===u,n.push(l["default"].createElement("li",{key:m,className:b?f:""},l["default"].createElement("a",{onClick:this.onClick.bind(this,m,h)},h.props.label))),v=d+" ",b&&(v+=f),s.push(l["default"].createElement("div",{key:m,className:v},h.props.children));return v=c,this.props.justified&&(v+=" "+p),l["default"].createElement("div",r,l["default"].createElement("ul",{className:v},n),s)}}]),t}(l["default"].Component);b.propTypes={initialSelectedIndex:u.number,justified:u.bool,onChange:u.func},b.defaultProps={className:"",initialSelectedIndex:0,justified:!1,onChange:null},r["default"]=b,t.exports=r["default"]},{"../js/lib/util":5,"./tab":9,react:"CwoHg3"}],29:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./text-field"),o=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(s.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={rows:o.number},a.defaultProps={type:"textarea",rows:2},r["default"]=a,t.exports=r["default"]},{"./text-field":10,react:"CwoHg3"}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js new file mode 100644 index 0000000..6fe112a --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js @@ -0,0 +1,1023 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o -1); +} + + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || + (args[0] === callback && args[1] === useCapture)) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win)); + else element.scrollLeft = value; +} + + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value); + else element.scrollTop = value; +} + + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function() { + try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { top = !win.frameElement; } catch(e) { } + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +} + + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + + +function _camelCase(name) { + return name. + replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }). + replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || + doc.getElementsByTagName('head')[0] || + doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText; + else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i=nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += (classes[i]) ? i + ' ' : ''; + } + return cs.trim(); +} + + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = (element.style.pointerEvents === 'auto'); + return _supportsPointerEvents; +} + + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function() {instance[funcName].apply(instance, arguments);}; +} + + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = (bubbles !== undefined) ? bubbles : true, + cancelable = (cancelable !== undefined) ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) ev[k] = data[k]; + + // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1 + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = {left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win)}; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1 + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":3}],5:[function(require,module,exports){ +/** + * MUI CSS/JS form-control module + * @module forms/form-control + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + cssSelector = '.mui-textfield > input, .mui-textfield > textarea', + emptyClass = 'mui--is-empty', + notEmptyClass = 'mui--is-not-empty', + dirtyClass = 'mui--is-dirty', + floatingLabelClass = 'mui-textfield--float-label'; + + +/** + * Initialize input element. + * @param {Element} inputEl - The input element. + */ +function initialize(inputEl) { + // check flag + if (inputEl._muiTextfield === true) return; + else inputEl._muiTextfield = true; + + if (inputEl.value.length) jqLite.addClass(inputEl, notEmptyClass); + else jqLite.addClass(inputEl, emptyClass); + + jqLite.on(inputEl, 'input', inputHandler); + jqLite.on(inputEl, 'change', inputHandler); + + // add dirty class on focus + jqLite.on(inputEl, 'focus', function(){jqLite.addClass(this, dirtyClass);}); +} + + +/** + * Handle input events. + */ +function inputHandler() { + var inputEl = this; + + if (inputEl.value.length) { + jqLite.removeClass(inputEl, emptyClass); + jqLite.addClass(inputEl, notEmptyClass); + } else { + jqLite.removeClass(inputEl, notEmptyClass); + jqLite.addClass(inputEl, emptyClass) + } + + jqLite.addClass(inputEl, dirtyClass); +} + + +/** Define module API */ +module.exports = { + /** Initialize input elements */ + initialize: initialize, + + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') initialize(el); + }); + + // add transition css for floating labels + setTimeout(function() { + var css = '.mui-textfield.mui-textfield--float-label > label {' + [ + '-webkit-transition', + '-moz-transition', + '-o-transition', + 'transition', + '' + ].join(':all .15s ease-out;') + '}'; + + util.loadStyle(css); + }, 150); + + // pointer-events shim for floating labels + if (util.supportsPointerEvents() === false) { + jqLite.on(document, 'click', function(ev) { + var targetEl = ev.target; + + if (targetEl.tagName === 'LABEL' && + jqLite.hasClass(targetEl.parentNode, floatingLabelClass)) { + var inputEl = targetEl.previousElementSibling; + if (inputEl) inputEl.focus(); + } + }); + } + } +}; + +},{"./lib/jqLite":3,"./lib/util":4}],6:[function(require,module,exports){ +module.exports = "/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:\" \";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:\" \";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:\" \";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:\" \";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows=\"2\"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:\" \";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}"; + +},{}],7:[function(require,module,exports){ +/** + * MUI WebComponents buttons module + * @module webcomponents/buttons + */ + +'use strict'; + + +var config = require('../js/config'), + jqLite = require('../js/lib/jqLite'), + btnClass = 'mui-btn', + btnTagName = btnClass, + btnAttrs = {style: 1, color: 1, size: 1}; + + +/** + * Class representing a button. + * @class + */ +var BtnProto = Object.create(HTMLElement.prototype); + + +/** Button createdCallback */ +BtnProto.createdCallback = function() { + var root = this.createShadowRoot(), + innerEl = document.createElement('button'), + cls = btnClass, + k, + v; + + // populate innerEl + for (var i=0; i < this.childNodes.length; i++) { + innerEl.appendChild(this.childNodes[i]); + } + + // style|color|size + for (k in btnAttrs) { + v = this.getAttribute(k); + if (v !== 'default') cls += ' ' + btnClass + '--' + v; + } + + jqLite.addClass(innerEl, cls); + + // disabled + if (this.getAttribute('disabled') !== null) { + innerEl.setAttribute('disabled', 'disabled'); + } + + root.appendChild(_getStyleEl().cloneNode(true)); + root.appendChild(innerEl); +}; + + + + +// ============================================================================ +// UTILITIES +// ============================================================================ + +var styleEl; + + +/** + * Get or create a style element. + * @function + */ +function _getStyleEl() { + if (styleEl === undefined) { + styleEl = document.createElement('style'); + styleEl.innerHTML = require('mui.min.css'); + } + + return styleEl; +} + + +/** Define module API */ +module.exports = { + /** Register module elements */ + registerElements: function() { + var BtnElement = document.registerElement(btnTagName, { + prototype: BtnProto + }); + + return { + BtnElement: BtnElement + } + } +}; + +},{"../js/config":2,"../js/lib/jqLite":3,"mui.min.css":6}],8:[function(require,module,exports){ +/** + * MUI WebComponents forms module + * @module webcomponents/forms + */ + +'use strict'; + + +var jqLite = require('../js/lib/jqLite'), + muiTextfield = require('../js/textfield'), + textfieldClass = 'mui-textfield', + floatingMod = '--float-label', + textfieldTagName = textfieldClass; + + +/** + * Class representing a Textfield element. + * @class + */ +var TextfieldProto = Object.create(HTMLElement.prototype); + + +/** Textfield createdCallback */ +TextfieldProto.createdCallback = function() { + var root = this.createShadowRoot(), + innerEl = document.createElement('div'), + cls; + + var attrs = { + type: this.getAttribute('type') || 'text', + value: this.getAttribute('value'), + placeholder: this.getAttribute('placeholder'), + label: this.getAttribute('label'), + floating: this.getAttribute('floating') + }; + + // set class + cls = textfieldClass; + if (attrs.floating !== null) cls += ' ' + textfieldClass + floatingMod; + + innerEl.setAttribute('class', cls); + + // add input element + innerEl.appendChild(_createInputEl(attrs)); + + // label element + if (attrs.label) { + var labelEl = _createLabelEl(attrs); + innerEl.appendChild(labelEl); + } + + // add to root + root.appendChild(_getStyleEl().cloneNode(true)); + root.appendChild(innerEl); +} + + + + +// ============================================================================ +// UTILITIES +// ============================================================================ + +var styleEl; + + +/** + * Get or create style + * @function + */ +function _getStyleEl() { + if (styleEl === undefined) { + styleEl = document.createElement('style'); + styleEl.innerHTML = require('mui.min.css'); + } + + return styleEl; +} + + +/** + * Create input element. + * @function + */ +function _createInputEl(attrs) { + var inputEl; + + // input element + if (attrs.type === 'textarea') { + inputEl = document.createElement('textarea'); + if (attrs.value) inputEl.appendChild(document.createTextNode(attrs.value)); + } else { + inputEl = document.createElement('input'); + inputEl.setAttribute('type', attrs.type); + if (attrs.value) inputEl.setAttribute('value', attrs.value); + } + + if (attrs.placeholder) { + inputEl.setAttribute('placeholder', attrs.placeholder); + } + + // add event listeners + muiTextfield.initialize(inputEl); + + return inputEl; +} + + +/** + * Create label element. + * @function + */ +function _createLabelEl(attrs) { + var labelEl = document.createElement('label'); + labelEl.appendChild(document.createTextNode(attrs.label)); + + return labelEl; +} + + +/** Define module API */ +module.exports = { + /** Register module elements */ + registerElements: function() { + var TextfieldElement = document.registerElement(textfieldTagName, { + prototype: TextfieldProto + }); + + return { + TextfieldElement: TextfieldElement + }; + } +}; + +},{"../js/lib/jqLite":3,"../js/textfield":5,"mui.min.css":6}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js new file mode 100644 index 0000000..3b339e1 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js @@ -0,0 +1,2 @@ +!function i(t,e,o){function n(a,m){if(!e[a]){if(!t[a]){var r="function"==typeof require&&require;if(!m&&r)return r(a,!0);if(l)return l(a,!0);throw new Error("Cannot find module '"+a+"'")}var u=e[a]={exports:{}};t[a][0].call(u.exports,function(i){var e=t[a][1][i];return n(e?e:i)},u,u.exports,i,t,e,o)}return e[a].exports}for(var l="function"==typeof require&&require,a=0;a-1:!1}function a(i){if(void 0===i)return"undefined";var t=Object.prototype.toString.call(i);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function m(i,t,e,o){o=void 0===o?!1:o,i.addEventListener(t,e,o);var n=i._muiEventCache=i._muiEventCache||{};n[t]=n[t]||[],n[t].push([e,o])}function r(i,t,e,o){o=void 0===o?!1:o;var n,l,a=i._muiEventCache=i._muiEventCache||{},m=a[t]||[];for(l=m.length;l--;)n=m[l],(void 0===e||n[0]===e&&n[1]===o)&&(m.splice(l,1),i.removeEventListener(t,n[0],n[1]))}function u(i,t,e,o){m(i,t,function n(o){e&&e.apply(this,arguments),r(i,t,n)},o)}function d(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return i.scrollLeft}i===e?e.scrollTo(t,s(e)):i.scrollLeft=t}function s(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageYOffset||o.scrollTop)-(o.clientTop||0)}return i.scrollTop}i===e?e.scrollTo(d(e),t):i.scrollTop=t}function c(i){var t=window,e=i.getBoundingClientRect(),o=s(t),n=d(t);return{top:e.top+o,left:e.left+n,height:e.height,width:e.width}}function p(i){var t=!1,e=!0,o=document,n=o.defaultView,l=o.documentElement,a=o.addEventListener?"addEventListener":"attachEvent",m=o.addEventListener?"removeEventListener":"detachEvent",r=o.addEventListener?"":"on",u=function(e){"readystatechange"==e.type&&"complete"!=o.readyState||(("load"==e.type?n:o)[m](r+e.type,u,!1),!t&&(t=!0)&&i.call(n,e.type||e))},d=function(){try{l.doScroll("left")}catch(i){return void setTimeout(d,50)}u("poll")};if("complete"==o.readyState)i.call(n,"lazy");else{if(o.createEventObject&&l.doScroll){try{e=!n.frameElement}catch(s){}e&&d()}o[a](r+"DOMContentLoaded",u,!1),o[a](r+"readystatechange",u,!1),n[a](r+"load",u,!1)}}function b(i,t){if(t&&i.setAttribute){for(var e,o=f(i),n=t.split(" "),l=0;l=0;)o=o.replace(" "+e+" "," ");i.setAttribute("class",o.trim())}}function f(i){var t=(i.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function x(i){return i.replace(v,function(i,t,e,o){return o?e.toUpperCase():e}).replace(y,"Moz$1")}function g(i,t,e){var o;return o=e.getPropertyValue(t),""!==o||i.ownerDocument||(o=i.style[x(t)]),o}var h,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;h={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:o,css:n,hasClass:l,off:r,offset:c,on:m,one:u,ready:p,removeClass:b,type:a,scrollLeft:d,scrollTop:s}},{}],4:[function(i,t,e){"use strict";function o(){var i=window;if(x.debug&&"undefined"!=typeof i.console)try{i.console.log.apply(i.console,arguments)}catch(t){var e=Array.prototype.slice.call(arguments);i.console.log(e.join("\n"))}}function n(i){var t,e=document;t=e.head||e.getElementsByTagName("head")[0]||e.documentElement;var o=e.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=i:o.appendChild(e.createTextNode(i)),t.insertBefore(o,t.firstChild),o}function l(i,t){if(!t)throw new Error("MUI: "+i);"undefined"!=typeof console&&console.error("MUI Warning: "+i)}function a(i){if(h.push(i),void 0===h._initialized){var t=document;g.on(t,"animationstart",m),g.on(t,"mozAnimationStart",m),g.on(t,"webkitAnimationStart",m),h._initialized=!0}}function m(i){if("mui-node-inserted"===i.animationName)for(var t=i.target,e=h.length-1;e>=0;e--)h[e](t)}function r(i){var t="";for(var e in i)t+=i[e]?e+" ":"";return t.trim()}function u(){if(void 0!==f)return f;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",f="auto"===i.style.pointerEvents}function d(i,t){return function(){i[t].apply(i,arguments)}}function s(i,t,e,o,n){var l,a=document.createEvent("HTMLEvents"),e=void 0!==e?e:!0,o=void 0!==o?o:!0;if(a.initEvent(t,e,o),n)for(l in n)a[l]=n[l];return i&&i.dispatchEvent(a),a}function c(){if(v+=1,1===v){var i=window,t=document;b={left:g.scrollLeft(i),top:g.scrollTop(i)},g.addClass(t.body,y),i.scrollTo(b.left,b.top)}}function p(){if(0!==v&&(v-=1,0===v)){var i=window,t=document;g.removeClass(t.body,y),i.scrollTo(b.left,b.top)}}var b,f,x=i("../config"),g=i("./jqLite"),h=[],v=0,y="mui-body--scroll-lock";t.exports={callback:d,classNames:r,disableScrollLock:p,dispatchEvent:s,enableScrollLock:c,log:o,loadStyle:n,onNodeInserted:a,raiseError:l,supportsPointerEvents:u}},{"../config":2,"./jqLite":3}],5:[function(i,t,e){"use strict";function o(i){i._muiTextfield!==!0&&(i._muiTextfield=!0,i.value.length?l.addClass(i,u):l.addClass(i,r),l.on(i,"input",n),l.on(i,"change",n),l.on(i,"focus",function(){l.addClass(this,d)}))}function n(){var i=this;i.value.length?(l.removeClass(i,r),l.addClass(i,u)):(l.removeClass(i,u),l.addClass(i,r)),l.addClass(i,d)}var l=i("./lib/jqLite"),a=i("./lib/util"),m=".mui-textfield > input, .mui-textfield > textarea",r="mui--is-empty",u="mui--is-not-empty",d="mui--is-dirty",s="mui-textfield--float-label";t.exports={initialize:o,initListeners:function(){for(var i=document,t=i.querySelectorAll(m),e=t.length-1;e>=0;e--)o(t[e]);a.onNodeInserted(function(i){"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName||o(i)}),setTimeout(function(){var i=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";a.loadStyle(i)},150),a.supportsPointerEvents()===!1&&l.on(document,"click",function(i){var t=i.target;if("LABEL"===t.tagName&&l.hasClass(t.parentNode,s)){var e=t.previousElementSibling;e&&e.focus()}})}}},{"./lib/jqLite":3,"./lib/util":4}],6:[function(i,t,e){t.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],7:[function(i,t,e){"use strict";function o(){return void 0===u&&(u=document.createElement("style"),u.innerHTML=i("mui.min.css")),u}var n=(i("../js/config"),i("../js/lib/jqLite")),l="mui-btn",a=l,m={style:1,color:1,size:1},r=Object.create(HTMLElement.prototype);r.createdCallback=function(){for(var i,t,e=this.createShadowRoot(),a=document.createElement("button"),r=l,u=0;u +muicss:mui/ +├── lib +│ ├── css +│ │ └── mui.css +│ └── js +│ └── mui.js +├── LICENSE.txt +├── package.js +└── README.md + diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.css b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.css new file mode 100644 index 0000000..2a65b9e --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.css @@ -0,0 +1,2522 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS and IE text size adjust after device orientation change, + * without disabling user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/** + * Remove default margin. + */ +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * Improve readability of focused elements when they are also in an + * active/hover state. + */ +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} + +/** + * 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 { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; +} + +/** + * 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 Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +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"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + box-sizing: content-box; + /* 2 */ +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/** + * MUI Colors module + */ +/** + * MUI Reboot + */ +* { + box-sizing: border-box; +} + +*:before, +*:after { + box-sizing: border-box; +} + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; +} + +body { + font-family: Arial, Verdana, Tahoma; + font-size: 14px; + font-weight: 400; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +a { + color: #2196F3; + text-decoration: none; +} + +a:hover, a:focus { + color: #1976D2; + text-decoration: underline; +} + +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +p { + margin: 0 0 10px; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +figure { + margin: 0; +} + +img { + vertical-align: middle; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 10px; + font-size: 21px; + color: rgba(0, 0, 0, 0.87); + line-height: inherit; + border: 0; +} + +input[type="search"] { + box-sizing: border-box; + -webkit-appearance: none; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; +} + +strong { + font-weight: 700; +} + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #2196F3; +} + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +/** + * MUI Appbar + */ +.mui--appbar-height { + height: 56px; +} + +.mui--appbar-min-height, .mui-appbar { + min-height: 56px; +} + +.mui--appbar-line-height { + line-height: 56px; +} + +.mui--appbar-top { + top: 56px; +} + +@media (orientation: landscape) and (max-height: 480px) { + .mui--appbar-height { + height: 48px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 48px; + } + .mui--appbar-line-height { + line-height: 48px; + } + .mui--appbar-top { + top: 48px; + } +} + +@media (min-width: 480px) { + .mui--appbar-height { + height: 64px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 64px; + } + .mui--appbar-line-height { + line-height: 64px; + } + .mui--appbar-top { + top: 64px; + } +} + +.mui-appbar { + background-color: #2196F3; + color: #FFF; +} + +/** + * MUI Buttons + */ +.mui-btn { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; + transition: all 0.2s ease-in-out; + display: inline-block; + height: 36px; + padding: 0 26px; + margin-top: 6px; + margin-bottom: 6px; + border: none; + border-radius: 2px; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + line-height: 36px; + vertical-align: middle; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 14px; + letter-spacing: 0.03em; + position: relative; + overflow: hidden; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + color: rgba(0, 0, 0, 0.87); + background-color: white; +} + +.mui-btn[disabled]:hover, .mui-btn[disabled]:focus, .mui-btn[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +.mui-btn.mui-btn--flat { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn.mui-btn--flat:hover, .mui-btn.mui-btn--flat:focus, .mui-btn.mui-btn--flat:active { + color: rgba(0, 0, 0, 0.87); + background-color: #f2f2f2; +} + +.mui-btn.mui-btn--flat[disabled]:hover, .mui-btn.mui-btn--flat[disabled]:focus, .mui-btn.mui-btn--flat[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + outline: 0; + text-decoration: none; + color: rgba(0, 0, 0, 0.87); +} + +.mui-btn:hover, .mui-btn:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn:disabled, .mui-btn.mui--is-disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; +} + +.mui-btn + .mui-btn { + margin-left: 8px; +} + +.mui-btn--flat { + background-color: transparent; +} + +.mui-btn--flat:hover, .mui-btn--flat:focus, .mui-btn--flat:active { + box-shadow: none; + background-color: #f2f2f2; +} + +.mui-btn--raised, .mui-btn--fab { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised, .mui-btn--fab { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn--fab { + position: relative; + padding: 0; + width: 55px; + height: 55px; + line-height: 55px; + border-radius: 50%; + z-index: 1; +} + +.mui-btn--primary { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary:hover, .mui-btn--primary:focus, .mui-btn--primary:active { + color: #FFF; + background-color: #39a1f4; +} + +.mui-btn--primary[disabled]:hover, .mui-btn--primary[disabled]:focus, .mui-btn--primary[disabled]:active { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary.mui-btn--flat { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--primary.mui-btn--flat:hover, .mui-btn--primary.mui-btn--flat:focus, .mui-btn--primary.mui-btn--flat:active { + color: #2196F3; + background-color: #f2f2f2; +} + +.mui-btn--primary.mui-btn--flat[disabled]:hover, .mui-btn--primary.mui-btn--flat[disabled]:focus, .mui-btn--primary.mui-btn--flat[disabled]:active { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--dark { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark:hover, .mui-btn--dark:focus, .mui-btn--dark:active { + color: #FFF; + background-color: #4f4f4f; +} + +.mui-btn--dark[disabled]:hover, .mui-btn--dark[disabled]:focus, .mui-btn--dark[disabled]:active { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark.mui-btn--flat { + color: #424242; + background-color: transparent; +} + +.mui-btn--dark.mui-btn--flat:hover, .mui-btn--dark.mui-btn--flat:focus, .mui-btn--dark.mui-btn--flat:active { + color: #424242; + background-color: #f2f2f2; +} + +.mui-btn--dark.mui-btn--flat[disabled]:hover, .mui-btn--dark.mui-btn--flat[disabled]:focus, .mui-btn--dark.mui-btn--flat[disabled]:active { + color: #424242; + background-color: transparent; +} + +.mui-btn--danger { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger:hover, .mui-btn--danger:focus, .mui-btn--danger:active { + color: #FFF; + background-color: #f55a4e; +} + +.mui-btn--danger[disabled]:hover, .mui-btn--danger[disabled]:focus, .mui-btn--danger[disabled]:active { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger.mui-btn--flat { + color: #F44336; + background-color: transparent; +} + +.mui-btn--danger.mui-btn--flat:hover, .mui-btn--danger.mui-btn--flat:focus, .mui-btn--danger.mui-btn--flat:active { + color: #F44336; + background-color: #f2f2f2; +} + +.mui-btn--danger.mui-btn--flat[disabled]:hover, .mui-btn--danger.mui-btn--flat[disabled]:focus, .mui-btn--danger.mui-btn--flat[disabled]:active { + color: #F44336; + background-color: transparent; +} + +.mui-btn--accent { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent:hover, .mui-btn--accent:focus, .mui-btn--accent:active { + color: #FFF; + background-color: #ff5a92; +} + +.mui-btn--accent[disabled]:hover, .mui-btn--accent[disabled]:focus, .mui-btn--accent[disabled]:active { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent.mui-btn--flat { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--accent.mui-btn--flat:hover, .mui-btn--accent.mui-btn--flat:focus, .mui-btn--accent.mui-btn--flat:active { + color: #FF4081; + background-color: #f2f2f2; +} + +.mui-btn--accent.mui-btn--flat[disabled]:hover, .mui-btn--accent.mui-btn--flat[disabled]:focus, .mui-btn--accent.mui-btn--flat[disabled]:active { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--small { + height: 30.6px; + line-height: 30.6px; + padding: 0 16px; + font-size: 13px; +} + +.mui-btn--large { + height: 54px; + line-height: 54px; + padding: 0 26px; + font-size: 14px; +} + +.mui-btn--fab.mui-btn--small { + width: 44px; + height: 44px; + line-height: 44px; +} + +.mui-btn--fab.mui-btn--large { + width: 75px; + height: 75px; + line-height: 75px; +} + +/** + * MUI Checkboxe and Radio Components + */ +.mui-radio, +.mui-checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} + +.mui-radio > label, +.mui-checkbox > label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.mui-radio > label > input[type="radio"], +.mui-radio--inline > label > input[type="radio"], +.mui-checkbox > label > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px; +} + +.mui-radio + .mui-radio, +.mui-checkbox + .mui-checkbox { + margin-top: -5px; +} + +.mui-radio--inline, +.mui-checkbox--inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} + +.mui-radio--inline > input[type="radio"], +.mui-radio--inline > input[type="checkbox"], +.mui-radio--inline > label > input[type="radio"], +.mui-radio--inline > label > input[type="checkbox"], +.mui-checkbox--inline > input[type="radio"], +.mui-checkbox--inline > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="radio"], +.mui-checkbox--inline > label > input[type="checkbox"] { + margin: 4px 0 0; + line-height: normal; +} + +.mui-radio--inline + .mui-radio--inline, +.mui-checkbox--inline + .mui-checkbox--inline { + margin-top: 0; + margin-left: 10px; +} + +/** + * MUI Container module + */ +.mui-container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container:before, .mui-container:after { + content: " "; + display: table; +} + +.mui-container:after { + clear: both; +} + +@media (min-width: 544px) { + .mui-container { + max-width: 570px; + } +} + +@media (min-width: 768px) { + .mui-container { + max-width: 740px; + } +} + +@media (min-width: 992px) { + .mui-container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .mui-container { + max-width: 1170px; + } +} + +.mui-container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container-fluid:before, .mui-container-fluid:after { + content: " "; + display: table; +} + +.mui-container-fluid:after { + clear: both; +} + +/** + * MUI Divider Component and CSS Helpers + */ +.mui-divider { + display: block; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +.mui--divider-top { + border-top: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-bottom { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-left { + border-left: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-right { + border-right: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Dropdown module + */ +.mui-dropdown { + display: inline-block; + position: relative; +} + +[data-mui-toggle="dropdown"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + outline: 0; +} + +.mui-dropdown__menu { + position: absolute; + top: 100%; + left: 0; + display: none; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border-radius: 2px; + z-index: 1; + background-clip: padding-box; +} + +.mui-dropdown__menu.mui--is-open { + display: block; +} + +.mui-dropdown__menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + white-space: nowrap; +} + +.mui-dropdown__menu > li > a:hover, .mui-dropdown__menu > li > a:focus { + text-decoration: none; + color: rgba(0, 0, 0, 0.87); + background-color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a, .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; +} + +.mui-dropdown__menu--right { + left: auto; + right: 0; +} + +/** + * MUI Form Component + */ +@media (min-width: 544px) { + .mui-form--inline > .mui-textfield { + display: inline-block; + margin-bottom: 0; + } + .mui-form--inline > .mui-radio, + .mui-form--inline > .mui-checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .mui-form--inline > .mui-radio > label, + .mui-form--inline > .mui-checkbox > label { + padding-left: 0; + } + .mui-form--inline > .mui-radio > label > input[type="radio"], + .mui-form--inline > .mui-checkbox > label > input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .mui-form--inline > .mui-select { + display: inline-block; + } + .mui-form--inline > .mui-btn { + margin-bottom: 0; + margin-top: 0; + vertical-align: bottom; + } +} + +/** + * MUI Grid module + */ +.mui-row { + margin-left: -15px; + margin-right: -15px; +} + +.mui-row:before, .mui-row:after { + content: " "; + display: table; +} + +.mui-row:after { + clear: both; +} + +.mui-col-xs-1, .mui-col-sm-1, .mui-col-md-1, .mui-col-lg-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-md-2, .mui-col-lg-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-md-3, .mui-col-lg-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-md-4, .mui-col-lg-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-md-5, .mui-col-lg-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-md-6, .mui-col-lg-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-md-7, .mui-col-lg-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-md-8, .mui-col-lg-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-md-9, .mui-col-lg-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-md-10, .mui-col-lg-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-md-11, .mui-col-lg-11, .mui-col-xs-12, .mui-col-sm-12, .mui-col-md-12, .mui-col-lg-12 { + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} + +.mui-col-xs-1, .mui-col-xs-2, .mui-col-xs-3, .mui-col-xs-4, .mui-col-xs-5, .mui-col-xs-6, .mui-col-xs-7, .mui-col-xs-8, .mui-col-xs-9, .mui-col-xs-10, .mui-col-xs-11, .mui-col-xs-12 { + float: left; +} + +.mui-col-xs-1 { + width: 8.33333%; +} + +.mui-col-xs-2 { + width: 16.66667%; +} + +.mui-col-xs-3 { + width: 25%; +} + +.mui-col-xs-4 { + width: 33.33333%; +} + +.mui-col-xs-5 { + width: 41.66667%; +} + +.mui-col-xs-6 { + width: 50%; +} + +.mui-col-xs-7 { + width: 58.33333%; +} + +.mui-col-xs-8 { + width: 66.66667%; +} + +.mui-col-xs-9 { + width: 75%; +} + +.mui-col-xs-10 { + width: 83.33333%; +} + +.mui-col-xs-11 { + width: 91.66667%; +} + +.mui-col-xs-12 { + width: 100%; +} + +.mui-col-xs-offset-0 { + margin-left: 0%; +} + +.mui-col-xs-offset-1 { + margin-left: 8.33333%; +} + +.mui-col-xs-offset-2 { + margin-left: 16.66667%; +} + +.mui-col-xs-offset-3 { + margin-left: 25%; +} + +.mui-col-xs-offset-4 { + margin-left: 33.33333%; +} + +.mui-col-xs-offset-5 { + margin-left: 41.66667%; +} + +.mui-col-xs-offset-6 { + margin-left: 50%; +} + +.mui-col-xs-offset-7 { + margin-left: 58.33333%; +} + +.mui-col-xs-offset-8 { + margin-left: 66.66667%; +} + +.mui-col-xs-offset-9 { + margin-left: 75%; +} + +.mui-col-xs-offset-10 { + margin-left: 83.33333%; +} + +.mui-col-xs-offset-11 { + margin-left: 91.66667%; +} + +.mui-col-xs-offset-12 { + margin-left: 100%; +} + +@media (min-width: 544px) { + .mui-col-sm-1, .mui-col-sm-2, .mui-col-sm-3, .mui-col-sm-4, .mui-col-sm-5, .mui-col-sm-6, .mui-col-sm-7, .mui-col-sm-8, .mui-col-sm-9, .mui-col-sm-10, .mui-col-sm-11, .mui-col-sm-12 { + float: left; + } + .mui-col-sm-1 { + width: 8.33333%; + } + .mui-col-sm-2 { + width: 16.66667%; + } + .mui-col-sm-3 { + width: 25%; + } + .mui-col-sm-4 { + width: 33.33333%; + } + .mui-col-sm-5 { + width: 41.66667%; + } + .mui-col-sm-6 { + width: 50%; + } + .mui-col-sm-7 { + width: 58.33333%; + } + .mui-col-sm-8 { + width: 66.66667%; + } + .mui-col-sm-9 { + width: 75%; + } + .mui-col-sm-10 { + width: 83.33333%; + } + .mui-col-sm-11 { + width: 91.66667%; + } + .mui-col-sm-12 { + width: 100%; + } + .mui-col-sm-offset-0 { + margin-left: 0%; + } + .mui-col-sm-offset-1 { + margin-left: 8.33333%; + } + .mui-col-sm-offset-2 { + margin-left: 16.66667%; + } + .mui-col-sm-offset-3 { + margin-left: 25%; + } + .mui-col-sm-offset-4 { + margin-left: 33.33333%; + } + .mui-col-sm-offset-5 { + margin-left: 41.66667%; + } + .mui-col-sm-offset-6 { + margin-left: 50%; + } + .mui-col-sm-offset-7 { + margin-left: 58.33333%; + } + .mui-col-sm-offset-8 { + margin-left: 66.66667%; + } + .mui-col-sm-offset-9 { + margin-left: 75%; + } + .mui-col-sm-offset-10 { + margin-left: 83.33333%; + } + .mui-col-sm-offset-11 { + margin-left: 91.66667%; + } + .mui-col-sm-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 768px) { + .mui-col-md-1, .mui-col-md-2, .mui-col-md-3, .mui-col-md-4, .mui-col-md-5, .mui-col-md-6, .mui-col-md-7, .mui-col-md-8, .mui-col-md-9, .mui-col-md-10, .mui-col-md-11, .mui-col-md-12 { + float: left; + } + .mui-col-md-1 { + width: 8.33333%; + } + .mui-col-md-2 { + width: 16.66667%; + } + .mui-col-md-3 { + width: 25%; + } + .mui-col-md-4 { + width: 33.33333%; + } + .mui-col-md-5 { + width: 41.66667%; + } + .mui-col-md-6 { + width: 50%; + } + .mui-col-md-7 { + width: 58.33333%; + } + .mui-col-md-8 { + width: 66.66667%; + } + .mui-col-md-9 { + width: 75%; + } + .mui-col-md-10 { + width: 83.33333%; + } + .mui-col-md-11 { + width: 91.66667%; + } + .mui-col-md-12 { + width: 100%; + } + .mui-col-md-offset-0 { + margin-left: 0%; + } + .mui-col-md-offset-1 { + margin-left: 8.33333%; + } + .mui-col-md-offset-2 { + margin-left: 16.66667%; + } + .mui-col-md-offset-3 { + margin-left: 25%; + } + .mui-col-md-offset-4 { + margin-left: 33.33333%; + } + .mui-col-md-offset-5 { + margin-left: 41.66667%; + } + .mui-col-md-offset-6 { + margin-left: 50%; + } + .mui-col-md-offset-7 { + margin-left: 58.33333%; + } + .mui-col-md-offset-8 { + margin-left: 66.66667%; + } + .mui-col-md-offset-9 { + margin-left: 75%; + } + .mui-col-md-offset-10 { + margin-left: 83.33333%; + } + .mui-col-md-offset-11 { + margin-left: 91.66667%; + } + .mui-col-md-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 992px) { + .mui-col-lg-1, .mui-col-lg-2, .mui-col-lg-3, .mui-col-lg-4, .mui-col-lg-5, .mui-col-lg-6, .mui-col-lg-7, .mui-col-lg-8, .mui-col-lg-9, .mui-col-lg-10, .mui-col-lg-11, .mui-col-lg-12 { + float: left; + } + .mui-col-lg-1 { + width: 8.33333%; + } + .mui-col-lg-2 { + width: 16.66667%; + } + .mui-col-lg-3 { + width: 25%; + } + .mui-col-lg-4 { + width: 33.33333%; + } + .mui-col-lg-5 { + width: 41.66667%; + } + .mui-col-lg-6 { + width: 50%; + } + .mui-col-lg-7 { + width: 58.33333%; + } + .mui-col-lg-8 { + width: 66.66667%; + } + .mui-col-lg-9 { + width: 75%; + } + .mui-col-lg-10 { + width: 83.33333%; + } + .mui-col-lg-11 { + width: 91.66667%; + } + .mui-col-lg-12 { + width: 100%; + } + .mui-col-lg-offset-0 { + margin-left: 0%; + } + .mui-col-lg-offset-1 { + margin-left: 8.33333%; + } + .mui-col-lg-offset-2 { + margin-left: 16.66667%; + } + .mui-col-lg-offset-3 { + margin-left: 25%; + } + .mui-col-lg-offset-4 { + margin-left: 33.33333%; + } + .mui-col-lg-offset-5 { + margin-left: 41.66667%; + } + .mui-col-lg-offset-6 { + margin-left: 50%; + } + .mui-col-lg-offset-7 { + margin-left: 58.33333%; + } + .mui-col-lg-offset-8 { + margin-left: 66.66667%; + } + .mui-col-lg-offset-9 { + margin-left: 75%; + } + .mui-col-lg-offset-10 { + margin-left: 83.33333%; + } + .mui-col-lg-offset-11 { + margin-left: 91.66667%; + } + .mui-col-lg-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 1200px) { + .mui-col-xl-1, .mui-col-xl-2, .mui-col-xl-3, .mui-col-xl-4, .mui-col-xl-5, .mui-col-xl-6, .mui-col-xl-7, .mui-col-xl-8, .mui-col-xl-9, .mui-col-xl-10, .mui-col-xl-11, .mui-col-xl-12 { + float: left; + } + .mui-col-xl-1 { + width: 8.33333%; + } + .mui-col-xl-2 { + width: 16.66667%; + } + .mui-col-xl-3 { + width: 25%; + } + .mui-col-xl-4 { + width: 33.33333%; + } + .mui-col-xl-5 { + width: 41.66667%; + } + .mui-col-xl-6 { + width: 50%; + } + .mui-col-xl-7 { + width: 58.33333%; + } + .mui-col-xl-8 { + width: 66.66667%; + } + .mui-col-xl-9 { + width: 75%; + } + .mui-col-xl-10 { + width: 83.33333%; + } + .mui-col-xl-11 { + width: 91.66667%; + } + .mui-col-xl-12 { + width: 100%; + } + .mui-col-xl-offset-0 { + margin-left: 0%; + } + .mui-col-xl-offset-1 { + margin-left: 8.33333%; + } + .mui-col-xl-offset-2 { + margin-left: 16.66667%; + } + .mui-col-xl-offset-3 { + margin-left: 25%; + } + .mui-col-xl-offset-4 { + margin-left: 33.33333%; + } + .mui-col-xl-offset-5 { + margin-left: 41.66667%; + } + .mui-col-xl-offset-6 { + margin-left: 50%; + } + .mui-col-xl-offset-7 { + margin-left: 58.33333%; + } + .mui-col-xl-offset-8 { + margin-left: 66.66667%; + } + .mui-col-xl-offset-9 { + margin-left: 75%; + } + .mui-col-xl-offset-10 { + margin-left: 83.33333%; + } + .mui-col-xl-offset-11 { + margin-left: 91.66667%; + } + .mui-col-xl-offset-12 { + margin-left: 100%; + } +} + +/** + * MUI Panel module + */ +.mui-panel { + padding: 15px; + margin-bottom: 20px; + border-radius: 0; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); +} + +.mui-panel:before, .mui-panel:after { + content: " "; + display: table; +} + +.mui-panel:after { + clear: both; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-panel { + box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.12), -1px 0px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); + } +} + +/** + * MUI Select Component + */ +.mui-select { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-select:focus { + outline: 0; +} + +.mui-select:focus > select { + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + height: 32px; + width: 100%; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + outline: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0px; + box-shadow: none; + background-color: transparent; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg=="); + background-repeat: no-repeat; + background-position: right center; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + padding: 0 25px 0 0; +} + +.mui-select > select::-ms-expand { + display: none; +} + +.mui-select > select:focus { + outline: 0; + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select:disabled { + color: rgba(0, 0, 0, 0.38); + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-select__menu { + position: absolute; + z-index: 2; + min-width: 100%; + overflow-y: auto; + padding: 8px 0; + background-color: #FFF; + font-size: 16px; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-select__menu { + border-left: 1px solid rgba(0, 0, 0, 0.12); + border-top: 1px solid rgba(0, 0, 0, 0.12); + } +} + +.mui-select__menu > div { + padding: 0 22px; + height: 42px; + line-height: 42px; + cursor: pointer; + white-space: nowrap; +} + +.mui-select__menu > div:hover { + background-color: #E0E0E0; +} + +.mui-select__menu > div.mui--is-selected { + background-color: #EEEEEE; +} + +/** + * MUI Table Component + */ +th { + text-align: left; +} + +.mui-table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} + +.mui-table > thead > tr > th, +.mui-table > thead > tr > td, +.mui-table > tbody > tr > th, +.mui-table > tbody > tr > td, +.mui-table > tfoot > tr > th, +.mui-table > tfoot > tr > td { + padding: 10px; + line-height: 1.429; +} + +.mui-table > thead > tr > th { + border-bottom: 2px solid rgba(0, 0, 0, 0.12); + font-weight: 700; +} + +.mui-table > tbody + tbody { + border-top: 2px solid rgba(0, 0, 0, 0.12); +} + +.mui-table.mui-table--bordered > tbody > tr > td { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Tabs module + */ +.mui-tabs__bar { + list-style: none; + padding-left: 0; + margin-bottom: 0; + background-color: transparent; + white-space: nowrap; + overflow-x: auto; +} + +.mui-tabs__bar > li { + display: inline-block; +} + +.mui-tabs__bar > li > a { + display: block; + white-space: nowrap; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + color: rgba(0, 0, 0, 0.87); + cursor: default; + height: 48px; + line-height: 48px; + padding-left: 24px; + padding-right: 24px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-tabs__bar > li > a:hover { + text-decoration: none; +} + +.mui-tabs__bar > li.mui--is-active { + border-bottom: 2px solid #2196F3; +} + +.mui-tabs__bar > li.mui--is-active > a { + color: #2196F3; +} + +.mui-tabs__bar.mui-tabs__bar--justified { + display: table; + width: 100%; + table-layout: fixed; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li { + display: table-cell; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li > a { + text-align: center; + padding-left: 0px; + padding-right: 0px; +} + +.mui-tabs__pane { + display: none; +} + +.mui-tabs__pane.mui--is-active { + display: block; +} + +[data-mui-toggle="tab"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; +} + +/** + * MUI Textfield Component + */ +.mui-textfield { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-textfield > label { + position: absolute; + top: 0; + display: block; + width: 100%; + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + font-weight: 400; + line-height: 15px; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.mui-textfield > textarea { + padding-top: 5px; +} + +.mui-textfield > input, +.mui-textfield > textarea { + display: block; +} + +.mui-textfield > input:focus ~ label, +.mui-textfield > textarea:focus ~ label { + color: #2196F3; +} + +.mui-textfield--float-label > label { + position: absolute; + transform: translate(0px, 15px); + font-size: 16px; + line-height: 32px; + color: rgba(0, 0, 0, 0.26); + text-overflow: clip; + cursor: text; + pointer-events: none; +} + +.mui-textfield--float-label > input:focus ~ label, +.mui-textfield--float-label > textarea:focus ~ label { + transform: translate(0px, 0px); + font-size: 12px; + line-height: 15px; + text-overflow: ellipsis; +} + +.mui-textfield--float-label > input:not(:focus).mui--is-not-empty ~ label, .mui-textfield--float-label > input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield--float-label > input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus).mui--is-not-empty ~ label, +.mui-textfield--float-label > textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + line-height: 15px; + transform: translate(0px, 0px); + text-overflow: ellipsis; +} + +.mui-textfield--wrap-label { + display: table; + width: 100%; + padding-top: 0px; +} + +.mui-textfield--wrap-label:not(.mui-textfield--float-label) > label { + display: table-header-group; + position: static; + white-space: normal; + overflow-x: visible; +} + +.mui-textfield > input, +.mui-textfield > textarea { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + background-color: transparent; + color: rgba(0, 0, 0, 0.87); + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + outline: none; + width: 100%; + font-size: 16px; + padding: 0; + box-shadow: none; + border-radius: 0px; + background-image: none; +} + +.mui-textfield > input:focus, +.mui-textfield > textarea:focus { + border-color: #2196F3; + border-width: 2px; +} + +.mui-textfield > input:disabled, .mui-textfield > input:-moz-read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:-moz-read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input:disabled, .mui-textfield > input:read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input::-webkit-input-placeholder, +.mui-textfield > textarea::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::-moz-placeholder, +.mui-textfield > textarea::-moz-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input:-ms-input-placeholder, +.mui-textfield > textarea:-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::placeholder, +.mui-textfield > textarea::placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input { + height: 32px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > textarea { + min-height: 64px; +} + +.mui-textfield > textarea[rows]:not([rows="2"]):focus { + margin-bottom: -1px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):not(:required), +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + border-color: #F44336; + border-width: 2px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required) ~ label, .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty ~ label, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):not(:required) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty ~ label, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: #F44336; +} + +.mui-textfield:not(.mui-textfield--float-label) > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label { + color: #F44336; +} + +/** + * MUI Helpers module + */ +@keyframes mui-node-inserted { + from { + opacity: 0.99; + } + to { + opacity: 1; + } +} + +.mui--no-transition { + transition: none !important; +} + +.mui--no-user-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} + +.mui--text-left { + text-align: left !important; +} + +.mui--text-right { + text-align: right !important; +} + +.mui--text-center { + text-align: center !important; +} + +.mui--text-justify { + text-align: justify !important; +} + +.mui--text-nowrap { + white-space: nowrap !important; +} + +.mui--align-baseline { + vertical-align: baseline !important; +} + +.mui--align-top { + vertical-align: top !important; +} + +.mui--align-middle { + vertical-align: middle !important; +} + +.mui--align-bottom { + vertical-align: bottom !important; +} + +.mui--text-dark { + color: rgba(0, 0, 0, 0.87); +} + +.mui--text-dark-secondary { + color: rgba(0, 0, 0, 0.54); +} + +.mui--text-dark-hint { + color: rgba(0, 0, 0, 0.38); +} + +.mui--text-light { + color: #FFF; +} + +.mui--text-light-secondary { + color: rgba(255, 255, 255, 0.7); +} + +.mui--text-light-hint { + color: rgba(255, 255, 255, 0.3); +} + +.mui--text-accent { + color: rgba(255, 64, 129, 0.87); +} + +.mui--text-accent-secondary { + color: rgba(255, 64, 129, 0.54); +} + +.mui--text-accent-hint { + color: rgba(255, 64, 129, 0.38); +} + +.mui--text-black { + color: #000; +} + +.mui--text-white { + color: #FFF; +} + +.mui--text-danger { + color: #F44336; +} + +.mui-list--unstyled { + padding-left: 0; + list-style: none; +} + +.mui-list--inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} + +.mui-list--inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} + +.mui--z1, .mui-dropdown__menu, .mui-select__menu { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); +} + +.mui--z2 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z3 { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z4 { + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} + +.mui--z5 { + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); +} + +.mui--clearfix:before, .mui--clearfix:after { + content: " "; + display: table; +} + +.mui--clearfix:after { + clear: both; +} + +.mui--pull-right { + float: right !important; +} + +.mui--pull-left { + float: left !important; +} + +.mui--hide { + display: none !important; +} + +.mui--show { + display: block !important; +} + +.mui--invisible { + visibility: hidden; +} + +.mui--overflow-hidden { + overflow: hidden !important; +} + +.mui--overflow-hidden-x { + overflow-x: hidden !important; +} + +.mui--overflow-hidden-y { + overflow-y: hidden !important; +} + +.mui--visible-xs-block, +.mui--visible-xs-inline, +.mui--visible-xs-inline-block, +.mui--visible-sm-block, +.mui--visible-sm-inline, +.mui--visible-sm-inline-block, +.mui--visible-md-block, +.mui--visible-md-inline, +.mui--visible-md-inline-block, +.mui--visible-lg-block, +.mui--visible-lg-inline, +.mui--visible-lg-inline-block, +.mui--visible-xl-block, +.mui--visible-xl-inline, +.mui--visible-xl-inline-block { + display: none !important; +} + +@media (max-width: 543px) { + .mui-visible-xs { + display: block !important; + } + table.mui-visible-xs { + display: table; + } + tr.mui-visible-xs { + display: table-row !important; + } + th.mui-visible-xs, + td.mui-visible-xs { + display: table-cell !important; + } + .mui--visible-xs-block { + display: block !important; + } + .mui--visible-xs-inline { + display: inline !important; + } + .mui--visible-xs-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui-visible-sm { + display: block !important; + } + table.mui-visible-sm { + display: table; + } + tr.mui-visible-sm { + display: table-row !important; + } + th.mui-visible-sm, + td.mui-visible-sm { + display: table-cell !important; + } + .mui--visible-sm-block { + display: block !important; + } + .mui--visible-sm-inline { + display: inline !important; + } + .mui--visible-sm-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui-visible-md { + display: block !important; + } + table.mui-visible-md { + display: table; + } + tr.mui-visible-md { + display: table-row !important; + } + th.mui-visible-md, + td.mui-visible-md { + display: table-cell !important; + } + .mui--visible-md-block { + display: block !important; + } + .mui--visible-md-inline { + display: inline !important; + } + .mui--visible-md-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui-visible-lg { + display: block !important; + } + table.mui-visible-lg { + display: table; + } + tr.mui-visible-lg { + display: table-row !important; + } + th.mui-visible-lg, + td.mui-visible-lg { + display: table-cell !important; + } + .mui--visible-lg-block { + display: block !important; + } + .mui--visible-lg-inline { + display: inline !important; + } + .mui--visible-lg-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 1200px) { + .mui-visible-xl { + display: block !important; + } + table.mui-visible-xl { + display: table; + } + tr.mui-visible-xl { + display: table-row !important; + } + th.mui-visible-xl, + td.mui-visible-xl { + display: table-cell !important; + } + .mui--visible-xl-block { + display: block !important; + } + .mui--visible-xl-inline { + display: inline !important; + } + .mui--visible-xl-inline-block { + display: inline-block !important; + } +} + +@media (max-width: 543px) { + .mui--hidden-xs { + display: none !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui--hidden-sm { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui--hidden-md { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui--hidden-lg { + display: none !important; + } +} + +@media (min-width: 1200px) { + .mui--hidden-xl { + display: none !important; + } +} + +body.mui-body--scroll-lock { + overflow: hidden !important; +} + +/** + * MUI Overlay module + */ +#mui-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 99999999; + background-color: rgba(0, 0, 0, 0.2); + overflow: auto; +} + +/** + * MUI Ripple module + */ +.mui-ripple-effect { + position: absolute; + border-radius: 50%; + pointer-events: none; + opacity: 0; + animation: mui-ripple-animation 2s; +} + +@keyframes mui-ripple-animation { + from { + transform: scale(1); + opacity: 0.4; + } + to { + transform: scale(100); + opacity: 0; + } +} + +.mui-btn > .mui-ripple-effect { + background-color: #a6a6a6; +} + +.mui-btn--primary > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--dark > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--danger > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--accent > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--flat > .mui-ripple-effect { + background-color: #a6a6a6; +} + +/** + * MUI Typography module + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; +} + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; +} + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; +} + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; +} + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; +} + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; +} + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; +} + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; +} + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; +} + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; +} + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; +} + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; +} diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.min.css b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.min.css new file mode 100644 index 0000000..750f365 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/css/mui.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase} \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.js new file mode 100644 index 0000000..1d101ee --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.js @@ -0,0 +1,1809 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o viewHeight) { + scrollIdeal = (menuPadding + (currentIndex + 1) * optionHeight) - + (-1 * top + wrapperPadding + inputHeight); + scrollMax = numOptions * optionHeight + 2 * menuPadding - height; + scrollTop = Math.min(scrollIdeal, scrollMax); + } + + return { + 'height': height + 'px', + 'top': top + 'px', + 'scrollTop': scrollTop + }; +} + + +/** Define module API */ +module.exports = { + getMenuPositionalCSS: getMenuPositionalCSSFn +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS jqLite module + * @module lib/jqLite + */ + +'use strict'; + + +/** + * Add a class to an element. + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteAddClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { + existingClasses += cssClass + ' '; + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +/** + * Get or set CSS properties. + * @param {Element} element - The DOM element. + * @param {string} [name] - The property name. + * @param {string} [value] - The property value. + */ +function jqLiteCss(element, name, value) { + // Return full style object + if (name === undefined) { + return getComputedStyle(element); + } + + var nameType = jqLiteType(name); + + // Set multiple values + if (nameType === 'object') { + for (var key in name) element.style[_camelCase(key)] = name[key]; + return; + } + + // Set a single value + if (nameType === 'string' && value !== undefined) { + element.style[_camelCase(name)] = value; + } + + var styleObj = getComputedStyle(element), + isArray = (jqLiteType(name) === 'array'); + + // Read single value + if (!isArray) return _getCurrCssProp(element, name, styleObj); + + // Read multiple values + var outObj = {}, + key; + + for (var i=0; i < name.length; i++) { + key = name[i]; + outObj[key] = _getCurrCssProp(element, key, styleObj); + } + + return outObj; +} + + +/** + * Check if element has class. + * @param {Element} element - The DOM element. + * @param {string} cls - The class name string. + */ +function jqLiteHasClass(element, cls) { + if (!cls || !element.getAttribute) return false; + return (_getExistingClasses(element).indexOf(' ' + cls + ' ') > -1); +} + + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || + (args[0] === callback && args[1] === useCapture)) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win)); + else element.scrollLeft = value; +} + + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value); + else element.scrollTop = value; +} + + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function() { + try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { top = !win.frameElement; } catch(e) { } + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +} + + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + + +function _camelCase(name) { + return name. + replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }). + replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],5:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || + doc.getElementsByTagName('head')[0] || + doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText; + else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i=nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += (classes[i]) ? i + ' ' : ''; + } + return cs.trim(); +} + + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = (element.style.pointerEvents === 'auto'); + return _supportsPointerEvents; +} + + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function() {instance[funcName].apply(instance, arguments);}; +} + + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = (bubbles !== undefined) ? bubbles : true, + cancelable = (cancelable !== undefined) ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) ev[k] = data[k]; + + // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1 + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = {left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win)}; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1 + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":4}],6:[function(require,module,exports){ +/** + * MUI CSS/JS dropdown module + * @module dropdowns + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[data-mui-toggle="dropdown"]', + openClass = 'mui--is-open', + menuClass = 'mui-dropdown__menu'; + + +/** + * Initialize toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiDropdown === true) return; + else toggleEl._muiDropdown = true; + + // use type "button" to prevent form submission by default + if (!toggleEl.hasAttribute('type')) toggleEl.type = 'button'; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle click events on dropdown toggle element. + * @param {Event} ev - The DOM event + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle button is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + // toggle dropdown + toggleDropdown(toggleEl); +} + + +/** + * Toggle the dropdown. + * @param {Element} toggleEl - The dropdown toggle element. + */ +function toggleDropdown(toggleEl) { + var wrapperEl = toggleEl.parentNode, + menuEl = toggleEl.nextElementSibling, + doc = wrapperEl.ownerDocument; + + // exit if no menu element + if (!menuEl || !jqLite.hasClass(menuEl, menuClass)) { + return util.raiseError('Dropdown menu element not found'); + } + + // method to close dropdown + function closeDropdownFn() { + jqLite.removeClass(menuEl, openClass); + + // remove event handlers + jqLite.off(doc, 'click', closeDropdownFn); + } + + // method to open dropdown + function openDropdownFn() { + // position menu element below toggle button + var wrapperRect = wrapperEl.getBoundingClientRect(), + toggleRect = toggleEl.getBoundingClientRect(); + + var top = toggleRect.top - wrapperRect.top + toggleRect.height; + jqLite.css(menuEl, 'top', top + 'px'); + + // add open class to wrapper + jqLite.addClass(menuEl, openClass); + + // close dropdown when user clicks outside of menu + setTimeout(function() {jqLite.on(doc, 'click', closeDropdownFn);}, 0); + } + + // toggle dropdown + if (jqLite.hasClass(menuEl, openClass)) closeDropdownFn(); + else openDropdownFn(); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'dropdown') initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],7:[function(require,module,exports){ +module.exports=require(4) +},{}],8:[function(require,module,exports){ +/** + * MUI CSS/JS overlay module + * @module overlay + */ + +'use strict'; + + +var util = require('./lib/util'), + jqLite = require('./lib/jqLite'), + overlayId = 'mui-overlay', + bodyClass = 'mui--overflow-hidden', + iosRegex = /(iPad|iPhone|iPod)/g; + + +/** + * Turn overlay on/off. + * @param {string} action - Turn overlay "on"/"off". + * @param {object} [options] + * @config {boolean} [keyboard] - If true, close when escape key is pressed. + * @config {boolean} [static] - If false, close when backdrop is clicked. + * @config {Function} [onclose] - Callback function to execute on close + * @param {Element} [childElement] - Child element to add to overlay. + */ +function overlayFn(action) { + var overlayEl; + + if (action === 'on') { + // extract arguments + var arg, options, childElement; + + // pull options and childElement from arguments + for (var i=arguments.length - 1; i > 0; i--) { + arg = arguments[i]; + + if (jqLite.type(arg) === 'object') options = arg; + if (arg instanceof Element && arg.nodeType === 1) childElement = arg; + } + + // option defaults + options = options || {}; + if (options.keyboard === undefined) options.keyboard = true; + if (options.static === undefined) options.static = false; + + // execute method + overlayEl = overlayOn(options, childElement); + + } else if (action === 'off') { + overlayEl = overlayOff(); + + } else { + // raise error + util.raiseError("Expecting 'on' or 'off'"); + } + + return overlayEl; +} + + +/** + * Turn on overlay. + * @param {object} options - Overlay options. + * @param {Element} childElement - The child element. + */ +function overlayOn(options, childElement) { + var bodyEl = document.body, + overlayEl = document.getElementById(overlayId); + + // add overlay + util.enableScrollLock(); + //jqLite.addClass(bodyEl, bodyClass); + + if (!overlayEl) { + // create overlayEl + overlayEl = document.createElement('div'); + overlayEl.setAttribute('id', overlayId); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + + bodyEl.appendChild(overlayEl); + + } else { + // remove existing children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + } + + // iOS bugfix + if (iosRegex.test(navigator.userAgent)) { + jqLite.css(overlayEl, 'cursor', 'pointer'); + } + + // handle options + if (options.keyboard) addKeyupHandler(); + else removeKeyupHandler(); + + if (options.static) removeClickHandler(overlayEl); + else addClickHandler(overlayEl); + + // attach options + overlayEl.muiOptions = options; + + return overlayEl; +} + + +/** + * Turn off overlay. + */ +function overlayOff() { + var overlayEl = document.getElementById(overlayId), + callbackFn; + + if (overlayEl) { + // remove children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // remove overlay element + overlayEl.parentNode.removeChild(overlayEl); + + // callback reference + callbackFn = overlayEl.muiOptions.onclose; + + // remove click handler + removeClickHandler(overlayEl); + } + + util.disableScrollLock(); + + // remove keyup handler + removeKeyupHandler(); + + // execute callback + if (callbackFn) callbackFn(); + + return overlayEl; +} + + +/** + * Add keyup handler. + */ +function addKeyupHandler() { + jqLite.on(document, 'keyup', onKeyup); +} + + +/** + * Remove keyup handler. + */ +function removeKeyupHandler() { + jqLite.off(document, 'keyup', onKeyup); +} + + +/** + * Teardown overlay when escape key is pressed. + */ +function onKeyup(ev) { + if (ev.keyCode === 27) overlayOff(); +} + + +/** + * Add click handler. + */ +function addClickHandler(overlayEl) { + jqLite.on(overlayEl, 'click', onClick); +} + + +/** + * Remove click handler. + */ +function removeClickHandler(overlayEl) { + jqLite.off(overlayEl, 'click', onClick); +} + + +/** + * Teardown overlay when backdrop is clicked. + */ +function onClick(ev) { + if (ev.target.id === overlayId) overlayOff(); +} + + +/** Define module API */ +module.exports = overlayFn; + +},{"./lib/jqLite":4,"./lib/util":5}],9:[function(require,module,exports){ +/** + * MUI CSS/JS ripple module + * @module ripple + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + btnClass = 'mui-btn', + btnFABClass = 'mui-btn--fab', + rippleClass = 'mui-ripple-effect', + animationName = 'mui-btn-inserted'; + + +/** + * Add ripple effects to button element. + * @param {Element} buttonEl - The button element. + */ +function initialize(buttonEl) { + // check flag + if (buttonEl._muiRipple === true) return; + else buttonEl._muiRipple = true; + + // exit if element is INPUT (doesn't support absolute positioned children) + if (buttonEl.tagName === 'INPUT') return; + + // attach event handler + jqLite.on(buttonEl, 'touchstart', eventHandler); + jqLite.on(buttonEl, 'mousedown', eventHandler); +} + + +/** + * Event handler + * @param {Event} ev - The DOM event + */ +function eventHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var buttonEl = this; + + // exit if button is disabled + if (buttonEl.disabled === true) return; + + // de-dupe touchstart and mousedown with 100msec flag + if (buttonEl.touchFlag === true) { + return; + } else { + buttonEl.touchFlag = true; + setTimeout(function() { + buttonEl.touchFlag = false; + }, 100); + } + + var rippleEl = document.createElement('div'); + rippleEl.className = rippleClass; + + var offset = jqLite.offset(buttonEl), + xPos = ev.pageX - offset.left, + yPos = ev.pageY - offset.top, + diameter, + radius; + + // get height + if (jqLite.hasClass(buttonEl, btnFABClass)) diameter = offset.height / 2; + else diameter = offset.height; + + radius = diameter / 2; + + jqLite.css(rippleEl, { + height: diameter + 'px', + width: diameter + 'px', + top: yPos - radius + 'px', + left: xPos - radius + 'px' + }); + + buttonEl.appendChild(rippleEl); + + window.setTimeout(function() { + var parentNode = rippleEl.parentNode; + if (parentNode) parentNode.removeChild(rippleEl); + }, 2000); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.getElementsByClassName(btnClass); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (jqLite.hasClass(el, btnClass)) initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],10:[function(require,module,exports){ +/** + * MUI CSS/JS select module + * @module forms/select + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + formlib = require('./lib/forms'), + wrapperClass = 'mui-select', + cssSelector = '.mui-select > select', + menuClass = 'mui-select__menu', + selectedClass = 'mui--is-selected', + doc = document, + win = window; + + +/** + * Initialize select element. + * @param {Element} selectEl - The select element. + */ +function initialize(selectEl) { + // check flag + if (selectEl._muiSelect === true) return; + else selectEl._muiSelect = true; + + // use default behavior on touch devices + if ('ontouchstart' in doc.documentElement) return; + + // initialize element + new Select(selectEl); +} + + +/** + * Creates a new Select object + * @class + */ +function Select(selectEl) { + // instance variables + this.selectEl = selectEl; + this.wrapperEl = selectEl.parentNode; + this.useDefault = false; // currently unused but let's keep just in case + + // attach event handlers + jqLite.on(selectEl, 'mousedown', util.callback(this, 'mousedownHandler')); + jqLite.on(selectEl, 'focus', util.callback(this, 'focusHandler')); + jqLite.on(selectEl, 'click', util.callback(this, 'clickHandler')); + + // make wrapper focusable and fix firefox bug + this.wrapperEl.tabIndex = -1; + var callbackFn = util.callback(this, 'wrapperFocusHandler'); + jqLite.on(this.wrapperEl, 'focus', callbackFn); +} + + +/** + * Disable default dropdown on mousedown. + * @param {Event} ev - The DOM event + */ +Select.prototype.mousedownHandler = function(ev) { + if (ev.button !== 0 || this.useDefault === true) return; + ev.preventDefault(); +} + + +/** + * Handle focus event on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.focusHandler = function(ev) { + // check flag + if (this.useDefault === true) return; + + var selectEl = this.selectEl, + wrapperEl = this.wrapperEl, + origIndex = selectEl.tabIndex, + keydownFn = util.callback(this, 'keydownHandler'); + + // attach keydown handler + jqLite.on(doc, 'keydown', keydownFn); + + // disable tabfocus once + selectEl.tabIndex = -1; + jqLite.one(wrapperEl, 'blur', function() { + selectEl.tabIndex = origIndex; + jqLite.off(doc, 'keydown', keydownFn); + }); + + // defer focus to parent + wrapperEl.focus(); +} + + +/** + * Handle keydown events on doc + **/ +Select.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // spacebar, down, up + if (keyCode === 32 || keyCode === 38 || keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.selectEl.disabled !== true) this.renderMenu(); + } +} + + +/** + * Handle focus event on wrapper element. + */ +Select.prototype.wrapperFocusHandler = function() { + // firefox bugfix + if (this.selectEl.disabled) return this.wrapperEl.blur(); +} + + +/** + * Handle click events on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.clickHandler = function(ev) { + // only left clicks + if (ev.button !== 0) return; + this.renderMenu(); +} + + +/** + * Render options dropdown. + */ +Select.prototype.renderMenu = function() { + // check and reset flag + if (this.useDefault === true) return this.useDefault = false; + + new Menu(this.wrapperEl, this.selectEl); +} + + +/** + * Creates a new Menu + * @class + */ +function Menu(wrapperEl, selectEl) { + // add scroll lock + util.enableScrollLock(); + + // instance variables + this.origIndex = null; + this.currentIndex = null; + this.selectEl = selectEl; + this.menuEl = this._createMenuEl(wrapperEl, selectEl); + this.clickCallbackFn = util.callback(this, 'clickHandler'); + this.keydownCallbackFn = util.callback(this, 'keydownHandler'); + this.destroyCallbackFn = util.callback(this, 'destroy'); + + // add to DOM + wrapperEl.appendChild(this.menuEl); + jqLite.scrollTop(this.menuEl, this.menuEl._muiScrollTop); + + // blur active element + setTimeout(function() { + // ie10 bugfix + if (doc.activeElement.nodeName.toLowerCase() !== "body") { + doc.activeElement.blur(); + } + }, 0); + + // attach event handlers + jqLite.on(this.menuEl, 'click', this.clickCallbackFn); + jqLite.on(doc, 'keydown', this.keydownCallbackFn); + jqLite.on(win, 'resize', this.destroyCallbackFn); + + // attach event handler after current event loop exits + var fn = this.destroyCallbackFn; + setTimeout(function() {jqLite.on(doc, 'click', fn);}, 0); +} + + +/** + * Create menu element + * @param {Element} selectEl - The select element + */ +Menu.prototype._createMenuEl = function(wrapperEl, selectEl) { + var menuEl = doc.createElement('div'), + optionEls = selectEl.children, + numOptions = optionEls.length, + selectedPos = 0, + optionEl, + itemEl, + i; + + menuEl.className = menuClass; + + // add options + for (i=0; i < numOptions; i++) { + optionEl = optionEls[i]; + + itemEl = doc.createElement('div'); + itemEl.textContent = optionEl.textContent; + itemEl._muiPos = i; + + if (optionEl.selected) { + itemEl.setAttribute('class', selectedClass); + selectedPos = i; + } + + menuEl.appendChild(itemEl); + } + + // save indices + this.origIndex = selectedPos; + this.currentIndex = selectedPos; + + // set position + var props = formlib.getMenuPositionalCSS( + wrapperEl, + numOptions, + selectedPos + ); + + jqLite.css(menuEl, props); + menuEl._muiScrollTop = props.scrollTop; + + return menuEl; +} + + +/** + * Handle keydown events on doc element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) { + this.destroy(); + } else if (keyCode === 40) { + this.increment(); + } else if (keyCode === 38) { + this.decrement(); + } else if (keyCode === 13) { + this.selectCurrent(); + this.destroy(); + } +} + + +/** + * Handle click events on menu element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.clickHandler = function(ev) { + // don't allow events to bubble + ev.stopPropagation(); + + var pos = ev.target._muiPos; + + // ignore clicks on non-items + if (pos === undefined) return; + + // select option + this.currentIndex = pos; + this.selectCurrent(); + + // destroy menu + this.destroy(); +} + + +/** + * Increment selected item + */ +Menu.prototype.increment = function() { + if (this.currentIndex === this.menuEl.children.length - 1) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex += 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Decrement selected item + */ +Menu.prototype.decrement = function() { + if (this.currentIndex === 0) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex -= 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Select current item + */ +Menu.prototype.selectCurrent = function() { + if (this.currentIndex !== this.origIndex) { + var optionEls = this.selectEl.children; + optionEls[this.origIndex].selected = false; + optionEls[this.currentIndex].selected = true; + + // trigger change event + util.dispatchEvent(this.selectEl, 'change'); + } +} + + +/** + * Destroy menu and detach event handlers + */ +Menu.prototype.destroy = function() { + // remove element and focus element + var parentNode = this.menuEl.parentNode; + if (parentNode) parentNode.removeChild(this.menuEl); + + this.selectEl.focus(); + + // remove scroll lock + util.disableScrollLock(); + + // remove event handlers + jqLite.off(this.menuEl, 'click', this.clickCallbackFn); + jqLite.off(doc, 'keydown', this.keydownCallbackFn); + jqLite.off(doc, 'click', this.destroyCallbackFn); + jqLite.off(win, 'resize', this.destroyCallbackFn); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'SELECT' && + jqLite.hasClass(el.parentNode, wrapperClass)) { + initialize(el); + } + }); + } +}; + +},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(require,module,exports){ +/** + * MUI CSS/JS tabs module + * @module tabs + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[' + attrKey + '="tab"]', + controlsAttrKey = 'data-mui-controls', + activeClass = 'mui--is-active', + showstartKey = 'mui.tabs.showstart', + showendKey = 'mui.tabs.showend', + hidestartKey = 'mui.tabs.hidestart', + hideendKey = 'mui.tabs.hideend'; + + +/** + * Initialize the toggle element + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiTabs === true) return; + else toggleEl._muiTabs = true; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle clicks on the toggle element. + * @param {Event} ev - The DOM event. + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle element is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + activateTab(toggleEl); +} + + +/** + * Activate the tab controlled by the toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function activateTab(currToggleEl) { + var currTabEl = currToggleEl.parentNode, + currPaneId = currToggleEl.getAttribute(controlsAttrKey), + currPaneEl = document.getElementById(currPaneId), + prevTabEl, + prevPaneEl, + prevPaneId, + prevToggleEl, + currData, + prevData, + ev1, + ev2, + cssSelector; + + // exit if already active + if (jqLite.hasClass(currTabEl, activeClass)) return; + + // raise error if pane doesn't exist + if (!currPaneEl) util.raiseError('Tab pane "' + currPaneId + '" not found'); + + // get previous pane + prevPaneEl = getActiveSibling(currPaneEl); + prevPaneId = prevPaneEl.id; + + // get previous toggle and tab elements + cssSelector = '[' + controlsAttrKey + '="' + prevPaneId + '"]'; + prevToggleEl = document.querySelectorAll(cssSelector)[0]; + prevTabEl = prevToggleEl.parentNode; + + // define event data + currData = {paneId: currPaneId, relatedPaneId: prevPaneId}; + prevData = {paneId: prevPaneId, relatedPaneId: currPaneId}; + + // dispatch 'hidestart', 'showstart' events + ev1 = util.dispatchEvent(prevToggleEl, hidestartKey, true, true, prevData); + ev2 = util.dispatchEvent(currToggleEl, showstartKey, true, true, currData); + + // let events bubble + setTimeout(function() { + // exit if either event was canceled + if (ev1.defaultPrevented || ev2.defaultPrevented) return; + + // de-activate previous + if (prevTabEl) jqLite.removeClass(prevTabEl, activeClass); + if (prevPaneEl) jqLite.removeClass(prevPaneEl, activeClass); + + // activate current + jqLite.addClass(currTabEl, activeClass); + jqLite.addClass(currPaneEl, activeClass); + + // dispatch 'hideend', 'showend' events + util.dispatchEvent(prevToggleEl, hideendKey, true, false, prevData); + util.dispatchEvent(currToggleEl, showendKey, true, false, currData); + }, 0); +} + + +/** + * Get previous active sibling. + * @param {Element} el - The anchor element. + */ +function getActiveSibling(el) { + var elList = el.parentNode.children, + q = elList.length, + activeEl = null, + tmpEl; + + while (q-- && !activeEl) { + tmpEl = elList[q]; + if (tmpEl !== el && jqLite.hasClass(tmpEl, activeClass)) activeEl = tmpEl + } + + return activeEl; +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = document.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // TODO: listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'tab') initialize(el); + }); + }, + + /** External API */ + api: { + activate: function(paneId) { + var cssSelector = '[' + controlsAttrKey + '=' + paneId + ']', + toggleEl = document.querySelectorAll(cssSelector); + + if (!toggleEl.length) { + util.raiseError('Tab control for pane "' + paneId + '" not found'); + } + + activateTab(toggleEl[0]); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],12:[function(require,module,exports){ +/** + * MUI CSS/JS form-control module + * @module forms/form-control + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + cssSelector = '.mui-textfield > input, .mui-textfield > textarea', + emptyClass = 'mui--is-empty', + notEmptyClass = 'mui--is-not-empty', + dirtyClass = 'mui--is-dirty', + floatingLabelClass = 'mui-textfield--float-label'; + + +/** + * Initialize input element. + * @param {Element} inputEl - The input element. + */ +function initialize(inputEl) { + // check flag + if (inputEl._muiTextfield === true) return; + else inputEl._muiTextfield = true; + + if (inputEl.value.length) jqLite.addClass(inputEl, notEmptyClass); + else jqLite.addClass(inputEl, emptyClass); + + jqLite.on(inputEl, 'input', inputHandler); + jqLite.on(inputEl, 'change', inputHandler); + + // add dirty class on focus + jqLite.on(inputEl, 'focus', function(){jqLite.addClass(this, dirtyClass);}); +} + + +/** + * Handle input events. + */ +function inputHandler() { + var inputEl = this; + + if (inputEl.value.length) { + jqLite.removeClass(inputEl, emptyClass); + jqLite.addClass(inputEl, notEmptyClass); + } else { + jqLite.removeClass(inputEl, notEmptyClass); + jqLite.addClass(inputEl, emptyClass) + } + + jqLite.addClass(inputEl, dirtyClass); +} + + +/** Define module API */ +module.exports = { + /** Initialize input elements */ + initialize: initialize, + + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') initialize(el); + }); + + // add transition css for floating labels + setTimeout(function() { + var css = '.mui-textfield.mui-textfield--float-label > label {' + [ + '-webkit-transition', + '-moz-transition', + '-o-transition', + 'transition', + '' + ].join(':all .15s ease-out;') + '}'; + + util.loadStyle(css); + }, 150); + + // pointer-events shim for floating labels + if (util.supportsPointerEvents() === false) { + jqLite.on(document, 'click', function(ev) { + var targetEl = ev.target; + + if (targetEl.tagName === 'LABEL' && + jqLite.hasClass(targetEl.parentNode, floatingLabelClass)) { + var inputEl = targetEl.previousElementSibling; + if (inputEl) inputEl.focus(); + } + }); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.min.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.min.js new file mode 100644 index 0000000..833d99c --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/lib/js/mui.min.js @@ -0,0 +1 @@ +!function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var a="function"==typeof require&&require;if(!s&&a)return a(l,!0);if(r)return r(l,!0);throw new Error("Cannot find module '"+l+"'")}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){var n=t[l][1][e];return o(n?n:e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var r="function"==typeof require&&require,l=0;ld&&(h=s+(n+1)*l-(-1*i+o+r),m=t*l+2*s-p,v=Math.min(h,m)),{height:p+"px",top:i+"px",scrollTop:v}}var o=15,r=32,l=42,s=8;t.exports={getMenuPositionalCSS:i}},{}],4:[function(e,t,n){"use strict";function i(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r-1:!1}function l(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function s(e,t,n,i){i=void 0===i?!1:i,e.addEventListener(t,n,i);var o=e._muiEventCache=e._muiEventCache||{};o[t]=o[t]||[],o[t].push([n,i])}function a(e,t,n,i){i=void 0===i?!1:i;var o,r,l=e._muiEventCache=e._muiEventCache||{},s=l[t]||[];for(r=s.length;r--;)o=s[r],(void 0===n||o[0]===n&&o[1]===i)&&(s.splice(r,1),e.removeEventListener(t,o[0],o[1]))}function c(e,t,n,i){s(e,t,function o(i){n&&n.apply(this,arguments),a(e,t,o)},i)}function u(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageXOffset||i.scrollLeft)-(i.clientLeft||0)}return e.scrollLeft}e===n?n.scrollTo(t,d(n)):e.scrollLeft=t}function d(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageYOffset||i.scrollTop)-(i.clientTop||0)}return e.scrollTop}e===n?n.scrollTo(u(n),t):e.scrollTop=t}function f(e){var t=window,n=e.getBoundingClientRect(),i=d(t),o=u(t);return{top:n.top+i,left:n.left+o,height:n.height,width:n.width}}function p(e){var t=!1,n=!0,i=document,o=i.defaultView,r=i.documentElement,l=i.addEventListener?"addEventListener":"attachEvent",s=i.addEventListener?"removeEventListener":"detachEvent",a=i.addEventListener?"":"on",c=function(n){"readystatechange"==n.type&&"complete"!=i.readyState||(("load"==n.type?o:i)[s](a+n.type,c,!1),!t&&(t=!0)&&e.call(o,n.type||n))},u=function(){try{r.doScroll("left")}catch(e){return void setTimeout(u,50)}c("poll")};if("complete"==i.readyState)e.call(o,"lazy");else{if(i.createEventObject&&r.doScroll){try{n=!o.frameElement}catch(d){}n&&u()}i[l](a+"DOMContentLoaded",c,!1),i[l](a+"readystatechange",c,!1),o[l](a+"load",c,!1)}}function h(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r=0;)i=i.replace(" "+n+" "," ");e.setAttribute("class",i.trim())}}function m(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function v(e){return e.replace(g,function(e,t,n,i){return i?n.toUpperCase():n}).replace(E,"Moz$1")}function b(e,t,n){var i;return i=n.getPropertyValue(t),""!==i||e.ownerDocument||(i=e.style[v(t)]),i}var y,g=/([\:\-\_]+(.))/g,E=/^moz([A-Z])/;y={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:i,css:o,hasClass:r,off:a,offset:f,on:s,one:c,ready:p,removeClass:h,type:l,scrollLeft:u,scrollTop:d}},{}],5:[function(e,t,n){"use strict";function i(){var e=window;if(v.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var n=Array.prototype.slice.call(arguments);e.console.log(n.join("\n"))}}function o(e){var t,n=document;t=n.head||n.getElementsByTagName("head")[0]||n.documentElement;var i=n.createElement("style");return i.type="text/css",i.styleSheet?i.styleSheet.cssText=e:i.appendChild(n.createTextNode(e)),t.insertBefore(i,t.firstChild),i}function r(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function l(e){if(y.push(e),void 0===y._initialized){var t=document;b.on(t,"animationstart",s),b.on(t,"mozAnimationStart",s),b.on(t,"webkitAnimationStart",s),y._initialized=!0}}function s(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,n=y.length-1;n>=0;n--)y[n](t)}function a(e){var t="";for(var n in e)t+=e[n]?n+" ":"";return t.trim()}function c(){if(void 0!==m)return m;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",m="auto"===e.style.pointerEvents}function u(e,t){return function(){e[t].apply(e,arguments)}}function d(e,t,n,i,o){var r,l=document.createEvent("HTMLEvents"),n=void 0!==n?n:!0,i=void 0!==i?i:!0;if(l.initEvent(t,n,i),o)for(r in o)l[r]=o[r];return e&&e.dispatchEvent(l),l}function f(){if(g+=1,1===g){var e=window,t=document;h={left:b.scrollLeft(e),top:b.scrollTop(e)},b.addClass(t.body,E),e.scrollTo(h.left,h.top)}}function p(){if(0!==g&&(g-=1,0===g)){var e=window,t=document;b.removeClass(t.body,E),e.scrollTo(h.left,h.top)}}var h,m,v=e("../config"),b=e("./jqLite"),y=[],g=0,E="mui-body--scroll-lock";t.exports={callback:u,classNames:a,disableScrollLock:p,dispatchEvent:d,enableScrollLock:f,log:i,loadStyle:o,onNodeInserted:l,raiseError:r,supportsPointerEvents:c}},{"../config":2,"./jqLite":4}],6:[function(e,t,n){"use strict";function i(e){e._muiDropdown!==!0&&(e._muiDropdown=!0,e.hasAttribute("type")||(e.type="button"),l.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){function t(){l.removeClass(o,u),l.off(r,"click",t)}function n(){var n=i.getBoundingClientRect(),s=e.getBoundingClientRect(),a=s.top-n.top+s.height;l.css(o,"top",a+"px"),l.addClass(o,u),setTimeout(function(){l.on(r,"click",t)},0)}var i=e.parentNode,o=e.nextElementSibling,r=i.ownerDocument;return o&&l.hasClass(o,d)?void(l.hasClass(o,u)?t():n()):s.raiseError("Dropdown menu element not found")}var l=e("./lib/jqLite"),s=e("./lib/util"),a="data-mui-toggle",c='[data-mui-toggle="dropdown"]',u="mui--is-open",d="mui-dropdown__menu";t.exports={initListeners:function(){for(var e=document,t=e.querySelectorAll(c),n=t.length-1;n>=0;n--)i(t[n]);s.onNodeInserted(function(e){"dropdown"===e.getAttribute(a)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],7:[function(e,t,n){t.exports=e(4)},{}],8:[function(e,t,n){"use strict";function i(e){var t;if("on"===e){for(var n,i,l,s=arguments.length-1;s>0;s--)n=arguments[s],"object"===p.type(n)&&(i=n),n instanceof Element&&1===n.nodeType&&(l=n);i=i||{},void 0===i.keyboard&&(i.keyboard=!0),void 0===i["static"]&&(i["static"]=!1),t=o(i,l)}else"off"===e?t=r():f.raiseError("Expecting 'on' or 'off'");return t}function o(e,t){var n=document.body,i=document.getElementById(h);if(f.enableScrollLock(),i){for(;i.firstChild;)i.removeChild(i.firstChild);t&&i.appendChild(t)}else i=document.createElement("div"),i.setAttribute("id",h),t&&i.appendChild(t),n.appendChild(i);return m.test(navigator.userAgent)&&p.css(i,"cursor","pointer"),e.keyboard?l():s(),e["static"]?u(i):c(i),i.muiOptions=e,i}function r(){var e,t=document.getElementById(h);if(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.parentNode.removeChild(t),e=t.muiOptions.onclose,u(t)}return f.disableScrollLock(),s(),e&&e(),t}function l(){p.on(document,"keyup",a)}function s(){p.off(document,"keyup",a)}function a(e){27===e.keyCode&&r()}function c(e){p.on(e,"click",d)}function u(e){p.off(e,"click",d)}function d(e){e.target.id===h&&r()}var f=e("./lib/util"),p=e("./lib/jqLite"),h="mui-overlay",m=/(iPad|iPhone|iPod)/g;t.exports=i},{"./lib/jqLite":4,"./lib/util":5}],9:[function(e,t,n){"use strict";function i(e){e._muiRipple!==!0&&(e._muiRipple=!0,"INPUT"!==e.tagName&&(r.on(e,"touchstart",o),r.on(e,"mousedown",o)))}function o(e){if(0===e.button){var t=this;if(t.disabled!==!0&&t.touchFlag!==!0){t.touchFlag=!0,setTimeout(function(){t.touchFlag=!1},100);var n=document.createElement("div");n.className=c;var i,o,l=r.offset(t),s=e.pageX-l.left,u=e.pageY-l.top;i=r.hasClass(t,a)?l.height/2:l.height,o=i/2,r.css(n,{height:i+"px",width:i+"px",top:u-o+"px",left:s-o+"px"}),t.appendChild(n),window.setTimeout(function(){var e=n.parentNode;e&&e.removeChild(n)},2e3)}}}var r=e("./lib/jqLite"),l=e("./lib/util"),s="mui-btn",a="mui-btn--fab",c="mui-ripple-effect";t.exports={initListeners:function(){for(var e=document,t=e.getElementsByClassName(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){r.hasClass(e,s)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],10:[function(e,t,n){"use strict";function i(e){e._muiSelect!==!0&&(e._muiSelect=!0,"ontouchstart"in p.documentElement||new o(e))}function o(e){this.selectEl=e,this.wrapperEl=e.parentNode,this.useDefault=!1,l.on(e,"mousedown",s.callback(this,"mousedownHandler")),l.on(e,"focus",s.callback(this,"focusHandler")),l.on(e,"click",s.callback(this,"clickHandler")),this.wrapperEl.tabIndex=-1;var t=s.callback(this,"wrapperFocusHandler");l.on(this.wrapperEl,"focus",t)}function r(e,t){s.enableScrollLock(),this.origIndex=null,this.currentIndex=null,this.selectEl=t,this.menuEl=this._createMenuEl(e,t),this.clickCallbackFn=s.callback(this,"clickHandler"),this.keydownCallbackFn=s.callback(this,"keydownHandler"),this.destroyCallbackFn=s.callback(this,"destroy"),e.appendChild(this.menuEl),l.scrollTop(this.menuEl,this.menuEl._muiScrollTop),setTimeout(function(){"body"!==p.activeElement.nodeName.toLowerCase()&&p.activeElement.blur()},0),l.on(this.menuEl,"click",this.clickCallbackFn),l.on(p,"keydown",this.keydownCallbackFn),l.on(h,"resize",this.destroyCallbackFn);var n=this.destroyCallbackFn;setTimeout(function(){l.on(p,"click",n)},0)}var l=e("./lib/jqLite"),s=e("./lib/util"),a=e("./lib/forms"),c="mui-select",u=".mui-select > select",d="mui-select__menu",f="mui--is-selected",p=document,h=window;o.prototype.mousedownHandler=function(e){0===e.button&&this.useDefault!==!0&&e.preventDefault()},o.prototype.focusHandler=function(e){if(this.useDefault!==!0){var t=this.selectEl,n=this.wrapperEl,i=t.tabIndex,o=s.callback(this,"keydownHandler");l.on(p,"keydown",o),t.tabIndex=-1,l.one(n,"blur",function(){t.tabIndex=i,l.off(p,"keydown",o)}),n.focus()}},o.prototype.keydownHandler=function(e){var t=e.keyCode;32!==t&&38!==t&&40!==t||(e.preventDefault(),this.selectEl.disabled!==!0&&this.renderMenu())},o.prototype.wrapperFocusHandler=function(){return this.selectEl.disabled?this.wrapperEl.blur():void 0},o.prototype.clickHandler=function(e){0===e.button&&this.renderMenu()},o.prototype.renderMenu=function(){return this.useDefault===!0?this.useDefault=!1:void new r(this.wrapperEl,this.selectEl)},r.prototype._createMenuEl=function(e,t){var n,i,o,r=p.createElement("div"),s=t.children,c=s.length,u=0;for(r.className=d,o=0;c>o;o++)n=s[o],i=p.createElement("div"),i.textContent=n.textContent,i._muiPos=o,n.selected&&(i.setAttribute("class",f),u=o),r.appendChild(i);this.origIndex=u,this.currentIndex=u;var h=a.getMenuPositionalCSS(e,c,u);return l.css(r,h),r._muiScrollTop=h.scrollTop,r},r.prototype.keydownHandler=function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&(this.selectCurrent(),this.destroy())))},r.prototype.clickHandler=function(e){e.stopPropagation();var t=e.target._muiPos;void 0!==t&&(this.currentIndex=t,this.selectCurrent(),this.destroy())},r.prototype.increment=function(){if(this.currentIndex!==this.menuEl.children.length-1){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex+=1,l.addClass(e[this.currentIndex],f)}},r.prototype.decrement=function(){if(0!==this.currentIndex){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex-=1,l.addClass(e[this.currentIndex],f)}},r.prototype.selectCurrent=function(){if(this.currentIndex!==this.origIndex){var e=this.selectEl.children;e[this.origIndex].selected=!1,e[this.currentIndex].selected=!0,s.dispatchEvent(this.selectEl,"change")}},r.prototype.destroy=function(){var e=this.menuEl.parentNode;e&&e.removeChild(this.menuEl),this.selectEl.focus(),s.disableScrollLock(),l.off(this.menuEl,"click",this.clickCallbackFn),l.off(p,"keydown",this.keydownCallbackFn),l.off(p,"click",this.destroyCallbackFn),l.off(h,"resize",this.destroyCallbackFn)},t.exports={initListeners:function(){for(var e=p.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);s.onNodeInserted(function(e){"SELECT"===e.tagName&&l.hasClass(e.parentNode,c)&&i(e)})}}},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(e,t,n){"use strict";function i(e){e._muiTabs!==!0&&(e._muiTabs=!0,s.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){var t,n,i,o,r,c,u,b,y,g=e.parentNode,E=e.getAttribute(d),C=document.getElementById(E);s.hasClass(g,f)||(C||a.raiseError('Tab pane "'+E+'" not found'),n=l(C),i=n.id,y="["+d+'="'+i+'"]',o=document.querySelectorAll(y)[0],t=o.parentNode,r={paneId:E,relatedPaneId:i},c={paneId:i,relatedPaneId:E},u=a.dispatchEvent(o,m,!0,!0,c),b=a.dispatchEvent(e,p,!0,!0,r),setTimeout(function(){u.defaultPrevented||b.defaultPrevented||(t&&s.removeClass(t,f),n&&s.removeClass(n,f),s.addClass(g,f),s.addClass(C,f),a.dispatchEvent(o,v,!0,!1,c),a.dispatchEvent(e,h,!0,!1,r))},0))}function l(e){for(var t,n=e.parentNode.children,i=n.length,o=null;i--&&!o;)t=n[i],t!==e&&s.hasClass(t,f)&&(o=t);return o}var s=e("./lib/jqLite"),a=e("./lib/util"),c="data-mui-toggle",u="["+c+'="tab"]',d="data-mui-controls",f="mui--is-active",p="mui.tabs.showstart",h="mui.tabs.showend",m="mui.tabs.hidestart",v="mui.tabs.hideend";t.exports={initListeners:function(){for(var e=document.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);a.onNodeInserted(function(e){"tab"===e.getAttribute(c)&&i(e)})},api:{activate:function(e){var t="["+d+"="+e+"]",n=document.querySelectorAll(t);n.length||a.raiseError('Tab control for pane "'+e+'" not found'),r(n[0])}}}},{"./lib/jqLite":4,"./lib/util":5}],12:[function(e,t,n){"use strict";function i(e){e._muiTextfield!==!0&&(e._muiTextfield=!0,e.value.length?r.addClass(e,c):r.addClass(e,a),r.on(e,"input",o),r.on(e,"change",o),r.on(e,"focus",function(){r.addClass(this,u)}))}function o(){var e=this;e.value.length?(r.removeClass(e,a),r.addClass(e,c)):(r.removeClass(e,c),r.addClass(e,a)),r.addClass(e,u)}var r=e("./lib/jqLite"),l=e("./lib/util"),s=".mui-textfield > input, .mui-textfield > textarea",a="mui--is-empty",c="mui--is-not-empty",u="mui--is-dirty",d="mui-textfield--float-label";t.exports={initialize:i,initListeners:function(){for(var e=document,t=e.querySelectorAll(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName||i(e)}),setTimeout(function(){var e=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";l.loadStyle(e)},150),l.supportsPointerEvents()===!1&&r.on(document,"click",function(e){var t=e.target;if("LABEL"===t.tagName&&r.hasClass(t.parentNode,d)){var n=t.previousElementSibling;n&&n.focus()}})}}},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/package.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/package.js new file mode 100644 index 0000000..f71c18f --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/meteor/package.js @@ -0,0 +1,22 @@ +Package.describe({ + name: 'muicss:mui', + version: '0.5.9', + // Brief, one-line summary of the package. + summary: 'MUI is a lightweight CSS framework based on Google\'s Material Design guidelines', + // URL to the Git repository containing the source code for this package. + git: 'https://github.com/muicss/mui', + // By default, Meteor will default to using README.md for documentation. + // To avoid submitting documentation, set this field to null. + documentation: 'README.md' +}); + +Package.onUse(function(api) { + api.versionsFrom('1.0'); + + api.addFiles([ + 'lib/css/mui.css', + 'lib/css/mui.min.css', + 'lib/js/mui.js', + 'lib/js/mui.min.js' + ], 'client'); +}); diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/LICENSE.txt b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/LICENSE.txt new file mode 100644 index 0000000..4b0aef4 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/LICENSE.txt @@ -0,0 +1,31 @@ +Copyright (c) 2015 Andres Morey + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +==== + +All files located in the node_modules and bower_components directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/README.md b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/README.md new file mode 100644 index 0000000..0d180d1 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/README.md @@ -0,0 +1,487 @@ +# Material Design CSS Framework + +[![MUI](https://www.muicss.com/static/favicons/icon-192x192.png)](https://www.muicss.com) + +MUI is a lightweight CSS framework that follows Google's Material Design guidelines. + +[![Join the chat at https://gitter.im/muicss/mui](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/muicss/mui?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Build Status](https://travis-ci.org/muicss/mui.svg?branch=master)](https://travis-ci.org/muicss/mui) +[![Dependency Status](https://david-dm.org/muicss/mui.svg)](https://david-dm.org/muicss/mui) +[![devDependency Status](https://david-dm.org/muicss/mui/dev-status.svg)](https://david-dm.org/muicss/mui#info=devDependencies) + +## Introduction + +The MUI NPM package makes it easy to import MUI into a project and create a custom build that only includes the components you need. + +The simplest way to use MUI is via the top level imports `muicss` and `muicss/react`: + +```javascript +import { Appbar, Button, Panel } from 'muicss/react'; +``` + +You can also optimize your builds by importing modules one-by-one from the lower level API: + +```javascript +import Appbar from 'muicss/lib/react/appbar'; +import Button from 'muicss/lib/react/button'; +import Container from 'muicss/lib/react/container'; +``` + +Here's an example of how to use MUI in a React app: + +```javascript +import React from 'react'; +import ReactDOM from 'react-dom'; +import { Appbar, Button, Panel } from 'muicss/react'; + +class Example extends React.Component { + onClick() { + console.log('clicked on button'); + } + + render() { + return ( +
          + + + + + + +
          + ); + } +} + +ReactDOM.render(, document.getElementById('example')); +``` + +## API Documentation + +### React Library + +All of the MUI React components can be accessed as top-level attributes of the `muicss/react` package. In addition, they can be accessed individually at `muicss/lib/react/{component}`. + +#### Appbar + +```jsx +import Appbar from 'muicss/lib/react/appbar'; + + +``` + +Read more: https://www.muicss.com/docs/v1/react/appbar + +#### Button + +```jsx +import Button from 'muicss/lib/react/button'; + +
        '; + + // directive function + return ['$timeout', function ($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: scopeArgs, + replace: true, + template: template, + link: function link(scope, element, attrs, controllers) { + var inputEl = element.find('input') || element.find('textarea'), + labelEl = element.find('label'), + ngModelCtrl = controllers[0], + formCtrl = controllers[1], + isUndef = _angular2.default.isUndefined, + el = inputEl[0]; + + // disable MUI js + if (el) el._muiTextfield = true; + + // remove attributes from wrapper + element.removeAttr('ng-change'); + element.removeAttr('ng-model'); + + // scope defaults + if (!isTextArea) scope.type = scope.type || 'text';else scope.rows = scope.rows || 2; + + // autofocus + if (!isUndef(attrs.autofocus)) inputEl[0].focus(); + + // required + if (!isUndef(attrs.required)) inputEl.prop('required', true); + + // invalid + if (!isUndef(attrs.invalid)) inputEl.addClass('mui--is-invalid'); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, scope.ngModel); + + // float-label + if (!isUndef(scope.floatLabel)) { + element.addClass('mui-textfield--float-label'); + + $timeout(function () { + labelEl.css({ + 'transition': '.15s ease-out', + '-webkit-transition': '.15s ease-out', + '-moz-transition': '.15s ease-out', + '-o-transition': '.15s ease-out', + '-ms-transition': '.15s ease-out' + }); + }, 150); + } + + // handle changes + scope.onChange = function () { + var val = scope.ngModel; + + // trigger ng-change + if (ngModelCtrl) ngModelCtrl.$setViewValue(val); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, val); + + // add is-dirty + inputEl.addClass(dirtyClass); + }; + + // handle focus event + scope.onFocus = function () { + inputEl.addClass(dirtyClass); + }; + } + }; + }]; +} + +_angular2.default.module(moduleName, []).directive('muiInput', inputFactory(false)).directive('muiTextarea', inputFactory(true)); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/panel.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/panel.js new file mode 100644 index 0000000..6b07daf --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/panel.js @@ -0,0 +1,34 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var moduleName = 'mui.panel'; /** + * MUI Angular Panel Component + * @module angular/panel + */ + +_angular2.default.module(moduleName, []).directive('muiPanel', function () { + return { + restrict: 'AE', + replace: true, + scope: true, + template: '
        ', + transclude: true, + link: function link(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function (clone) { + element.append(clone); + }); + } + }; +}); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/radio.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/radio.js new file mode 100644 index 0000000..17dcc99 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/radio.js @@ -0,0 +1,35 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var moduleName = 'mui.radio'; /** + * MUI Angular Radio Component + * @module angular/radio + */ + +_angular2.default.module(moduleName, []).directive('muiRadio', function () { + return { + restrict: 'AE', + replace: true, + require: ['?ngModel'], + scope: { + label: '@', + name: '@', + value: '@', + ngModel: '=', + ngDisabled: '=' + }, + template: '
        ' + ' ' + '
        ' + }; +}); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/row.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/row.js new file mode 100644 index 0000000..2e7735b --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/row.js @@ -0,0 +1,34 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var moduleName = 'mui.row'; /** + * MUI Angular Grid/Row Module + * @module angular/row.js + */ + +_angular2.default.module('mui.row', []).directive('muiRow', function () { + return { + restrict: 'AE', + scope: true, + replace: true, + template: '
        ', + transclude: true, + link: function link(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function (clone) { + element.append(clone); + }); + } + }; +}); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/select.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/select.js new file mode 100644 index 0000000..2778c9f --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/packages/npm/lib/angular/select.js @@ -0,0 +1,256 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var _forms = require('../js/lib/forms'); + +var formlib = babelHelpers.interopRequireWildcard(_forms); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); +/** + * MUI Angular Select Component + * @module angular/select + */ + +var moduleName = 'mui.select'; + +_angular2.default.module(moduleName, []).directive('muiSelect', ['$timeout', function ($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: { + name: '@', + ngDisabled: '=', + ngModel: '=' + }, + replace: true, + transclude: true, + template: '
        ' + '' + '
        ' + '
        {{option.label}}
        ' + '
        ' + '
        ', + link: function link(scope, element, attrs, controller, transcludeFn) { + var wrapperEl = element, + menuEl = element.find('div'), + selectEl = element.find('select'), + isUndef = _angular2.default.isUndefined, + cacheIndex; + + // disable MUI js + selectEl[0]._muiSelect = true; + + // init scope + scope.options = []; + scope.isOpen = false; + scope.useDefault = false; + scope.origTabIndex = selectEl[0].tabIndex; + scope.menuIndex = 0; + + // handle `use-default` attribute + if (!isUndef(attrs.useDefault)) scope.useDefault = true; + + // make wrapper focusable + wrapperEl.prop('tabIndex', -1); + + // extract
        '; + + // directive function + return ['$timeout', function($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: scopeArgs, + replace: true, + template: template, + link: function(scope, element, attrs, controllers) { + var inputEl = element.find('input') || element.find('textarea'), + labelEl = element.find('label'), + ngModelCtrl = controllers[0], + formCtrl = controllers[1], + isUndef = angular.isUndefined, + el = inputEl[0]; + + // disable MUI js + if (el) el._muiTextfield = true; + + // remove attributes from wrapper + element.removeAttr('ng-change'); + element.removeAttr('ng-model'); + + // scope defaults + if (!isTextArea) scope.type = scope.type || 'text'; + else scope.rows = scope.rows || 2; + + // autofocus + if (!isUndef(attrs.autofocus)) inputEl[0].focus(); + + // required + if (!isUndef(attrs.required)) inputEl.prop('required', true); + + // invalid + if (!isUndef(attrs.invalid)) inputEl.addClass('mui--is-invalid'); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, scope.ngModel); + + // float-label + if (!isUndef(scope.floatLabel)) { + element.addClass('mui-textfield--float-label'); + + $timeout(function() { + labelEl.css({ + 'transition': '.15s ease-out', + '-webkit-transition': '.15s ease-out', + '-moz-transition': '.15s ease-out', + '-o-transition': '.15s ease-out', + '-ms-transition': '.15s ease-out', + }) + }, 150); + } + + // handle changes + scope.onChange = function() { + var val = scope.ngModel; + + // trigger ng-change + if (ngModelCtrl) ngModelCtrl.$setViewValue(val); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, val); + + // add is-dirty + inputEl.addClass(dirtyClass); + } + + // handle focus event + scope.onFocus = function() { + inputEl.addClass(dirtyClass); + } + } + }; + }]; +} + + +angular.module(moduleName, []) + .directive('muiInput', inputFactory(false)) + .directive('muiTextarea', inputFactory(true)); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/panel.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/panel.js new file mode 100644 index 0000000..a9585f0 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/panel.js @@ -0,0 +1,30 @@ +/** + * MUI Angular Panel Component + * @module angular/panel + */ + +import angular from 'angular'; + + +const moduleName = 'mui.panel'; + + +angular.module(moduleName, []) + .directive('muiPanel', function() { + return { + restrict: 'AE', + replace: true, + scope : true, + template: '
        ', + transclude: true, + link: function(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function(clone) { + element.append(clone); + }); + } + }; + }); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/radio.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/radio.js new file mode 100644 index 0000000..5a7351a --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/radio.js @@ -0,0 +1,39 @@ +/** + * MUI Angular Radio Component + * @module angular/radio + */ + +import angular from 'angular'; + + +const moduleName = 'mui.radio'; + + +angular.module(moduleName, []) + .directive('muiRadio', function() { + return { + restrict: 'AE', + replace: true, + require: ['?ngModel'], + scope: { + label: '@', + name: '@', + value: '@', + ngModel: '=', + ngDisabled: '=' + }, + template: '
        ' + + ' ' + + '
        ' + } + }); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/row.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/row.js new file mode 100644 index 0000000..fd3bf31 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/row.js @@ -0,0 +1,30 @@ +/** + * MUI Angular Grid/Row Module + * @module angular/row.js + */ + +import angular from 'angular'; + + +const moduleName = 'mui.row'; + + +angular.module('mui.row', []) + .directive('muiRow', function() { + return { + restrict: 'AE', + scope: true, + replace: true, + template: '
        ', + transclude: true, + link: function(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function(clone) { + element.append(clone); + }); + } + }; + }); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/select.js b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/select.js new file mode 100644 index 0000000..eb4c67b --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/angular/select.js @@ -0,0 +1,284 @@ +/** + * MUI Angular Select Component + * @module angular/select + */ + +import angular from 'angular'; + +import * as formlib from '../js/lib/forms'; +import * as util from '../js/lib/util'; +import * as jqLite from '../js/lib/jqLite'; + + +const moduleName = 'mui.select'; + + +angular.module(moduleName, []) + .directive('muiSelect', ['$timeout', function($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: { + name: '@', + ngDisabled: '=', + ngModel: '=' + }, + replace: true, + transclude: true, + template: '
        ' + + '' + + '
        ' + + '
        {{option.label}}
        ' + + '
        ' + + '
        ', + link: function(scope, element, attrs, controller, transcludeFn) { + var wrapperEl = element, + menuEl = element.find('div'), + selectEl = element.find('select'), + isUndef = angular.isUndefined, + cacheIndex; + + // disable MUI js + selectEl[0]._muiSelect = true; + + // init scope + scope.options = []; + scope.isOpen = false; + scope.useDefault = false; + scope.origTabIndex = selectEl[0].tabIndex; + scope.menuIndex = 0; + + // handle `use-default` attribute + if (!isUndef(attrs.useDefault)) scope.useDefault = true; + + // make wrapper focusable + wrapperEl.prop('tabIndex', -1); + + // extract
        + ); + } +} + + +/** Define module API */ +export default Checkbox; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/col.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/col.jsx new file mode 100644 index 0000000..d18cbe4 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/col.jsx @@ -0,0 +1,72 @@ +/** + * MUI React Col Component + * @module react/col + */ + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; + + +const breakpoints = ['xs', 'sm', 'md', 'lg', 'xl']; + + +/** + * Col constructor + * @class + */ +class Col extends React.Component { + defaultProps() { + let props = {className: ''}, + i, + v; + + // add {breakpoint}, {breakpoint}-offset to props + for (i=breakpoints.length - 1; i > -1; i--) { + v = breakpoints[i]; + props[v] = null; + props[v + '-offset'] = null; + } + + return props; + } + + render() { + let cls = {}, + i, + bk, + val, + baseCls; + + // add mui-col classes + for (i=breakpoints.length - 1; i > -1; i--) { + bk = breakpoints[i]; + baseCls = 'mui-col-' + bk; + + // add mui-col-{bk}-{val} + val = this.props[bk]; + if (val) cls[baseCls + '-' + val] = true; + + // add mui-col-{bk}-offset-{val} + val = this.props[bk + '-offset']; + if (val) cls[baseCls + '-offset-' + val] = true; + } + + cls = util.classNames(cls); + + return ( +
        + {this.props.children} +
        + ); + } +} + + +/** Define module API */ +export default Col; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/container.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/container.jsx new file mode 100644 index 0000000..7c665dc --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/container.jsx @@ -0,0 +1,44 @@ +/** + * MUI React container module + * @module react/container + */ + +'use strict'; + +import React from 'react'; + + +/** + * Container constructor + * @class + */ +class Container extends React.Component { + static propTypes = { + fluid: React.PropTypes.bool + }; + + static defaultProps = { + className: '', + fluid: false + }; + + render() { + let cls = 'mui-container'; + + // fluid containers + if (this.props.fluid) cls += '-fluid'; + + return ( +
        + {this.props.children} +
        + ); + } +} + + +/** Define module API */ +export default Container; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/divider.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/divider.jsx new file mode 100644 index 0000000..c39816e --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/divider.jsx @@ -0,0 +1,35 @@ +/** + * MUI React divider module + * @module react/divider + */ + +'use strict'; + +import React from 'react'; + + +/** + * Divider constructor + * @class + */ +class Divider extends React.Component { + static defaultProps = { + className: '' + }; + + render() { + let { children, ...other } = this.props; + + return ( +
        +
        + ); + } +} + + +/** Define module API */ +export default Divider; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown-item.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown-item.jsx new file mode 100644 index 0000000..17e7117 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown-item.jsx @@ -0,0 +1,59 @@ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes; + + +/** + * DropdownItem constructor + * @class + */ +class DropdownItem extends React.Component { + constructor(props) { + super(props); + + this.onClickCB = util.callback(this, 'onClick'); + } + + static propTypes = { + link: PropTypes.string, + target: PropTypes.string, + onClick: PropTypes.func + }; + + onClick(ev) { + if (this.props.onClick) this.props.onClick(this, ev); + } + + render() { + let { children, onClick, ...other } = this.props; + + return ( +
      • + + {children} + +
      • + ); + } +} + + +/** Define module API */ +export default DropdownItem; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown.jsx new file mode 100644 index 0000000..af0dffb --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/dropdown.jsx @@ -0,0 +1,200 @@ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + +import Button from './button'; +import Caret from './caret'; +import * as jqLite from '../js/lib/jqLite'; +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes, + dropdownClass = 'mui-dropdown', + menuClass = 'mui-dropdown__menu', + openClass = 'mui--is-open', + rightClass = 'mui-dropdown__menu--right'; + + +/** + * Dropdown constructor + * @class + */ +class Dropdown extends React.Component { + constructor(props) { + super(props); + + this.state = { + opened: false, + menuTop: 0 + } + + let cb = util.callback; + this.selectCB = cb(this, 'select'); + this.onClickCB = cb(this, 'onClick'); + this.onOutsideClickCB = cb(this, 'onOutsideClick'); + } + + static propTypes = { + color: PropTypes.oneOf(['default', 'primary', 'danger', 'dark', + 'accent']), + variant: PropTypes.oneOf(['default', 'flat', 'raised', 'fab']), + size: PropTypes.oneOf(['default', 'small', 'large']), + label: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.element + ]), + alignMenu: PropTypes.oneOf(['left', 'right']), + onClick: PropTypes.func, + onSelect: PropTypes.func, + disabled: PropTypes.bool + }; + + static defaultProps = { + className: '', + color: 'default', + variant: 'default', + size: 'default', + label: '', + alignMenu: 'left', + onClick: null, + onSelect: null, + disabled: false + }; + + componentWillMount() { + document.addEventListener('click', this.onOutsideClickCB); + } + + componentWillUnmount() { + document.removeEventListener('click', this.onOutsideClickCB); + } + + onClick(ev) { + // only left clicks + if (ev.button !== 0) return; + + // exit if toggle button is disabled + if (this.props.disabled) return; + + if (!ev.defaultPrevented) { + this.toggle(); + + // execute onClick method + let onClickFn = this.props.onClick; + onClickFn && onClickFn(ev); + } + } + + toggle() { + // exit if no menu element + if (!this.props.children) { + return util.raiseError('Dropdown menu element not found'); + } + + if (this.state.opened) this.close(); + else this.open(); + } + + open() { + // position menu element below toggle button + let wrapperRect = this.refs.wrapperEl.getBoundingClientRect(), + toggleRect; + + toggleRect = this.refs.button.refs.buttonEl.getBoundingClientRect(); + + this.setState({ + opened: true, + menuTop: toggleRect.top - wrapperRect.top + toggleRect.height + }); + } + + close() { + this.setState({opened: false}); + } + + select(ev) { + // onSelect callback + if (this.props.onSelect && ev.target.tagName === 'A') { + this.props.onSelect(ev.target.getAttribute('data-mui-value')); + } + + // close menu + if (!ev.defaultPrevented) this.close(); + } + + onOutsideClick(ev) { + let isClickInside = this.refs.wrapperEl.contains(ev.target); + if (!isClickInside) this.close(); + } + + render() { + let buttonEl, + menuEl, + labelEl; + + // build label + if (jqLite.type(this.props.label) === 'string') { + labelEl = {this.props.label} ; + } else { + labelEl = this.props.label; + } + + buttonEl = ( + + ); + + if (this.state.opened) { + let cs = {}; + + cs[menuClass] = true; + cs[openClass] = this.state.opened; + cs[rightClass] = (this.props.alignMenu === 'right'); + cs = util.classNames(cs); + + menuEl = ( +
          + {this.props.children} +
        + ); + } + + let { className, children, onClick, ...other } = this.props; + + return ( +
        + {buttonEl} + {menuEl} +
        + ); + } +} + + +/** Define module API */ +export default Dropdown; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/form.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/form.jsx new file mode 100644 index 0000000..127a0d3 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/form.jsx @@ -0,0 +1,44 @@ +/** + * MUI React form module + * @module react/form + */ + +'use strict'; + +import React from 'react'; + + +/** + * Form constructor + * @class + */ +class Form extends React.Component { + static propTypes = { + inline: React.PropTypes.bool + }; + + static defaultProps = { + className: '', + inline: false + }; + + render() { + let cls = ''; + + // inline form + if (this.props.inline) cls = 'mui-form--inline'; + + return ( + + {this.props.children} + + ); + } +} + + +/** Define module API */ +export default Form; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/input.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/input.jsx new file mode 100644 index 0000000..722db29 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/input.jsx @@ -0,0 +1,35 @@ +/** + * MUI React Input Component + * @module react/input + */ + +'use strict'; + +import React from 'react'; + +import { TextField } from './text-field'; + + +const PropTypes = React.PropTypes; + + +/** + * Input constructor + * @class + */ +class Input extends React.Component { + static propTypes = { + type: PropTypes.oneOf(['text', 'email', 'url', 'tel', 'password']) + }; + + static defaultProps = { + type: 'text' + }; + + render() { + return ; + } +} + + +export default Input; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/option.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/option.jsx new file mode 100644 index 0000000..ca5e461 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/option.jsx @@ -0,0 +1,46 @@ +/** + * MUI React options module + * @module react/option + */ + +'use strict'; + +import React from 'react'; + +import * as formlib from '../js/lib/forms'; +import * as jqLite from '../js/lib/jqLite'; +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes; + + +/** + * Option constructor + * @class + */ +class Option extends React.Component { + static propTypes = { + value: PropTypes.string, + label: PropTypes.string + }; + + static defaultProps = { + value: null, + label: null + }; + + render() { + let { children, ...other } = this.props; + + return ( + + ); + } +} + + +/** Define module API */ +export default Option; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/panel.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/panel.jsx new file mode 100644 index 0000000..038371c --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/panel.jsx @@ -0,0 +1,34 @@ +/** + * MUI React layout module + * @module react/layout + */ + +'use strict'; + +import React from 'react'; + + +/** + * Panel constructor + * @class + */ +class Panel extends React.Component { + static defaultProps = { + className: '' + }; + + render() { + return ( +
        + {this.props.children} +
        + ); + } +} + + +/** Define module API */ +export default Panel; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/radio.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/radio.jsx new file mode 100644 index 0000000..5511429 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/radio.jsx @@ -0,0 +1,65 @@ +/** + * MUI React radio module + * @module react/radio + */ + +'use strict'; + +import React from 'react'; + + +const PropTypes = React.PropTypes; + + +/** + * Radio constructor + * @class + */ +class Radio extends React.Component { + static propTypes = { + name: PropTypes.string, + label: PropTypes.string, + value: PropTypes.string, + checked: PropTypes.bool, + defaultChecked: PropTypes.bool, + disabled: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + className: '', + name: null, + label: null, + disabled: false, + onChange: null + }; + + render() { + let { children, onChange, ...other } = this.props; + + return ( +
        + +
        + ); + } +} + + +/** Define module API */ +export default Radio; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/row.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/row.jsx new file mode 100644 index 0000000..a67691e --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/row.jsx @@ -0,0 +1,39 @@ +/** + * MUI React Row Component + * @module react/row + */ + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; + + +const breakpoints = ['xs', 'sm', 'md', 'lg']; + + +/** + * Row constructor + * @class + */ +class Row extends React.Component { + static defaultProps = { + className: '' + }; + + render() { + return ( +
        + {this.props.children} +
        + ); + } +} + + +/** Define module API */ +export default Row; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/select.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/select.jsx new file mode 100644 index 0000000..d467695 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/select.jsx @@ -0,0 +1,389 @@ +/** + * MUI React select module + * @module react/select + */ + +'use strict'; + +import React from 'react'; + +import * as formlib from '../js/lib/forms'; +import * as jqLite from '../js/lib/jqLite'; +import * as util from '../js/lib/util'; +import { controlledMessage } from './_helpers'; + + +const PropTypes = React.PropTypes; + + +/** + * Select constructor + * @class + */ +class Select extends React.Component { + constructor(props) { + super(props); + + // warn if value defined but onChange is not + if (props.readOnly === false && + props.value !== undefined && + props.onChange === null) { + util.raiseError(controlledMessage, true); + } + + this.state.value = props.value; + + // bind callback function + let cb = util.callback; + this.hideMenuCB = cb(this, 'hideMenu'); + this.onInnerChangeCB = cb(this, 'onInnerChange'); + this.onInnerClickCB = cb(this, 'onInnerClick'); + this.onInnerFocusCB = cb(this, 'onInnerFocus'); + this.onInnerMouseDownCB = cb(this, 'onInnerMouseDown'); + this.onKeydownCB = cb(this, 'onKeydown'); + this.onMenuChangeCB = cb(this, 'onMenuChange'); + this.onOuterFocusCB = cb(this, 'onOuterFocus'); + this.onOuterBlurCB = cb(this, 'onOuterBlur'); + } + + state = { + showMenu: false + }; + + static propTypes = { + name: PropTypes.string, + value: PropTypes.string, + defaultValue: PropTypes.string, + autoFocus: PropTypes.bool, + disabled: PropTypes.bool, + multiple: PropTypes.bool, + readOnly: PropTypes.bool, + required: PropTypes.bool, + useDefault: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + className: '', + name: null, + autoFocus: false, + disabled: false, + multiple: false, + readOnly: false, + required: false, + useDefault: false, + onChange: null + }; + + componentDidMount() { + // disable MUI js + this.refs.selectEl._muiSelect = true; + + // make wrapper element focusable (to enable Firefox bugfix) + this.refs.wrapperEl.tabIndex = -1; + + // handle autofocus + if (this.props.autoFocus) this.refs.wrapperEl.focus(); + } + + componentWillReceiveProps(nextProps) { + this.setState({value: nextProps.value}); + } + + onInnerMouseDown(ev) { + if (ev.button !== 0 || this.props.useDefault === true) return; + ev.preventDefault(); + } + + onInnerChange(ev) { + let value = ev.target.value; + this.setState({ value }); + + let fn = this.props.onChange; + if (fn) fn(value); + } + + onInnerClick(ev) { + if (ev.button !== 0) return; // only left clicks + this.showMenu(); + } + + onInnerFocus(ev) { + // check flag + if (this.props.useDefault === true) return; + + // defer focus to parent + setTimeout(() => {this.refs.wrapperEl.focus();}, 0); + } + + onOuterFocus(ev) { + // ignore focus on inner element (react artifact) + if (ev.target !== this.refs.wrapperEl) return; + + // disable tabfocus on inner element + var selectEl = this.refs.selectEl; + selectEl._muiOrigIndex = selectEl.tabIndex; + selectEl.tabIndex = -1; + + // firefox bugfix + if (selectEl.disabled) return this.refs.wrapperEl.blur(); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + + onOuterBlur(ev) { + // ignore blur on inner element + if (ev.target !== this.refs.wrapperEl) return; + + // restore tab focus on inner element + let selectEl = this.refs.selectEl; + selectEl.tabIndex = selectEl._muiOrigIndex; + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + + onKeydown(ev) { + // spacebar, down, up + if (ev.keyCode === 32 || ev.keyCode === 38 || ev.keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.refs.selectEl.disabled !== true) this.showMenu(); + } + } + + showMenu() { + // check useDefault flag + if (this.props.useDefault === true) return; + + // add scroll lock + util.enableScrollLock(); + + // add event listeners + jqLite.on(window, 'resize', this.hideMenuCB); + jqLite.on(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({showMenu: true}); + } + + hideMenu() { + // remove scroll lock + util.disableScrollLock(); + + // remove event listeners + jqLite.off(window, 'resize', this.hideMenuCB); + jqLite.off(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({showMenu: false}); + + // refocus + this.refs.selectEl.focus(); + } + + onMenuChange(value) { + if (this.props.readOnly === true) return; + + this.setState({ value }); + + // execute onChange method + let fn = this.props.onChange; + if (fn) fn(value); + } + + render() { + let menuElem; + + if (this.state.showMenu) { + menuElem = ( + + ); + } + + let { children, onChange, ...other } = this.props; + + return ( +
        + + {menuElem} +
        + ); + } +} + + +/** + * Menu constructor + * @class + */ +class Menu extends React.Component { + constructor(props) { + super(props); + + this.onKeydownCB = util.callback(this, 'onKeydown'); + } + + state = { + origIndex: null, + currentIndex: null + }; + + static defaultProps = { + optionEls: [], + wrapperEl: null, + onChange: null, + onClose: null + }; + + componentWillMount() { + let optionEls = this.props.optionEls, + m = optionEls.length, + selectedPos = 0, + i; + + // get current selected position + for (i=m - 1; i > -1; i--) if (optionEls[i].selected) selectedPos = i; + this.setState({origIndex: selectedPos, currentIndex: selectedPos}); + } + + componentDidMount() { + // blur active element (IE10 bugfix) + this.blurTimer = setTimeout(function() { + let el = document.activeElement; + if (el.nodeName.toLowerCase() !== 'body') el.blur(); + }, 0); + + // set position + let props = formlib.getMenuPositionalCSS( + this.props.wrapperEl, + this.props.optionEls.length, + this.state.currentIndex + ); + + let el = this.refs.wrapperEl; + jqLite.css(el, props); + jqLite.scrollTop(el, props.scrollTop); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + + componentWillUnmount() { + // clear timer + clearTimeout(this.blurTimer); + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + + onClick(pos, ev) { + // don't allow events to bubble + ev.stopPropagation(); + this.selectAndDestroy(pos); + } + + onKeydown(ev) { + let keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) this.destroy(); + else if (keyCode === 40) this.increment(); + else if (keyCode === 38) this.decrement(); + else if (keyCode === 13) this.selectAndDestroy(); + } + + increment() { + if (this.state.currentIndex === this.props.optionEls.length - 1) { + return; + } + + this.setState({currentIndex: this.state.currentIndex + 1}); + } + + decrement() { + if (this.state.currentIndex === 0) return; + this.setState({currentIndex: this.state.currentIndex - 1}); + } + + selectAndDestroy(pos) { + pos = (pos === undefined) ? this.state.currentIndex : pos; + + // handle onChange + if (pos !== this.state.origIndex) { + this.props.onChange(this.props.optionEls[pos].value); + } + + // close menu + this.destroy(); + } + + destroy() { + this.props.onClose(); + } + + render() { + let menuItems = [], + optionEls = this.props.optionEls, + m = optionEls.length, + optionEl, + cls, + i; + + // define menu items + for (i=0; i < m; i++) { + cls = (i === this.state.currentIndex) ? 'mui--is-selected' : ''; + + menuItems.push( +
        + {optionEls[i].textContent} +
        + ); + } + + return
        {menuItems}
        ; + } +} + + +/** Define module API */ +export default Select; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tab.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tab.jsx new file mode 100644 index 0000000..73b7c4b --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tab.jsx @@ -0,0 +1,40 @@ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + + +const PropTypes = React.PropTypes; + + +/** + * Tab constructor + * @class + */ +class Tab extends React.Component { + static propTypes = { + value: PropTypes.any, + label: PropTypes.string, + onActive: PropTypes.func + }; + + static defaultProps = { + value: null, + label: '', + onActive: null + }; + + render() { + return null; + }; +} + + +/** Define module API */ +export default Tab; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tabs.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tabs.jsx new file mode 100644 index 0000000..aa00ae5 --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/tabs.jsx @@ -0,0 +1,116 @@ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + +import Tab from './tab'; +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes, + tabsBarClass = 'mui-tabs__bar', + tabsBarJustifiedClass = 'mui-tabs__bar--justified', + tabsPaneClass = 'mui-tabs__pane', + isActiveClass = 'mui--is-active'; + + +/** + * Tabs constructor + * @class + */ +class Tabs extends React.Component { + constructor(props) { + super(props); + this.state = {currentSelectedIndex: props.initialSelectedIndex}; + } + + static propTypes = { + initialSelectedIndex: PropTypes.number, + justified: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + className: '', + initialSelectedIndex: 0, + justified: false, + onChange: null + }; + + onClick(i, tab, ev) { + if (i !== this.state.currentSelectedIndex) { + this.setState({currentSelectedIndex: i}); + + // onActive callback + if (tab.props.onActive) tab.props.onActive(tab); + + // onChange callback + if (this.props.onChange) { + this.props.onChange(i, tab.props.value, tab, ev); + } + } + } + + render() { + let { children, ...other } = this.props; + + let tabEls = [], + paneEls = [], + m = children.length, + selectedIndex = this.state.currentSelectedIndex % m, + isActive, + item, + cls, + i; + + for (i=0; i < m; i++) { + item = children[i]; + + // only accept MUITab elements + if (item.type !== Tab) util.raiseError('Expecting MUITab React Element'); + + isActive = (i === selectedIndex) ? true : false; + + // tab element + tabEls.push( +
      • + + {item.props.label} + +
      • + ); + + // pane element + cls = tabsPaneClass + ' '; + if (isActive) cls += isActiveClass; + + paneEls.push( +
        + {item.props.children} +
        + ); + } + + cls = tabsBarClass; + if (this.props.justified) cls += ' ' + tabsBarJustifiedClass; + + return ( +
        +
          + {tabEls} +
        + {paneEls} +
        + ); + } +} + + +/** Define module API */ +export default Tabs; diff --git a/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/text-field.jsx b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/text-field.jsx new file mode 100644 index 0000000..c20b8ea --- /dev/null +++ b/sensortoy/sensortoy/platforms/android/assets/www/libs/mui/src/react/text-field.jsx @@ -0,0 +1,239 @@ +/** + * MUI React TextInput Component + * @module react/text-input + */ + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; +import { controlledMessage } from './_helpers'; + + +const PropTypes = React.PropTypes; + + +/** + * Input constructor + * @class + */ +class Input extends React.Component { + constructor(props) { + super(props); + + let value = props.value; + let innerValue = value || props.defaultValue; + + this.state = { + innerValue: innerValue, + isDirty: Boolean(innerValue) + }; + + // warn if value defined but onChange is not + if (value !== undefined && props.onChange === null) { + util.raiseError(controlledMessage, true); + } + + let cb = util.callback; + this.onChangeCB = cb(this, 'onChange'); + this.onFocusCB = cb(this, 'onFocus'); + } + + static propTypes = { + hint: PropTypes.string, + value: PropTypes.string, + type: PropTypes.string, + autoFocus: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + hint: null, + type: null, + autoFocus: false, + onChange: null + }; + + componentDidMount() { + // disable MUI js + this.refs.inputEl._muiTextfield = true; + } + + onChange(ev) { + this.setState({innerValue: ev.target.value}); + + let fn = this.props.onChange; + if (fn) fn(ev); + } + + onFocus(ev) { + this.setState({isDirty: true}); + } + + triggerFocus() { + // hack to enable IE10 pointer-events shim + this.refs.inputEl.focus(); + } + + render() { + let cls = {}, + isNotEmpty = Boolean(this.state.innerValue), + inputEl; + + cls['mui--is-empty'] = !isNotEmpty; + cls['mui--is-not-empty'] = isNotEmpty; + cls['mui--is-dirty'] = this.state.isDirty; + cls['mui--is-invalid'] = this.props.invalid; + + cls = util.classNames(cls); + + let { children, ...other } = this.props; + + if (this.props.type === 'textarea') { + inputEl = ( + "; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + +return support; + +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/nodeNames.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/nodeNames.js new file mode 100644 index 0000000..05bb604 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/nodeNames.js @@ -0,0 +1,5 @@ +define( function() { + return "abbr|article|aside|audio|bdi|canvas|data|datalist|" + + "details|dialog|figcaption|figure|footer|header|hgroup|main|" + + "mark|meter|nav|output|picture|progress|section|summary|template|time|video"; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rcheckableType.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rcheckableType.js new file mode 100644 index 0000000..4c95394 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rcheckableType.js @@ -0,0 +1,3 @@ +define( function() { + return ( /^(?:checkbox|radio)$/i ); +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rleadingWhitespace.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rleadingWhitespace.js new file mode 100644 index 0000000..96ef95f --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rleadingWhitespace.js @@ -0,0 +1,3 @@ +define( function() { + return ( /^\s+/ ); +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rscriptType.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rscriptType.js new file mode 100644 index 0000000..0c77c8a --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rscriptType.js @@ -0,0 +1,3 @@ +define( function() { + return ( /^$|\/(?:java|ecma)script/i ); +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rtagName.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rtagName.js new file mode 100644 index 0000000..9e54269 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/var/rtagName.js @@ -0,0 +1,3 @@ +define( function() { + return ( /<([\w:-]+)/ ); +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/wrapMap.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/wrapMap.js new file mode 100644 index 0000000..fdb430a --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/manipulation/wrapMap.js @@ -0,0 +1,27 @@ +define( function() { + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE9 + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
        " ], + col: [ 2, "", "
        " ], + tr: [ 2, "", "
        " ], + td: [ 3, "", "
        " ], + + _default: [ 0, "", "" ] +}; + +// Support: IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +return wrapMap; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/offset.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/offset.js new file mode 100644 index 0000000..08a4543 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/offset.js @@ -0,0 +1,218 @@ +define( [ + "./core", + "./core/access", + "./var/document", + "./var/documentElement", + "./css/var/rnumnonpx", + "./css/curCSS", + "./css/addGetHookIf", + "./css/support", + + "./core/init", + "./css", + "./selector" // contains +], function( jQuery, access, document, documentElement, rnumnonpx, curCSS, addGetHookIf, support ) { + +/** + * Gets a window from an element + */ +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView; +} + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + offset: function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var docElem, win, + elem = this[ 0 ], + box = { top: 0, left: 0 }, + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + box = elem.getBoundingClientRect(); + win = getWindow( doc ); + return { + top: box.top + win.pageYOffset - docElem.clientTop, + left: box.left + win.pageXOffset - docElem.clientLeft + }; + }, + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, + // because it is its only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume getBoundingClientRect is there when computed position is fixed + offset = elem.getBoundingClientRect(); + + } else { + + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari<7-8+, Chrome<37-44+ +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://code.google.com/p/chromium/issues/detail?id=229280 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + +return jQuery; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/outro.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/outro.js new file mode 100644 index 0000000..d792ffb --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/outro.js @@ -0,0 +1,2 @@ +return jQuery; +})); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue.js new file mode 100644 index 0000000..813c41c --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue.js @@ -0,0 +1,143 @@ +define( [ + "./core", + "./data/var/dataPriv", + "./deferred", + "./callbacks" +], function( jQuery, dataPriv ) { + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.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 public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.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 = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); + +return jQuery; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue/delay.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue/delay.js new file mode 100644 index 0000000..8d5844d --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/queue/delay.js @@ -0,0 +1,22 @@ +define( [ + "../core", + "../queue", + "../effects" // Delay is optional because of this dependency +], function( jQuery ) { + +// Based off of the plugin by Clint Helfers, with permission. +// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + +return jQuery.fn.delay; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-native.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-native.js new file mode 100644 index 0000000..ee81483 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-native.js @@ -0,0 +1,211 @@ +define( [ + "./core", + "./var/document", + "./var/documentElement", + "./var/hasOwn", + "./var/indexOf" +], function( jQuery, document, documentElement, hasOwn, indexOf ) { + +/* + * Optional (non-Sizzle) selector module for custom builds. + * + * Note that this DOES NOT SUPPORT many documented jQuery + * features in exchange for its smaller size: + * + * Attribute not equal selector + * Positional selectors (:first; :eq(n); :odd; etc.) + * Type selectors (:input; :checkbox; :button; etc.) + * State-based selectors (:animated; :visible; :hidden; etc.) + * :has(selector) + * :not(complex selector) + * custom selectors via Sizzle extensions + * Leading combinators (e.g., $collection.find("> *")) + * Reliable functionality on XML fragments + * Requiring all parts of a selector to match elements under context + * (e.g., $div.find("div > *") now matches children of $div) + * Matching against non-elements + * Reliable sorting of disconnected nodes + * querySelectorAll bug fixes (e.g., unreliable :focus on WebKit) + * + * If any of these are unacceptable tradeoffs, either use Sizzle or + * customize this stub for the project's specific needs. + */ + +var hasDuplicate, sortInput, + sortStable = jQuery.expando.split( "" ).sort( sortOrder ).join( "" ) === jQuery.expando, + matches = documentElement.matches || + documentElement.webkitMatchesSelector || + documentElement.mozMatchesSelector || + documentElement.oMatchesSelector || + documentElement.msMatchesSelector; + +function sortOrder( 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 ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === document && + jQuery.contains( document, a ) ) { + return -1; + } + if ( b === document || b.ownerDocument === document && + jQuery.contains( document, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; +} + +function uniqueSort( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + hasDuplicate = false; + sortInput = !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; +} + +jQuery.extend( { + find: function( selector, context, results, seed ) { + var elem, nodeType, + i = 0; + + results = results || []; + context = context || document; + + // Same basic safeguard as Sizzle + if ( !selector || typeof selector !== "string" ) { + return results; + } + + // Early return if context is not an element or document + if ( ( nodeType = context.nodeType ) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( seed ) { + while ( ( elem = seed[ i++ ] ) ) { + if ( jQuery.find.matchesSelector( elem, selector ) ) { + results.push( elem ); + } + } + } else { + jQuery.merge( results, context.querySelectorAll( selector ) ); + } + + return results; + }, + uniqueSort: uniqueSort, + unique: uniqueSort, + text: 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 += jQuery.text( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + return elem.textContent; + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; + }, + 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( bup ) ); + }, + isXMLDoc: 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; + }, + expr: { + attrHandle: {}, + match: { + bool: new RegExp( "^(?:checked|selected|async|autofocus|autoplay|controls|defer" + + "|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$", "i" ), + needsContext: /^[\x20\t\r\n\f]*[>+~]/ + } + } +} ); + +jQuery.extend( jQuery.find, { + matches: function( expr, elements ) { + return jQuery.find( expr, null, null, elements ); + }, + matchesSelector: function( elem, expr ) { + return matches.call( elem, expr ); + }, + attr: function( elem, name ) { + var fn = jQuery.expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + value = fn && hasOwn.call( jQuery.expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, jQuery.isXMLDoc( elem ) ) : + undefined; + return value !== undefined ? value : elem.getAttribute( name ); + } +} ); + +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-sizzle.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-sizzle.js new file mode 100644 index 0000000..9728a1f --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector-sizzle.js @@ -0,0 +1,14 @@ +define( [ + "./core", + "../external/sizzle/dist/sizzle" +], function( jQuery, Sizzle ) { + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector.js new file mode 100644 index 0000000..e13f585 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/selector.js @@ -0,0 +1 @@ +define( [ "./selector-sizzle" ], function() {} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/serialize.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/serialize.js new file mode 100644 index 0000000..94698fc --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/serialize.js @@ -0,0 +1,125 @@ +define( [ + "./core", + "./manipulation/var/rcheckableType", + "./core/init", + "./traversing", // filter + "./attributes/prop" +], function( jQuery, rcheckableType ) { + +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + +return jQuery; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/support.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/support.js new file mode 100644 index 0000000..71ac60f --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/support.js @@ -0,0 +1,63 @@ +define( [ + "./core", + "./var/support", + "./var/document", + "./core/init", // Needed for hasOwn support test + // This is listed as a dependency for build order, but it's still optional in builds + "./core/ready" +], function( jQuery, support, document ) { + +// Support: IE<9 +// Iteration over object's inherited properties before its own +var i; +for ( i in jQuery( support ) ) { + break; +} +support.ownFirst = i === "0"; + +// Note: most support tests are defined in their respective modules. +// false until the test is run +support.inlineBlockNeedsLayout = false; + +// Execute ASAP in case we need to set body.style.zoom +jQuery( function() { + + // Minified: var a,b,c,d + var val, div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + + // Return for frameset docs that don't have a body + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + if ( typeof div.style.zoom !== "undefined" ) { + + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; + + support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; + if ( val ) { + + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); +} ); + +return support; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing.js new file mode 100644 index 0000000..0d4c1c4 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing.js @@ -0,0 +1,175 @@ +define( [ + "./core", + "./var/indexOf", + "./traversing/var/dir", + "./traversing/var/siblings", + "./traversing/var/rneedsContext", + "./core/init", + "./traversing/findFilter", + "./selector" +], function( jQuery, indexOf, dir, siblings, rneedsContext ) { + +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.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.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + 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.uniqueSort( + 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 dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( 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.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); + +return jQuery; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/findFilter.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/findFilter.js new file mode 100644 index 0000000..7d4b2ca --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/findFilter.js @@ -0,0 +1,100 @@ +define( [ + "../core", + "../var/indexOf", + "./var/rneedsContext", + "../selector" +], function( jQuery, indexOf, rneedsContext ) { + +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 ) > -1 ) !== 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; + } +} ); + +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/dir.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/dir.js new file mode 100644 index 0000000..b98fdca --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/dir.js @@ -0,0 +1,20 @@ +define( [ + "../../core" +], function( jQuery ) { + +return 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; +}; + +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/rneedsContext.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/rneedsContext.js new file mode 100644 index 0000000..f57fd9d --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/rneedsContext.js @@ -0,0 +1,6 @@ +define( [ + "../../core", + "../../selector" +], function( jQuery ) { + return jQuery.expr.match.needsContext; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/siblings.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/siblings.js new file mode 100644 index 0000000..8a8880b --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/traversing/var/siblings.js @@ -0,0 +1,15 @@ +define( function() { + +return function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/arr.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/arr.js new file mode 100644 index 0000000..3fd3640 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/arr.js @@ -0,0 +1,3 @@ +define( function() { + return []; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/class2type.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/class2type.js new file mode 100644 index 0000000..3a6932e --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/class2type.js @@ -0,0 +1,5 @@ +define( function() { + + // [[Class]] -> type pairs + return {}; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/concat.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/concat.js new file mode 100644 index 0000000..9787bea --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/concat.js @@ -0,0 +1,5 @@ +define( [ + "./arr" +], function( arr ) { + return arr.concat; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/deletedIds.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/deletedIds.js new file mode 100644 index 0000000..3fd3640 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/deletedIds.js @@ -0,0 +1,3 @@ +define( function() { + return []; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/document.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/document.js new file mode 100644 index 0000000..bb94284 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/document.js @@ -0,0 +1,3 @@ +define( function() { + return window.document; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/documentElement.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/documentElement.js new file mode 100644 index 0000000..e0c0aea --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/documentElement.js @@ -0,0 +1,5 @@ +define( [ + "./document" +], function( document ) { + return document.documentElement; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/hasOwn.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/hasOwn.js new file mode 100644 index 0000000..92f323e --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/hasOwn.js @@ -0,0 +1,5 @@ +define( [ + "./class2type" +], function( class2type ) { + return class2type.hasOwnProperty; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/indexOf.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/indexOf.js new file mode 100644 index 0000000..5283841 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/indexOf.js @@ -0,0 +1,5 @@ +define( [ + "./arr" +], function( arr ) { + return arr.indexOf; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/pnum.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/pnum.js new file mode 100644 index 0000000..7fd9f66 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/pnum.js @@ -0,0 +1,3 @@ +define( function() { + return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/push.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/push.js new file mode 100644 index 0000000..bca1a58 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/push.js @@ -0,0 +1,5 @@ +define( [ + "./arr" +], function( arr ) { + return arr.push; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rcssNum.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rcssNum.js new file mode 100644 index 0000000..408f5e2 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rcssNum.js @@ -0,0 +1,7 @@ +define( [ + "../var/pnum" +], function( pnum ) { + +return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rnotwhite.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rnotwhite.js new file mode 100644 index 0000000..6067728 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/rnotwhite.js @@ -0,0 +1,3 @@ +define( function() { + return ( /\S+/g ); +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/slice.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/slice.js new file mode 100644 index 0000000..d8206d3 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/slice.js @@ -0,0 +1,5 @@ +define( [ + "./arr" +], function( arr ) { + return arr.slice; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/support.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/support.js new file mode 100644 index 0000000..3db9b67 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/support.js @@ -0,0 +1,5 @@ +define( function() { + + // All support tests are defined in their respective modules. + return {}; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/toString.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/toString.js new file mode 100644 index 0000000..80ac7f1 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/var/toString.js @@ -0,0 +1,5 @@ +define( [ + "./class2type" +], function( class2type ) { + return class2type.toString; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/wrap.js b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/wrap.js new file mode 100644 index 0000000..4d2c3b2 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/jquery/src/wrap.js @@ -0,0 +1,79 @@ +define( [ + "./core", + "./core/init", + "./manipulation", // clone + "./traversing" // parent, contents +], function( jQuery ) { + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapAll( html.call( this, i ) ); + } ); + } + + if ( this[ 0 ] ) { + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function() { + return this.parent().each( function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + } ).end(); + } +} ); + +return jQuery; +} ); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/AUTHORS.txt b/sensortoy/sensortoy/platforms/ios/www/libs/mui/AUTHORS.txt new file mode 100644 index 0000000..32bc435 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/AUTHORS.txt @@ -0,0 +1,8 @@ +Authors ordered by first contribution. + +Andres Morey +Matt Bogado +Michiel Schriever +HjtHjtHjt +Aron Jones +Tushar Pokle \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/CHANGELOG.md b/sensortoy/sensortoy/platforms/ios/www/libs/mui/CHANGELOG.md new file mode 100644 index 0000000..1eef2eb --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/CHANGELOG.md @@ -0,0 +1,382 @@ +# MUI Changelog + +## 0.5.9 - May 17, 2016 + +* Set z-index of .mui-select__menu to 2 to fix overlap bug with floating action + buttons + +## 0.5.8 - May 6, 2016 + +* Added react@^15.0.0 as peerDependency in NPM package.json + +## 0.5.7 - May 5, 2016 + +* Fixed Angular injector minification bug in MUI Tabs + +## 0.5.6 - April 28, 2016 + +* Bugfix to Email SASS semantic markup +* Handling timeouts gracefully in React componentWillUnmount + +## 0.5.5 - April 26, 2016 + +* Using ES6 for Angular source code +* Added MUI Angular to NPM package + +## 0.5.4 - April 22, 2016 + +* Added support for `target` attribute to React DropdownItem + +## 0.5.3 - April 16, 2016 + +* Added support for Angular Tabs directive +* Fixed focus bug with Angular Select directive + +## 0.5.2 - April 14, 2016 + +* Added support for React 15.0.1 + +## 0.5.1 - April 12, 2016 + +* Fixed bug causing onChange to be called twice on React and + +## 0.5.0 - April 7, 2016 + +* Major upgrade to Angular library - fixed many bugs and added missing features + +## 0.4.9 - April 6, 2016 + +* Fixed bug in React Dropdown that prevented menu from closing when a + DropdownItem was selected +* Fixed bug in React Dropdown that fired onClick event on DropdownItem twice +* Added support for onSelect event to React Dropdown +* Added support for React elements to React Dropdown label + +## 0.4.8 - March 30, 2016 + +* Fixed bug that kept dropdowns open when other dropdowns were clicked on + +## 0.4.7 - March 1, 2016 + +* Added JS `change` eveent handler to mui-textfield input elements +* Improved organization of MUI sass files +* Improved organization of MUI js files + +## 0.4.6 - February 18, 2016 + +* Fixed component name errors in NPM react.js module + +## 0.4.5 - February 12, 2016 + +* Changed React SelectItem component name to Option +* Added controlled controller support to React Select, Checkbox, Radio +* Bugfixes to Angular library + +## 0.4.4 - February 8, 2016 + +* Changed React input component names to Input and Textarea + +## 0.4.3 - February 7, 2016 + +* Added Angular library + +## 0.4.2 - February 3, 2016 + +* Added support for other React attributes and events +* Set default font-family to "Arial, Verdana, Tahoma" for better cross-browser + support out of the box + +## 0.4.1 - February 2, 2016 + +* Added defaultValue and controlled component support to React TextInput and + TextareaInput + +## 0.4.0 - February 2, 2016 + +* Made CSS/JS ripple node removal more robust +* Added value, defaultValue, onChange support to React Select component +* Changed boolean properties to use React built-in names: + * isAutofocus -> autoFocus + * isChecked -> checked + * isDisabled -> disabled + * isRequired -> required +* Changed other boolean properties to use React-like names: + * isFluid -> fluid + * isInline -> inline + * isInvalid -> invalid + * isJustified -> justified + * isLabelFloating -> floatingLabel +* Added support for defaultChecked to React Checkbox and Radio components + +## 0.3.0 + +* Replaced .mui-textfield--invalid with .mui--is-invalid +* Replaced .mui--text-black-{XX}, .mui--text-white-{XX} color helpers with: + * .mui--text-dark + * .mui--text-dark-secondary + * .mui--text-dark-hint + * .mui--text-light + * .mui--text-light-secondary + * .mui--text-light-hint + * .mui--text-accent + * .mui--text-accent-secondary + * .mui--text-accent-hint +* Major non-backwards compatible modifications to React library +* Added .mui--text-black and .mui--text-white +* Added 'xl' screen size and changed default widths for 'sm', 'md' and 'lg' breakpoints + +## 0.2.10 - January 12, 2016 + +* Fixed bug causing mui.overlay('off') to throw error when called before + turning on overlay + +## 0.2.9 - December 7, 2015 + +* Fixed path to js file for `muicss` npm package + +## 0.2.8 - December 3, 2015 + +* Added .mui-textfield--invalid css helper + +## 0.2.7 - December 1, 2015 + +* Replaced .mui--text-black-26 with .mui--text-black-38 to bring CSS color + helpers in line with MD spec + +## 0.2.6 - November 27, 2015 + +* Improves floating label animation by using CSS transform + +## 0.2.5 - November 27, 2015 + +* Added .mui-body--scroll-lock specifically for scroll lock + +## 0.2.4 - November 26, 2015 + +* Uses body class for scroll lock + +## 0.2.3 - November 21, 2015 + +* Upgraded to React 0.14.3 + +## 0.2.2 - November 20, 2015 + +* Improved IE10+ CSS borders for buttons, panels and select menu +* Improved positioning of select menu +* Improved logic of select menu initial scroll position +* Improved window scroll lock + +## 0.2.1 - October 16, 2015 + +* Moved textfield floating label modifier to wrapper class +* Disabled use of .mui-textfield__input and .mui-textfield__label--floating + +## 0.2.0 - October 12, 2015 + +* Added html email example layout + +## 0.2.0-rc3 - October 10, 2015 + +* Changed .mui--notransition to .mui--no-transition +* Added .mui--no-user-select + +## 0.2.0-rc2 - October 8, 2015 + +* Removed color attribute from typography classes +* Added text color helpers +* Migrated colors.css to BEM syntax + +## 0.2.0-rc1 - October 7, 2015 + +* Migrated CSS/JS and Email Libraries to BEM syntax +* Removed internal bootstrap source code dependency +* Removed MUIRoundButton from React library + +## 0.1.23 - September 19, 2015 + +* Added support for data-attributes in Tabs CSS + +## 0.1.22 - September 18, 2015 + +* Added tab events + +## 0.1.22-rc1 - September 3, 2015 + +* Removed unnecessary styles from button CSS +* Using "mui-is-" syntax for stateful CSS (e.g. mui-is-active) +* Added data-attributes syntax for buttons, dropdowns, tables, container +* Added a dark button option +* Changed floating action button naming from "floating" to "fab" + +## 0.1.21 - August 5, 2015 + +* Removed default down arrow on select component on IE + +## 0.1.20 - August 5, 2015 + +* Raising Error objects +* Decreased $mui-container-sm width by 18px to account for vertical scrollbar +* Bugfix to _outsideClick handler in react library +* Using default <select> behavior on touch devices + +## 0.1.19 - July 26, 2015 + +* Bugfix to mui-react-combined.js build script +* Removed styles on bare
      '}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.col";r["default"].module(a,[]).directive("muiCol",function(){return{restrict:"AE",scope:!0,replace:!0,template:"
      ",transclude:!0,link:function(e,t,n,i,a){a(e,function(e){t.append(e)});var l={xs:"mui-col-xs-",sm:"mui-col-sm-",md:"mui-col-md-",lg:"mui-col-lg-","xs-offset":"mui-col-xs-offset-","sm-offset":"mui-col-sm-offset-","md-offset":"mui-col-md-offset-","lg-offset":"mui-col-lg-offset-"};r["default"].forEach(l,function(e,i){var r=n[n.$normalize(i)];r&&t.addClass(e+r)})}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],11:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.container";r["default"].module(a,[]).directive("muiContainer",function(){return{restrict:"AE",template:'
      ',transclude:!0,scope:!0,replace:!0,link:function(e,t,n,i,a){a(e,function(e){t.append(e)}),r["default"].isUndefined(n.fluid)||t.removeClass("mui-container").addClass("mui-container-fluid")}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],12:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.divider";r["default"].module(a,[]).directive("muiDivider",function(){return{restrict:"AE",replace:!0,compile:function(e,t){e.addClass("mui-divider")}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],13:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.dropdown-item";r["default"].module(a,[]).directive("muiDropdownItem",function(){return{restrict:"AE",replace:!0,scope:{link:"@"},transclude:!0,template:'
    • '}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],14:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.dropdown";r["default"].module(a,[]).directive("muiDropdown",["$timeout","$compile",function(e,t){return{restrict:"AE",transclude:!0,replace:!0,scope:{variant:"@",color:"@",size:"@",open:"=?",ngDisabled:"="},template:'
        ',link:function(e,t,n){function i(){e.open=!1,e.$apply()}var a,l,o="mui-dropdown__menu",u="mui--is-open",s="mui-dropdown__menu--right",d=r["default"].isUndefined;a=r["default"].element(t[0].querySelector("."+o)),l=r["default"].element(t[0].querySelector(".mui-btn")),a.css("margin-top","-3px"),d(n.open)||(e.open=!0),d(n.disabled)||l.attr("disabled",!0),d(n.rightAlign)||a.addClass(s),d(n.noCaret)?l.html(n.label+" "):l.html(n.label),e.$watch("open",function(e){e===!0?(a.addClass(u),document.addEventListener("click",i)):e===!1&&(a.removeClass(u),document.removeEventListener("click",i))}),e.onClick=function(t){e.disabled||(t.preventDefault(),t.stopPropagation(),e.open?e.open=!1:e.open=!0)}}}}]),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.form";r["default"].module(a,[]).directive("muiFormInline",function(){return{restrict:"A",link:function(e,t,n){t.addClass("mui-form--inline")}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],16:[function(e,t,n){"use strict";function i(e,t){t?e.removeClass(u).addClass(s):e.removeClass(s).addClass(u)}function r(e){var t,n,r="mui--is-dirty";return t={floatLabel:"@",hint:"@",label:"@",ngDisabled:"=",ngModel:"="},n='
        ',e?(t.rows="@",n+=''):(t.type="@",n+=''),n+="
        ",["$timeout",function(a){return{restrict:"AE",require:["ngModel"],scope:t,replace:!0,template:n,link:function(t,n,o,u){var s=n.find("input")||n.find("textarea"),d=n.find("label"),c=u[0],f=(u[1],l["default"].isUndefined),p=s[0];p&&(p._muiTextfield=!0),n.removeAttr("ng-change"),n.removeAttr("ng-model"),e?t.rows=t.rows||2:t.type=t.type||"text",f(o.autofocus)||s[0].focus(),f(o.required)||s.prop("required",!0),f(o.invalid)||s.addClass("mui--is-invalid"),i(s,t.ngModel),f(t.floatLabel)||(n.addClass("mui-textfield--float-label"),a(function(){d.css({transition:".15s ease-out","-webkit-transition":".15s ease-out","-moz-transition":".15s ease-out","-o-transition":".15s ease-out","-ms-transition":".15s ease-out"})},150)),t.onChange=function(){var e=t.ngModel;c&&c.$setViewValue(e),i(s,e),s.addClass(r)},t.onFocus=function(){s.addClass(r)}}}}]}Object.defineProperty(n,"__esModule",{value:!0});var a=window.angular,l=babelHelpers.interopRequireDefault(a),o="mui.input",u="mui--is-empty",s="mui--is-not-empty";l["default"].module(o,[]).directive("muiInput",r(!1)).directive("muiTextarea",r(!0)),n["default"]=o,t.exports=n["default"]},{angular:"aeQg5j"}],17:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.panel";r["default"].module(a,[]).directive("muiPanel",function(){return{restrict:"AE",replace:!0,scope:!0,template:'
        ',transclude:!0,link:function(e,t,n,i,r){r(e,function(e){t.append(e)})}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.radio";r["default"].module(a,[]).directive("muiRadio",function(){return{restrict:"AE",replace:!0,require:["?ngModel"],scope:{label:"@",name:"@",value:"@",ngModel:"=",ngDisabled:"="},template:'
        '}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],19:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a="mui.row";r["default"].module("mui.row",[]).directive("muiRow",function(){return{restrict:"AE",scope:!0,replace:!0,template:'
        ',transclude:!0,link:function(e,t,n,i,r){r(e,function(e){t.append(e)})}}}),n["default"]=a,t.exports=n["default"]},{angular:"aeQg5j"}],20:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a=e("../js/lib/forms"),l=babelHelpers.interopRequireWildcard(a),o=e("../js/lib/util"),u=babelHelpers.interopRequireWildcard(o),s=e("../js/lib/jqLite"),d=babelHelpers.interopRequireWildcard(s),c="mui.select";r["default"].module(c,[]).directive("muiSelect",["$timeout",function(e){return{restrict:"AE",require:["ngModel"],scope:{name:"@",ngDisabled:"=",ngModel:"="},replace:!0,transclude:!0,template:'
        {{option.label}}
        ',link:function(t,n,i,a,o){function s(){t.isOpen=!1,t.$digest()}var c=n,f=n.find("div"),p=n.find("select"),m=r["default"].isUndefined;p[0]._muiSelect=!0,t.options=[],t.isOpen=!1,t.useDefault=!1,t.origTabIndex=p[0].tabIndex,t.menuIndex=0,m(i.useDefault)||(t.useDefault=!0),c.prop("tabIndex",-1),o(function(e){var n,i;for(i in e)n=e[i],"MUI-OPTION"===n.tagName&&t.options.push({value:n.getAttribute("value"),label:n.getAttribute("label")})}),t.onClick=function(){t.useDefault!==!0&&(t.isOpen=!0,c[0].focus())},t.onFocus=function(){if(t.useDefault!==!0){var e=p[0];t.origTabIndex=e.tabIndex,e.tabIndex=-1,c[0].focus()}},t.onMousedown=function(e){t.useDefault!==!0&&e.preventDefault()},t.onWrapperBlur=function(){p[0].tabIndex=t.origTabIndex},t.onWrapperFocus=function(e){return p[0].disabled?c[0].blur():void 0},t.onWrapperKeydown=function(e){var n=e.keyCode;if(t.isOpen===!1)32!==n&&38!==n&&40!==n||(e.preventDefault(),t.isOpen=!0);else{if(9===n)return t.isOpen=!1;27!==n&&40!==n&&38!==n&&13!==n||e.preventDefault(),27===n?t.isOpen=!1:40===n?t.menuIndex0&&(t.menuIndex-=1):13===n&&(t.ngModel=t.options[t.menuIndex].value,t.isOpen=!1)}},t.chooseOption=function(e){t.ngModel=e.value,t.isOpen=!1},t.$watch("isOpen",function(i,r){if(i!==r&&t.useDefault!==!0)if(i===!0){u.enableScrollLock();var a,o=t.ngModel,c=t.options,m=c.length;for(a=0;m>a;a++)if(c[a].value===o){t.menuIndex=a;break}var v=l.getMenuPositionalCSS(n[0],t.options.length,t.menuIndex);f.css(v),d.scrollTop(f[0],v.scrollTop),e(function(){d.on(document,"click",s),d.on(window,"resize",s)})}else p[0].focus(),u.disableScrollLock(),d.off(document,"click",s),d.off(window,"resize",s)})}}}]),n["default"]=c,t.exports=n["default"]},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,angular:"aeQg5j"}],21:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=window.angular,r=babelHelpers.interopRequireDefault(i),a=e("../js/lib/jqLite"),l=(babelHelpers.interopRequireWildcard(a),"mui.tabs");r["default"].module(l,[]).directive("muiTabs",function(){return{restrict:"EA",transclude:!0,scope:{selectedId:"=?selected",onChange:"&?"},template:'',controller:["$scope",function(e){var t=0;e.tabs=[],this.addTab=function(n){var i=t;return t+=1,e.tabs.push({label:n.label}),n.isActive&&(e.selectedId=i),i}}],link:function(e,t,n,i,a){var l=r["default"].isUndefined;l(e.selectedId)&&(e.selectedId=0),e.justified=!1,l(n.justified)||(e.justified=!0),e.onClick=function(t){t!==e.selectedId&&(e.selectedId=t,e.onChange&&e.$$postDigest(e.onChange))},a(e,function(e){t.append(e)})}}}).directive("muiTab",["$parse",function(e){return{require:"^?muiTabs",restrict:"AE",scope:{active:"&?",label:"@?"},transclude:!0,template:'
        ',link:function(t,n,i,r,a){var l=e(i.onSelect),o=e(i.onDeselect),u=t.$parent.$parent;t.tabId=null,r&&(t.tabId=r.addTab({label:t.label,isActive:Boolean(t.active)})),a(t,function(e){n.find("div").append(e)}),t.$parent.$watch("selectedId",function(e,n){e!==n&&(e===t.tabId&&l(u),n===t.tabId&&o(u))})}}}]),n["default"]=l,t.exports=n["default"]},{"../js/lib/jqLite":4,angular:"aeQg5j"}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.css b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.css new file mode 100644 index 0000000..2a65b9e --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.css @@ -0,0 +1,2522 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS and IE text size adjust after device orientation change, + * without disabling user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/** + * Remove default margin. + */ +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * Improve readability of focused elements when they are also in an + * active/hover state. + */ +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} + +/** + * 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 { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; +} + +/** + * 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 Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +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"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + box-sizing: content-box; + /* 2 */ +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/** + * MUI Colors module + */ +/** + * MUI Reboot + */ +* { + box-sizing: border-box; +} + +*:before, +*:after { + box-sizing: border-box; +} + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; +} + +body { + font-family: Arial, Verdana, Tahoma; + font-size: 14px; + font-weight: 400; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +a { + color: #2196F3; + text-decoration: none; +} + +a:hover, a:focus { + color: #1976D2; + text-decoration: underline; +} + +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +p { + margin: 0 0 10px; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +figure { + margin: 0; +} + +img { + vertical-align: middle; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 10px; + font-size: 21px; + color: rgba(0, 0, 0, 0.87); + line-height: inherit; + border: 0; +} + +input[type="search"] { + box-sizing: border-box; + -webkit-appearance: none; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; +} + +strong { + font-weight: 700; +} + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #2196F3; +} + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +/** + * MUI Appbar + */ +.mui--appbar-height { + height: 56px; +} + +.mui--appbar-min-height, .mui-appbar { + min-height: 56px; +} + +.mui--appbar-line-height { + line-height: 56px; +} + +.mui--appbar-top { + top: 56px; +} + +@media (orientation: landscape) and (max-height: 480px) { + .mui--appbar-height { + height: 48px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 48px; + } + .mui--appbar-line-height { + line-height: 48px; + } + .mui--appbar-top { + top: 48px; + } +} + +@media (min-width: 480px) { + .mui--appbar-height { + height: 64px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 64px; + } + .mui--appbar-line-height { + line-height: 64px; + } + .mui--appbar-top { + top: 64px; + } +} + +.mui-appbar { + background-color: #2196F3; + color: #FFF; +} + +/** + * MUI Buttons + */ +.mui-btn { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; + transition: all 0.2s ease-in-out; + display: inline-block; + height: 36px; + padding: 0 26px; + margin-top: 6px; + margin-bottom: 6px; + border: none; + border-radius: 2px; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + line-height: 36px; + vertical-align: middle; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 14px; + letter-spacing: 0.03em; + position: relative; + overflow: hidden; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + color: rgba(0, 0, 0, 0.87); + background-color: white; +} + +.mui-btn[disabled]:hover, .mui-btn[disabled]:focus, .mui-btn[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +.mui-btn.mui-btn--flat { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn.mui-btn--flat:hover, .mui-btn.mui-btn--flat:focus, .mui-btn.mui-btn--flat:active { + color: rgba(0, 0, 0, 0.87); + background-color: #f2f2f2; +} + +.mui-btn.mui-btn--flat[disabled]:hover, .mui-btn.mui-btn--flat[disabled]:focus, .mui-btn.mui-btn--flat[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + outline: 0; + text-decoration: none; + color: rgba(0, 0, 0, 0.87); +} + +.mui-btn:hover, .mui-btn:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn:disabled, .mui-btn.mui--is-disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; +} + +.mui-btn + .mui-btn { + margin-left: 8px; +} + +.mui-btn--flat { + background-color: transparent; +} + +.mui-btn--flat:hover, .mui-btn--flat:focus, .mui-btn--flat:active { + box-shadow: none; + background-color: #f2f2f2; +} + +.mui-btn--raised, .mui-btn--fab { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised, .mui-btn--fab { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn--fab { + position: relative; + padding: 0; + width: 55px; + height: 55px; + line-height: 55px; + border-radius: 50%; + z-index: 1; +} + +.mui-btn--primary { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary:hover, .mui-btn--primary:focus, .mui-btn--primary:active { + color: #FFF; + background-color: #39a1f4; +} + +.mui-btn--primary[disabled]:hover, .mui-btn--primary[disabled]:focus, .mui-btn--primary[disabled]:active { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary.mui-btn--flat { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--primary.mui-btn--flat:hover, .mui-btn--primary.mui-btn--flat:focus, .mui-btn--primary.mui-btn--flat:active { + color: #2196F3; + background-color: #f2f2f2; +} + +.mui-btn--primary.mui-btn--flat[disabled]:hover, .mui-btn--primary.mui-btn--flat[disabled]:focus, .mui-btn--primary.mui-btn--flat[disabled]:active { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--dark { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark:hover, .mui-btn--dark:focus, .mui-btn--dark:active { + color: #FFF; + background-color: #4f4f4f; +} + +.mui-btn--dark[disabled]:hover, .mui-btn--dark[disabled]:focus, .mui-btn--dark[disabled]:active { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark.mui-btn--flat { + color: #424242; + background-color: transparent; +} + +.mui-btn--dark.mui-btn--flat:hover, .mui-btn--dark.mui-btn--flat:focus, .mui-btn--dark.mui-btn--flat:active { + color: #424242; + background-color: #f2f2f2; +} + +.mui-btn--dark.mui-btn--flat[disabled]:hover, .mui-btn--dark.mui-btn--flat[disabled]:focus, .mui-btn--dark.mui-btn--flat[disabled]:active { + color: #424242; + background-color: transparent; +} + +.mui-btn--danger { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger:hover, .mui-btn--danger:focus, .mui-btn--danger:active { + color: #FFF; + background-color: #f55a4e; +} + +.mui-btn--danger[disabled]:hover, .mui-btn--danger[disabled]:focus, .mui-btn--danger[disabled]:active { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger.mui-btn--flat { + color: #F44336; + background-color: transparent; +} + +.mui-btn--danger.mui-btn--flat:hover, .mui-btn--danger.mui-btn--flat:focus, .mui-btn--danger.mui-btn--flat:active { + color: #F44336; + background-color: #f2f2f2; +} + +.mui-btn--danger.mui-btn--flat[disabled]:hover, .mui-btn--danger.mui-btn--flat[disabled]:focus, .mui-btn--danger.mui-btn--flat[disabled]:active { + color: #F44336; + background-color: transparent; +} + +.mui-btn--accent { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent:hover, .mui-btn--accent:focus, .mui-btn--accent:active { + color: #FFF; + background-color: #ff5a92; +} + +.mui-btn--accent[disabled]:hover, .mui-btn--accent[disabled]:focus, .mui-btn--accent[disabled]:active { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent.mui-btn--flat { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--accent.mui-btn--flat:hover, .mui-btn--accent.mui-btn--flat:focus, .mui-btn--accent.mui-btn--flat:active { + color: #FF4081; + background-color: #f2f2f2; +} + +.mui-btn--accent.mui-btn--flat[disabled]:hover, .mui-btn--accent.mui-btn--flat[disabled]:focus, .mui-btn--accent.mui-btn--flat[disabled]:active { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--small { + height: 30.6px; + line-height: 30.6px; + padding: 0 16px; + font-size: 13px; +} + +.mui-btn--large { + height: 54px; + line-height: 54px; + padding: 0 26px; + font-size: 14px; +} + +.mui-btn--fab.mui-btn--small { + width: 44px; + height: 44px; + line-height: 44px; +} + +.mui-btn--fab.mui-btn--large { + width: 75px; + height: 75px; + line-height: 75px; +} + +/** + * MUI Checkboxe and Radio Components + */ +.mui-radio, +.mui-checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} + +.mui-radio > label, +.mui-checkbox > label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.mui-radio > label > input[type="radio"], +.mui-radio--inline > label > input[type="radio"], +.mui-checkbox > label > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px; +} + +.mui-radio + .mui-radio, +.mui-checkbox + .mui-checkbox { + margin-top: -5px; +} + +.mui-radio--inline, +.mui-checkbox--inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} + +.mui-radio--inline > input[type="radio"], +.mui-radio--inline > input[type="checkbox"], +.mui-radio--inline > label > input[type="radio"], +.mui-radio--inline > label > input[type="checkbox"], +.mui-checkbox--inline > input[type="radio"], +.mui-checkbox--inline > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="radio"], +.mui-checkbox--inline > label > input[type="checkbox"] { + margin: 4px 0 0; + line-height: normal; +} + +.mui-radio--inline + .mui-radio--inline, +.mui-checkbox--inline + .mui-checkbox--inline { + margin-top: 0; + margin-left: 10px; +} + +/** + * MUI Container module + */ +.mui-container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container:before, .mui-container:after { + content: " "; + display: table; +} + +.mui-container:after { + clear: both; +} + +@media (min-width: 544px) { + .mui-container { + max-width: 570px; + } +} + +@media (min-width: 768px) { + .mui-container { + max-width: 740px; + } +} + +@media (min-width: 992px) { + .mui-container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .mui-container { + max-width: 1170px; + } +} + +.mui-container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container-fluid:before, .mui-container-fluid:after { + content: " "; + display: table; +} + +.mui-container-fluid:after { + clear: both; +} + +/** + * MUI Divider Component and CSS Helpers + */ +.mui-divider { + display: block; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +.mui--divider-top { + border-top: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-bottom { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-left { + border-left: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-right { + border-right: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Dropdown module + */ +.mui-dropdown { + display: inline-block; + position: relative; +} + +[data-mui-toggle="dropdown"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + outline: 0; +} + +.mui-dropdown__menu { + position: absolute; + top: 100%; + left: 0; + display: none; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border-radius: 2px; + z-index: 1; + background-clip: padding-box; +} + +.mui-dropdown__menu.mui--is-open { + display: block; +} + +.mui-dropdown__menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + white-space: nowrap; +} + +.mui-dropdown__menu > li > a:hover, .mui-dropdown__menu > li > a:focus { + text-decoration: none; + color: rgba(0, 0, 0, 0.87); + background-color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a, .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; +} + +.mui-dropdown__menu--right { + left: auto; + right: 0; +} + +/** + * MUI Form Component + */ +@media (min-width: 544px) { + .mui-form--inline > .mui-textfield { + display: inline-block; + margin-bottom: 0; + } + .mui-form--inline > .mui-radio, + .mui-form--inline > .mui-checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .mui-form--inline > .mui-radio > label, + .mui-form--inline > .mui-checkbox > label { + padding-left: 0; + } + .mui-form--inline > .mui-radio > label > input[type="radio"], + .mui-form--inline > .mui-checkbox > label > input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .mui-form--inline > .mui-select { + display: inline-block; + } + .mui-form--inline > .mui-btn { + margin-bottom: 0; + margin-top: 0; + vertical-align: bottom; + } +} + +/** + * MUI Grid module + */ +.mui-row { + margin-left: -15px; + margin-right: -15px; +} + +.mui-row:before, .mui-row:after { + content: " "; + display: table; +} + +.mui-row:after { + clear: both; +} + +.mui-col-xs-1, .mui-col-sm-1, .mui-col-md-1, .mui-col-lg-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-md-2, .mui-col-lg-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-md-3, .mui-col-lg-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-md-4, .mui-col-lg-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-md-5, .mui-col-lg-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-md-6, .mui-col-lg-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-md-7, .mui-col-lg-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-md-8, .mui-col-lg-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-md-9, .mui-col-lg-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-md-10, .mui-col-lg-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-md-11, .mui-col-lg-11, .mui-col-xs-12, .mui-col-sm-12, .mui-col-md-12, .mui-col-lg-12 { + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} + +.mui-col-xs-1, .mui-col-xs-2, .mui-col-xs-3, .mui-col-xs-4, .mui-col-xs-5, .mui-col-xs-6, .mui-col-xs-7, .mui-col-xs-8, .mui-col-xs-9, .mui-col-xs-10, .mui-col-xs-11, .mui-col-xs-12 { + float: left; +} + +.mui-col-xs-1 { + width: 8.33333%; +} + +.mui-col-xs-2 { + width: 16.66667%; +} + +.mui-col-xs-3 { + width: 25%; +} + +.mui-col-xs-4 { + width: 33.33333%; +} + +.mui-col-xs-5 { + width: 41.66667%; +} + +.mui-col-xs-6 { + width: 50%; +} + +.mui-col-xs-7 { + width: 58.33333%; +} + +.mui-col-xs-8 { + width: 66.66667%; +} + +.mui-col-xs-9 { + width: 75%; +} + +.mui-col-xs-10 { + width: 83.33333%; +} + +.mui-col-xs-11 { + width: 91.66667%; +} + +.mui-col-xs-12 { + width: 100%; +} + +.mui-col-xs-offset-0 { + margin-left: 0%; +} + +.mui-col-xs-offset-1 { + margin-left: 8.33333%; +} + +.mui-col-xs-offset-2 { + margin-left: 16.66667%; +} + +.mui-col-xs-offset-3 { + margin-left: 25%; +} + +.mui-col-xs-offset-4 { + margin-left: 33.33333%; +} + +.mui-col-xs-offset-5 { + margin-left: 41.66667%; +} + +.mui-col-xs-offset-6 { + margin-left: 50%; +} + +.mui-col-xs-offset-7 { + margin-left: 58.33333%; +} + +.mui-col-xs-offset-8 { + margin-left: 66.66667%; +} + +.mui-col-xs-offset-9 { + margin-left: 75%; +} + +.mui-col-xs-offset-10 { + margin-left: 83.33333%; +} + +.mui-col-xs-offset-11 { + margin-left: 91.66667%; +} + +.mui-col-xs-offset-12 { + margin-left: 100%; +} + +@media (min-width: 544px) { + .mui-col-sm-1, .mui-col-sm-2, .mui-col-sm-3, .mui-col-sm-4, .mui-col-sm-5, .mui-col-sm-6, .mui-col-sm-7, .mui-col-sm-8, .mui-col-sm-9, .mui-col-sm-10, .mui-col-sm-11, .mui-col-sm-12 { + float: left; + } + .mui-col-sm-1 { + width: 8.33333%; + } + .mui-col-sm-2 { + width: 16.66667%; + } + .mui-col-sm-3 { + width: 25%; + } + .mui-col-sm-4 { + width: 33.33333%; + } + .mui-col-sm-5 { + width: 41.66667%; + } + .mui-col-sm-6 { + width: 50%; + } + .mui-col-sm-7 { + width: 58.33333%; + } + .mui-col-sm-8 { + width: 66.66667%; + } + .mui-col-sm-9 { + width: 75%; + } + .mui-col-sm-10 { + width: 83.33333%; + } + .mui-col-sm-11 { + width: 91.66667%; + } + .mui-col-sm-12 { + width: 100%; + } + .mui-col-sm-offset-0 { + margin-left: 0%; + } + .mui-col-sm-offset-1 { + margin-left: 8.33333%; + } + .mui-col-sm-offset-2 { + margin-left: 16.66667%; + } + .mui-col-sm-offset-3 { + margin-left: 25%; + } + .mui-col-sm-offset-4 { + margin-left: 33.33333%; + } + .mui-col-sm-offset-5 { + margin-left: 41.66667%; + } + .mui-col-sm-offset-6 { + margin-left: 50%; + } + .mui-col-sm-offset-7 { + margin-left: 58.33333%; + } + .mui-col-sm-offset-8 { + margin-left: 66.66667%; + } + .mui-col-sm-offset-9 { + margin-left: 75%; + } + .mui-col-sm-offset-10 { + margin-left: 83.33333%; + } + .mui-col-sm-offset-11 { + margin-left: 91.66667%; + } + .mui-col-sm-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 768px) { + .mui-col-md-1, .mui-col-md-2, .mui-col-md-3, .mui-col-md-4, .mui-col-md-5, .mui-col-md-6, .mui-col-md-7, .mui-col-md-8, .mui-col-md-9, .mui-col-md-10, .mui-col-md-11, .mui-col-md-12 { + float: left; + } + .mui-col-md-1 { + width: 8.33333%; + } + .mui-col-md-2 { + width: 16.66667%; + } + .mui-col-md-3 { + width: 25%; + } + .mui-col-md-4 { + width: 33.33333%; + } + .mui-col-md-5 { + width: 41.66667%; + } + .mui-col-md-6 { + width: 50%; + } + .mui-col-md-7 { + width: 58.33333%; + } + .mui-col-md-8 { + width: 66.66667%; + } + .mui-col-md-9 { + width: 75%; + } + .mui-col-md-10 { + width: 83.33333%; + } + .mui-col-md-11 { + width: 91.66667%; + } + .mui-col-md-12 { + width: 100%; + } + .mui-col-md-offset-0 { + margin-left: 0%; + } + .mui-col-md-offset-1 { + margin-left: 8.33333%; + } + .mui-col-md-offset-2 { + margin-left: 16.66667%; + } + .mui-col-md-offset-3 { + margin-left: 25%; + } + .mui-col-md-offset-4 { + margin-left: 33.33333%; + } + .mui-col-md-offset-5 { + margin-left: 41.66667%; + } + .mui-col-md-offset-6 { + margin-left: 50%; + } + .mui-col-md-offset-7 { + margin-left: 58.33333%; + } + .mui-col-md-offset-8 { + margin-left: 66.66667%; + } + .mui-col-md-offset-9 { + margin-left: 75%; + } + .mui-col-md-offset-10 { + margin-left: 83.33333%; + } + .mui-col-md-offset-11 { + margin-left: 91.66667%; + } + .mui-col-md-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 992px) { + .mui-col-lg-1, .mui-col-lg-2, .mui-col-lg-3, .mui-col-lg-4, .mui-col-lg-5, .mui-col-lg-6, .mui-col-lg-7, .mui-col-lg-8, .mui-col-lg-9, .mui-col-lg-10, .mui-col-lg-11, .mui-col-lg-12 { + float: left; + } + .mui-col-lg-1 { + width: 8.33333%; + } + .mui-col-lg-2 { + width: 16.66667%; + } + .mui-col-lg-3 { + width: 25%; + } + .mui-col-lg-4 { + width: 33.33333%; + } + .mui-col-lg-5 { + width: 41.66667%; + } + .mui-col-lg-6 { + width: 50%; + } + .mui-col-lg-7 { + width: 58.33333%; + } + .mui-col-lg-8 { + width: 66.66667%; + } + .mui-col-lg-9 { + width: 75%; + } + .mui-col-lg-10 { + width: 83.33333%; + } + .mui-col-lg-11 { + width: 91.66667%; + } + .mui-col-lg-12 { + width: 100%; + } + .mui-col-lg-offset-0 { + margin-left: 0%; + } + .mui-col-lg-offset-1 { + margin-left: 8.33333%; + } + .mui-col-lg-offset-2 { + margin-left: 16.66667%; + } + .mui-col-lg-offset-3 { + margin-left: 25%; + } + .mui-col-lg-offset-4 { + margin-left: 33.33333%; + } + .mui-col-lg-offset-5 { + margin-left: 41.66667%; + } + .mui-col-lg-offset-6 { + margin-left: 50%; + } + .mui-col-lg-offset-7 { + margin-left: 58.33333%; + } + .mui-col-lg-offset-8 { + margin-left: 66.66667%; + } + .mui-col-lg-offset-9 { + margin-left: 75%; + } + .mui-col-lg-offset-10 { + margin-left: 83.33333%; + } + .mui-col-lg-offset-11 { + margin-left: 91.66667%; + } + .mui-col-lg-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 1200px) { + .mui-col-xl-1, .mui-col-xl-2, .mui-col-xl-3, .mui-col-xl-4, .mui-col-xl-5, .mui-col-xl-6, .mui-col-xl-7, .mui-col-xl-8, .mui-col-xl-9, .mui-col-xl-10, .mui-col-xl-11, .mui-col-xl-12 { + float: left; + } + .mui-col-xl-1 { + width: 8.33333%; + } + .mui-col-xl-2 { + width: 16.66667%; + } + .mui-col-xl-3 { + width: 25%; + } + .mui-col-xl-4 { + width: 33.33333%; + } + .mui-col-xl-5 { + width: 41.66667%; + } + .mui-col-xl-6 { + width: 50%; + } + .mui-col-xl-7 { + width: 58.33333%; + } + .mui-col-xl-8 { + width: 66.66667%; + } + .mui-col-xl-9 { + width: 75%; + } + .mui-col-xl-10 { + width: 83.33333%; + } + .mui-col-xl-11 { + width: 91.66667%; + } + .mui-col-xl-12 { + width: 100%; + } + .mui-col-xl-offset-0 { + margin-left: 0%; + } + .mui-col-xl-offset-1 { + margin-left: 8.33333%; + } + .mui-col-xl-offset-2 { + margin-left: 16.66667%; + } + .mui-col-xl-offset-3 { + margin-left: 25%; + } + .mui-col-xl-offset-4 { + margin-left: 33.33333%; + } + .mui-col-xl-offset-5 { + margin-left: 41.66667%; + } + .mui-col-xl-offset-6 { + margin-left: 50%; + } + .mui-col-xl-offset-7 { + margin-left: 58.33333%; + } + .mui-col-xl-offset-8 { + margin-left: 66.66667%; + } + .mui-col-xl-offset-9 { + margin-left: 75%; + } + .mui-col-xl-offset-10 { + margin-left: 83.33333%; + } + .mui-col-xl-offset-11 { + margin-left: 91.66667%; + } + .mui-col-xl-offset-12 { + margin-left: 100%; + } +} + +/** + * MUI Panel module + */ +.mui-panel { + padding: 15px; + margin-bottom: 20px; + border-radius: 0; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); +} + +.mui-panel:before, .mui-panel:after { + content: " "; + display: table; +} + +.mui-panel:after { + clear: both; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-panel { + box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.12), -1px 0px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); + } +} + +/** + * MUI Select Component + */ +.mui-select { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-select:focus { + outline: 0; +} + +.mui-select:focus > select { + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + height: 32px; + width: 100%; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + outline: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0px; + box-shadow: none; + background-color: transparent; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg=="); + background-repeat: no-repeat; + background-position: right center; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + padding: 0 25px 0 0; +} + +.mui-select > select::-ms-expand { + display: none; +} + +.mui-select > select:focus { + outline: 0; + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select:disabled { + color: rgba(0, 0, 0, 0.38); + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-select__menu { + position: absolute; + z-index: 2; + min-width: 100%; + overflow-y: auto; + padding: 8px 0; + background-color: #FFF; + font-size: 16px; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-select__menu { + border-left: 1px solid rgba(0, 0, 0, 0.12); + border-top: 1px solid rgba(0, 0, 0, 0.12); + } +} + +.mui-select__menu > div { + padding: 0 22px; + height: 42px; + line-height: 42px; + cursor: pointer; + white-space: nowrap; +} + +.mui-select__menu > div:hover { + background-color: #E0E0E0; +} + +.mui-select__menu > div.mui--is-selected { + background-color: #EEEEEE; +} + +/** + * MUI Table Component + */ +th { + text-align: left; +} + +.mui-table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} + +.mui-table > thead > tr > th, +.mui-table > thead > tr > td, +.mui-table > tbody > tr > th, +.mui-table > tbody > tr > td, +.mui-table > tfoot > tr > th, +.mui-table > tfoot > tr > td { + padding: 10px; + line-height: 1.429; +} + +.mui-table > thead > tr > th { + border-bottom: 2px solid rgba(0, 0, 0, 0.12); + font-weight: 700; +} + +.mui-table > tbody + tbody { + border-top: 2px solid rgba(0, 0, 0, 0.12); +} + +.mui-table.mui-table--bordered > tbody > tr > td { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Tabs module + */ +.mui-tabs__bar { + list-style: none; + padding-left: 0; + margin-bottom: 0; + background-color: transparent; + white-space: nowrap; + overflow-x: auto; +} + +.mui-tabs__bar > li { + display: inline-block; +} + +.mui-tabs__bar > li > a { + display: block; + white-space: nowrap; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + color: rgba(0, 0, 0, 0.87); + cursor: default; + height: 48px; + line-height: 48px; + padding-left: 24px; + padding-right: 24px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-tabs__bar > li > a:hover { + text-decoration: none; +} + +.mui-tabs__bar > li.mui--is-active { + border-bottom: 2px solid #2196F3; +} + +.mui-tabs__bar > li.mui--is-active > a { + color: #2196F3; +} + +.mui-tabs__bar.mui-tabs__bar--justified { + display: table; + width: 100%; + table-layout: fixed; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li { + display: table-cell; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li > a { + text-align: center; + padding-left: 0px; + padding-right: 0px; +} + +.mui-tabs__pane { + display: none; +} + +.mui-tabs__pane.mui--is-active { + display: block; +} + +[data-mui-toggle="tab"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; +} + +/** + * MUI Textfield Component + */ +.mui-textfield { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-textfield > label { + position: absolute; + top: 0; + display: block; + width: 100%; + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + font-weight: 400; + line-height: 15px; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.mui-textfield > textarea { + padding-top: 5px; +} + +.mui-textfield > input, +.mui-textfield > textarea { + display: block; +} + +.mui-textfield > input:focus ~ label, +.mui-textfield > textarea:focus ~ label { + color: #2196F3; +} + +.mui-textfield--float-label > label { + position: absolute; + transform: translate(0px, 15px); + font-size: 16px; + line-height: 32px; + color: rgba(0, 0, 0, 0.26); + text-overflow: clip; + cursor: text; + pointer-events: none; +} + +.mui-textfield--float-label > input:focus ~ label, +.mui-textfield--float-label > textarea:focus ~ label { + transform: translate(0px, 0px); + font-size: 12px; + line-height: 15px; + text-overflow: ellipsis; +} + +.mui-textfield--float-label > input:not(:focus).mui--is-not-empty ~ label, .mui-textfield--float-label > input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield--float-label > input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus).mui--is-not-empty ~ label, +.mui-textfield--float-label > textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + line-height: 15px; + transform: translate(0px, 0px); + text-overflow: ellipsis; +} + +.mui-textfield--wrap-label { + display: table; + width: 100%; + padding-top: 0px; +} + +.mui-textfield--wrap-label:not(.mui-textfield--float-label) > label { + display: table-header-group; + position: static; + white-space: normal; + overflow-x: visible; +} + +.mui-textfield > input, +.mui-textfield > textarea { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + background-color: transparent; + color: rgba(0, 0, 0, 0.87); + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + outline: none; + width: 100%; + font-size: 16px; + padding: 0; + box-shadow: none; + border-radius: 0px; + background-image: none; +} + +.mui-textfield > input:focus, +.mui-textfield > textarea:focus { + border-color: #2196F3; + border-width: 2px; +} + +.mui-textfield > input:disabled, .mui-textfield > input:-moz-read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:-moz-read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input:disabled, .mui-textfield > input:read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input::-webkit-input-placeholder, +.mui-textfield > textarea::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::-moz-placeholder, +.mui-textfield > textarea::-moz-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input:-ms-input-placeholder, +.mui-textfield > textarea:-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::placeholder, +.mui-textfield > textarea::placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input { + height: 32px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > textarea { + min-height: 64px; +} + +.mui-textfield > textarea[rows]:not([rows="2"]):focus { + margin-bottom: -1px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):not(:required), +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + border-color: #F44336; + border-width: 2px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required) ~ label, .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty ~ label, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):not(:required) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty ~ label, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: #F44336; +} + +.mui-textfield:not(.mui-textfield--float-label) > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label { + color: #F44336; +} + +/** + * MUI Helpers module + */ +@keyframes mui-node-inserted { + from { + opacity: 0.99; + } + to { + opacity: 1; + } +} + +.mui--no-transition { + transition: none !important; +} + +.mui--no-user-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} + +.mui--text-left { + text-align: left !important; +} + +.mui--text-right { + text-align: right !important; +} + +.mui--text-center { + text-align: center !important; +} + +.mui--text-justify { + text-align: justify !important; +} + +.mui--text-nowrap { + white-space: nowrap !important; +} + +.mui--align-baseline { + vertical-align: baseline !important; +} + +.mui--align-top { + vertical-align: top !important; +} + +.mui--align-middle { + vertical-align: middle !important; +} + +.mui--align-bottom { + vertical-align: bottom !important; +} + +.mui--text-dark { + color: rgba(0, 0, 0, 0.87); +} + +.mui--text-dark-secondary { + color: rgba(0, 0, 0, 0.54); +} + +.mui--text-dark-hint { + color: rgba(0, 0, 0, 0.38); +} + +.mui--text-light { + color: #FFF; +} + +.mui--text-light-secondary { + color: rgba(255, 255, 255, 0.7); +} + +.mui--text-light-hint { + color: rgba(255, 255, 255, 0.3); +} + +.mui--text-accent { + color: rgba(255, 64, 129, 0.87); +} + +.mui--text-accent-secondary { + color: rgba(255, 64, 129, 0.54); +} + +.mui--text-accent-hint { + color: rgba(255, 64, 129, 0.38); +} + +.mui--text-black { + color: #000; +} + +.mui--text-white { + color: #FFF; +} + +.mui--text-danger { + color: #F44336; +} + +.mui-list--unstyled { + padding-left: 0; + list-style: none; +} + +.mui-list--inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} + +.mui-list--inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} + +.mui--z1, .mui-dropdown__menu, .mui-select__menu { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); +} + +.mui--z2 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z3 { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z4 { + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} + +.mui--z5 { + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); +} + +.mui--clearfix:before, .mui--clearfix:after { + content: " "; + display: table; +} + +.mui--clearfix:after { + clear: both; +} + +.mui--pull-right { + float: right !important; +} + +.mui--pull-left { + float: left !important; +} + +.mui--hide { + display: none !important; +} + +.mui--show { + display: block !important; +} + +.mui--invisible { + visibility: hidden; +} + +.mui--overflow-hidden { + overflow: hidden !important; +} + +.mui--overflow-hidden-x { + overflow-x: hidden !important; +} + +.mui--overflow-hidden-y { + overflow-y: hidden !important; +} + +.mui--visible-xs-block, +.mui--visible-xs-inline, +.mui--visible-xs-inline-block, +.mui--visible-sm-block, +.mui--visible-sm-inline, +.mui--visible-sm-inline-block, +.mui--visible-md-block, +.mui--visible-md-inline, +.mui--visible-md-inline-block, +.mui--visible-lg-block, +.mui--visible-lg-inline, +.mui--visible-lg-inline-block, +.mui--visible-xl-block, +.mui--visible-xl-inline, +.mui--visible-xl-inline-block { + display: none !important; +} + +@media (max-width: 543px) { + .mui-visible-xs { + display: block !important; + } + table.mui-visible-xs { + display: table; + } + tr.mui-visible-xs { + display: table-row !important; + } + th.mui-visible-xs, + td.mui-visible-xs { + display: table-cell !important; + } + .mui--visible-xs-block { + display: block !important; + } + .mui--visible-xs-inline { + display: inline !important; + } + .mui--visible-xs-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui-visible-sm { + display: block !important; + } + table.mui-visible-sm { + display: table; + } + tr.mui-visible-sm { + display: table-row !important; + } + th.mui-visible-sm, + td.mui-visible-sm { + display: table-cell !important; + } + .mui--visible-sm-block { + display: block !important; + } + .mui--visible-sm-inline { + display: inline !important; + } + .mui--visible-sm-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui-visible-md { + display: block !important; + } + table.mui-visible-md { + display: table; + } + tr.mui-visible-md { + display: table-row !important; + } + th.mui-visible-md, + td.mui-visible-md { + display: table-cell !important; + } + .mui--visible-md-block { + display: block !important; + } + .mui--visible-md-inline { + display: inline !important; + } + .mui--visible-md-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui-visible-lg { + display: block !important; + } + table.mui-visible-lg { + display: table; + } + tr.mui-visible-lg { + display: table-row !important; + } + th.mui-visible-lg, + td.mui-visible-lg { + display: table-cell !important; + } + .mui--visible-lg-block { + display: block !important; + } + .mui--visible-lg-inline { + display: inline !important; + } + .mui--visible-lg-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 1200px) { + .mui-visible-xl { + display: block !important; + } + table.mui-visible-xl { + display: table; + } + tr.mui-visible-xl { + display: table-row !important; + } + th.mui-visible-xl, + td.mui-visible-xl { + display: table-cell !important; + } + .mui--visible-xl-block { + display: block !important; + } + .mui--visible-xl-inline { + display: inline !important; + } + .mui--visible-xl-inline-block { + display: inline-block !important; + } +} + +@media (max-width: 543px) { + .mui--hidden-xs { + display: none !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui--hidden-sm { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui--hidden-md { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui--hidden-lg { + display: none !important; + } +} + +@media (min-width: 1200px) { + .mui--hidden-xl { + display: none !important; + } +} + +body.mui-body--scroll-lock { + overflow: hidden !important; +} + +/** + * MUI Overlay module + */ +#mui-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 99999999; + background-color: rgba(0, 0, 0, 0.2); + overflow: auto; +} + +/** + * MUI Ripple module + */ +.mui-ripple-effect { + position: absolute; + border-radius: 50%; + pointer-events: none; + opacity: 0; + animation: mui-ripple-animation 2s; +} + +@keyframes mui-ripple-animation { + from { + transform: scale(1); + opacity: 0.4; + } + to { + transform: scale(100); + opacity: 0; + } +} + +.mui-btn > .mui-ripple-effect { + background-color: #a6a6a6; +} + +.mui-btn--primary > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--dark > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--danger > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--accent > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--flat > .mui-ripple-effect { + background-color: #a6a6a6; +} + +/** + * MUI Typography module + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; +} + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; +} + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; +} + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; +} + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; +} + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; +} + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; +} + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; +} + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; +} + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; +} + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; +} + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; +} diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.min.css b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.min.css new file mode 100644 index 0000000..750f365 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/css/mui.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase} \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-inline.css b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-inline.css new file mode 100644 index 0000000..da4dcc2 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-inline.css @@ -0,0 +1,686 @@ +body { + width: 100% !important; + min-width: 100%; + margin: 0; + padding: 0; +} + +img { + border: 0 none; + height: auto; + line-height: 100%; + outline: none; + text-decoration: none; +} + +a img { + border: 0 none; +} + +table { + border-spacing: 0; + border-collapse: collapse; +} + +td { + padding: 0; + text-align: left; + word-break: break-word; + -webkit-hyphens: auto; + -moz-hyphens: auto; + hyphens: auto; + border-collapse: collapse !important; +} + +table, td { + mso-table-lspace: 0pt; + mso-table-rspace: 0pt; +} + +body, +table, +td, +p, +a, +li, +blockquote { + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +img { + -ms-interpolation-mode: bicubic; +} + +/** + * MUI Colors module + */ +/** + * MUI Email Reboot + */ +body { + color: #212121; + font-family: "Helvetica Neue", Helvetica, Arial, Verdana, "Trebuchet MS"; + font-weight: 400; + font-size: 14px; + line-height: 1.429; + letter-spacing: 0.001em; + background-color: #FFF; +} + +a { + color: #2196F3; + text-decoration: none; +} + +p { + margin: 0 0 10px; +} + +hr { + color: #e0e0e0; + background-color: #e0e0e0; + height: 1px; + border: none; +} + +strong { + font-weight: 700; +} + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +/** + * MUI Email Body Component + */ +.mui-body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + color: #212121; + font-family: "Helvetica Neue", Helvetica, Arial, Verdana, "Trebuchet MS"; + font-weight: 400; + font-size: 14px; + line-height: 1.429; + letter-spacing: 0.001em; + background-color: #FFF; +} + +/** + * MUI Email Buttons + */ +.mui-btn { + cursor: pointer; + white-space: nowrap; +} + +a.mui-btn { + font-weight: 500; + font-size: 14px; + color: #212121; + line-height: 14px; + letter-spacing: 0.03em; + text-transform: uppercase; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + border-top: 1px solid #FFF; + border-left: 1px solid #FFF; + border-right: 1px solid #FFF; + border-bottom: 1px solid #FFF; + color: #212121; + background-color: #FFF; + display: inline-block; + text-decoration: none; + text-align: center; + border-radius: 3px; + padding: 10px 25px; + background-color: transparent; +} + +a.mui-btn.mui-btn--raised { + border-top: 1px solid #f2f2f2; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + border-bottom: 2px solid #bababa; +} + +a.mui-btn.mui-btn--flat { + background-color: transparent; + color: #212121; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--primary { + border-top: 1px solid #2196F3; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 1px solid #2196F3; + color: #FFF; + background-color: #2196F3; +} + +a.mui-btn.mui-btn--primary.mui-btn--raised { + border-top: 1px solid #51adf6; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 2px solid #0a6ebd; +} + +a.mui-btn.mui-btn--primary.mui-btn--flat { + background-color: transparent; + color: #2196F3; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--danger { + border-top: 1px solid #F44336; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 1px solid #F44336; + color: #FFF; + background-color: #F44336; +} + +a.mui-btn.mui-btn--danger.mui-btn--raised { + border-top: 1px solid #f77066; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 2px solid #d2190b; +} + +a.mui-btn.mui-btn--danger.mui-btn--flat { + background-color: transparent; + color: #F44336; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--dark { + border-top: 1px solid #424242; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 1px solid #424242; + color: #FFF; + background-color: #424242; +} + +a.mui-btn.mui-btn--dark.mui-btn--raised { + border-top: 1px solid #5c5c5c; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 2px solid #1c1c1c; +} + +a.mui-btn.mui-btn--dark.mui-btn--flat { + background-color: transparent; + color: #424242; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn.mui-btn--accent { + border-top: 1px solid #FF4081; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 1px solid #FF4081; + color: #FFF; + background-color: #FF4081; +} + +a.mui-btn.mui-btn--accent.mui-btn--raised { + border-top: 1px solid #ff73a3; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 2px solid #f30053; +} + +a.mui-btn.mui-btn--accent.mui-btn--flat { + background-color: transparent; + color: #FF4081; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn > tr > td, +table.mui-btn > tbody > tr > td { + background-color: #FFF; +} + +table.mui-btn > tr > td > a, +table.mui-btn > tbody > tr > td > a { + color: #212121; + border-top: 1px solid #FFF; + border-left: 1px solid #FFF; + border-right: 1px solid #FFF; + border-bottom: 1px solid #FFF; +} + +table.mui-btn.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #f2f2f2; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + border-bottom: 2px solid #bababa; +} + +table.mui-btn.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--flat > tbody > tr > td > a { + color: #212121; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn > tr > td, +table.mui-btn > tbody > tr > td { + border-radius: 3px; +} + +table.mui-btn > tr > td > a, +table.mui-btn > tbody > tr > td > a { + font-weight: 500; + font-size: 14px; + color: #212121; + line-height: 14px; + letter-spacing: 0.03em; + text-transform: uppercase; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + display: inline-block; + text-decoration: none; + text-align: center; + border-radius: 3px; + padding: 10px 25px; + background-color: transparent; +} + +table.mui-btn.mui-btn--primary > tr > td, +table.mui-btn.mui-btn--primary > tbody > tr > td { + background-color: #2196F3; +} + +table.mui-btn.mui-btn--primary > tr > td > a, +table.mui-btn.mui-btn--primary > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #2196F3; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 1px solid #2196F3; +} + +table.mui-btn.mui-btn--primary.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--primary.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #51adf6; + border-left: 1px solid #2196F3; + border-right: 1px solid #2196F3; + border-bottom: 2px solid #0a6ebd; +} + +table.mui-btn.mui-btn--primary.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--primary.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--primary.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--primary.mui-btn--flat > tbody > tr > td > a { + color: #2196F3; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn.mui-btn--danger > tr > td, +table.mui-btn.mui-btn--danger > tbody > tr > td { + background-color: #F44336; +} + +table.mui-btn.mui-btn--danger > tr > td > a, +table.mui-btn.mui-btn--danger > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #F44336; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 1px solid #F44336; +} + +table.mui-btn.mui-btn--danger.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--danger.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #f77066; + border-left: 1px solid #F44336; + border-right: 1px solid #F44336; + border-bottom: 2px solid #d2190b; +} + +table.mui-btn.mui-btn--danger.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--danger.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--danger.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--danger.mui-btn--flat > tbody > tr > td > a { + color: #F44336; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn.mui-btn--dark > tr > td, +table.mui-btn.mui-btn--dark > tbody > tr > td { + background-color: #424242; +} + +table.mui-btn.mui-btn--dark > tr > td > a, +table.mui-btn.mui-btn--dark > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #424242; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 1px solid #424242; +} + +table.mui-btn.mui-btn--dark.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--dark.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #5c5c5c; + border-left: 1px solid #424242; + border-right: 1px solid #424242; + border-bottom: 2px solid #1c1c1c; +} + +table.mui-btn.mui-btn--dark.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--dark.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--dark.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--dark.mui-btn--flat > tbody > tr > td > a { + color: #424242; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +table.mui-btn.mui-btn--accent > tr > td, +table.mui-btn.mui-btn--accent > tbody > tr > td { + background-color: #FF4081; +} + +table.mui-btn.mui-btn--accent > tr > td > a, +table.mui-btn.mui-btn--accent > tbody > tr > td > a { + color: #FFF; + border-top: 1px solid #FF4081; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 1px solid #FF4081; +} + +table.mui-btn.mui-btn--accent.mui-btn--raised > tr > td > a, +table.mui-btn.mui-btn--accent.mui-btn--raised > tbody > tr > td > a { + border-top: 1px solid #ff73a3; + border-left: 1px solid #FF4081; + border-right: 1px solid #FF4081; + border-bottom: 2px solid #f30053; +} + +table.mui-btn.mui-btn--accent.mui-btn--flat > tr > td, +table.mui-btn.mui-btn--accent.mui-btn--flat > tbody > tr > td { + background-color: transparent; +} + +table.mui-btn.mui-btn--accent.mui-btn--flat > tr > td > a, +table.mui-btn.mui-btn--accent.mui-btn--flat > tbody > tr > td > a { + color: #FF4081; + border-top: 1px solid transparent; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; +} + +a.mui-btn--small, +table.mui-btn--small > tr > td > a, +table.mui-btn--small > tbody > tr > td > a { + font-size: 13px; + padding: 7.8px 15px; +} + +a.mui-btn--large, +table.mui-btn--large > tr > td > a, +table.mui-btn--large > tbody > tr > td > a { + font-size: 14px; + padding: 19px 25px; +} + +/** + * MUI Email Containers + */ +.mui-container, .mui-container-fixed { + max-width: 600px; + display: block; + margin: 0 auto; + clear: both; + text-align: left; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container-fixed { + width: 600px; +} + +/** + * MUI Email Dividers + */ +.mui-divider { + display: block; + height: 1px; + background-color: #e0e0e0; +} + +.mui--divider-top { + border-top: 1px solid #e0e0e0; +} + +.mui--divider-bottom { + border-bottom: 1px solid #e0e0e0; +} + +.mui--divider-left { + border-left: 1px solid #e0e0e0; +} + +.mui--divider-right { + border-right: 1px solid #e0e0e0; +} + +/** + * MUI Email Panel + */ +.mui-panel { + padding: 15px; + border-radius: 0; + background-color: #FFF; + border-top: 1px solid #ededed; + border-left: 1px solid #e6e6e6; + border-right: 1px solid #e6e6e6; + border-bottom: 2px solid #d4d4d4; +} + +/** + * MUI Email Helpers + */ +.mui--text-left { + text-align: left; +} + +.mui--text-right { + text-align: right; +} + +.mui--text-center { + text-align: center; +} + +.mui--text-justify { + text-align: justify; +} + +.mui-image--fix { + display: block; +} + +.mui--text-dark { + color: #212121; +} + +.mui--text-dark-secondary { + color: #757575; +} + +.mui--text-dark-hint { + color: #9e9e9e; +} + +.mui--text-light { + color: #FFF; +} + +.mui--text-light-secondary { + color: #b3b3b3; +} + +.mui--text-light-hint { + color: gray; +} + +.mui--text-accent { + color: #FF4081; +} + +.mui--text-accent-secondary { + color: #ff82ad; +} + +.mui--text-accent-hint { + color: #ffa6c4; +} + +.mui--text-black { + color: #000; +} + +.mui--text-white { + color: #FFF; +} + +.mui--text-danger { + color: #F44336; +} + +/** + * MUI Email Typography + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; +} + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; +} + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; +} + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; +} + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; +} + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; +} + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; +} + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; +} + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; +} + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; +} + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; +} + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; +} diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-styletag.css b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-styletag.css new file mode 100644 index 0000000..1471793 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/email/mui-email-styletag.css @@ -0,0 +1,36 @@ +/** + * MUI Colors module + */ +/** + * MUI Email Styletag + */ +#outlook a { + padding: 0; +} + +.ReadMsgBody { + width: 100%; +} + +.ExternalClass { + width: 100%; +} + +.ExternalClass, +.ExternalClass p, +.ExternalClass span, +.ExternalClass font, +.ExternalClass td, +.ExternalClass div { + line-height: 100%; +} + +.mui-container-fixed { + width: 600px; + display: block; + margin: 0 auto; + clear: both; + text-align: left; + padding-left: 15px; + padding-right: 15px; +} diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-angular-combined.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-angular-combined.js new file mode 100644 index 0000000..ab809aa --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-angular-combined.js @@ -0,0 +1,2 @@ +!function(i){var e=i.babelHelpers={};e.interopRequireDefault=function(i){return i&&i.__esModule?i:{"default":i}},e.interopRequireWildcard=function(i){if(i&&i.__esModule)return i;var e={};if(null!=i)for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t]);return e["default"]=i,e}}("undefined"==typeof global?self:global),function i(e,t,o){function n(a,r){if(!t[a]){if(!e[a]){var u="function"==typeof require&&require;if(!r&&u)return u(a,!0);if(l)return l(a,!0);throw new Error("Cannot find module '"+a+"'")}var m=t[a]={exports:{}};e[a][0].call(m.exports,function(i){var t=e[a][1][i];return n(t?t:i)},m,m.exports,i,e,t,o)}return t[a].exports}for(var l="function"==typeof require&&require,a=0;as&&(f=r+(t+1)*a-(-1*o+n+l),b=e*a+2*r-p,g=Math.min(f,b)),{height:p+"px",top:o+"px",scrollTop:g}}var n=15,l=32,a=42,r=8;e.exports={getMenuPositionalCSS:o}},{}],5:[function(i,e,t){"use strict";function o(i,e){if(e&&i.setAttribute){for(var t,o=b(i),n=e.split(" "),l=0;l-1:!1}function a(i){if(void 0===i)return"undefined";var e=Object.prototype.toString.call(i);if(0===e.indexOf("[object "))return e.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+e)}function r(i,e,t,o){o=void 0===o?!1:o,i.addEventListener(e,t,o);var n=i._muiEventCache=i._muiEventCache||{};n[e]=n[e]||[],n[e].push([t,o])}function u(i,e,t,o){o=void 0===o?!1:o;var n,l,a=i._muiEventCache=i._muiEventCache||{},r=a[e]||[];for(l=r.length;l--;)n=r[l],(void 0===t||n[0]===t&&n[1]===o)&&(r.splice(l,1),i.removeEventListener(e,n[0],n[1]))}function m(i,e,t,o){r(i,e,function n(o){t&&t.apply(this,arguments),u(i,e,n)},o)}function d(i,e){var t=window;if(void 0===e){if(i===t){var o=document.documentElement;return(t.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return i.scrollLeft}i===t?t.scrollTo(e,s(t)):i.scrollLeft=e}function s(i,e){var t=window;if(void 0===e){if(i===t){var o=document.documentElement;return(t.pageYOffset||o.scrollTop)-(o.clientTop||0)}return i.scrollTop}i===t?t.scrollTo(d(t),e):i.scrollTop=e}function c(i){var e=window,t=i.getBoundingClientRect(),o=s(e),n=d(e);return{top:t.top+o,left:t.left+n,height:t.height,width:t.width}}function p(i){var e=!1,t=!0,o=document,n=o.defaultView,l=o.documentElement,a=o.addEventListener?"addEventListener":"attachEvent",r=o.addEventListener?"removeEventListener":"detachEvent",u=o.addEventListener?"":"on",m=function c(t){"readystatechange"==t.type&&"complete"!=o.readyState||(("load"==t.type?n:o)[r](u+t.type,c,!1),!e&&(e=!0)&&i.call(n,t.type||t))},d=function p(){try{l.doScroll("left")}catch(i){return void setTimeout(p,50)}m("poll")};if("complete"==o.readyState)i.call(n,"lazy");else{if(o.createEventObject&&l.doScroll){try{t=!n.frameElement}catch(s){}t&&d()}o[a](u+"DOMContentLoaded",m,!1),o[a](u+"readystatechange",m,!1),n[a](u+"load",m,!1)}}function f(i,e){if(e&&i.setAttribute){for(var t,o=b(i),n=e.split(" "),l=0;l=0;)o=o.replace(" "+t+" "," ");i.setAttribute("class",o.trim())}}function b(i){var e=(i.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+e+" "}function g(i){return i.replace(v,function(i,e,t,o){return o?t.toUpperCase():t}).replace(y,"Moz$1")}function x(i,e,t){var o;return o=t.getPropertyValue(e),""!==o||i.ownerDocument||(o=i.style[g(e)]),o}var h,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;h={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},e.exports={addClass:o,css:n,hasClass:l,off:u,offset:c,on:r,one:m,ready:p,removeClass:f,type:a,scrollLeft:d,scrollTop:s}},{}],6:[function(i,e,t){"use strict";function o(){var i=window;if(g.debug&&"undefined"!=typeof i.console)try{i.console.log.apply(i.console,arguments)}catch(e){var t=Array.prototype.slice.call(arguments);i.console.log(t.join("\n"))}}function n(i){var e,t=document;e=t.head||t.getElementsByTagName("head")[0]||t.documentElement;var o=t.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=i:o.appendChild(t.createTextNode(i)),e.insertBefore(o,e.firstChild),o}function l(i,e){if(!e)throw new Error("MUI: "+i);"undefined"!=typeof console&&console.error("MUI Warning: "+i)}function a(i){if(h.push(i),void 0===h._initialized){var e=document;x.on(e,"animationstart",r),x.on(e,"mozAnimationStart",r),x.on(e,"webkitAnimationStart",r),h._initialized=!0}}function r(i){if("mui-node-inserted"===i.animationName)for(var e=i.target,t=h.length-1;t>=0;t--)h[t](e)}function u(i){var e="";for(var t in i)e+=i[t]?t+" ":"";return e.trim()}function m(){if(void 0!==b)return b;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",b="auto"===i.style.pointerEvents}function d(i,e){return function(){i[e].apply(i,arguments)}}function s(i,e,t,o,n){var l,a=document.createEvent("HTMLEvents"),t=void 0!==t?t:!0,o=void 0!==o?o:!0;if(a.initEvent(e,t,o),n)for(l in n)a[l]=n[l];return i&&i.dispatchEvent(a),a}function c(){if(v+=1,1===v){var i=window,e=document;f={left:x.scrollLeft(i),top:x.scrollTop(i)},x.addClass(e.body,y),i.scrollTo(f.left,f.top)}}function p(){if(0!==v&&(v-=1,0===v)){var i=window,e=document;x.removeClass(e.body,y),i.scrollTo(f.left,f.top)}}var f,b,g=i("../config"),x=i("./jqLite"),h=[],v=0,y="mui-body--scroll-lock";e.exports={callback:d,classNames:u,disableScrollLock:p,dispatchEvent:s,enableScrollLock:c,log:o,loadStyle:n,onNodeInserted:a,raiseError:l,supportsPointerEvents:m}},{"../config":3,"./jqLite":5}],7:[function(i,e,t){e.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],8:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.appbar";n["default"].module(l,[]).directive("muiAppbar",function(){return{restrict:"AE",transclude:!0,replace:!0,template:'
        ',link:function(i,e,t,o,n){n(i,function(i){e.append(i)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],9:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l=i("../js/lib/jqLite"),a=babelHelpers.interopRequireWildcard(l),r="mui.button";n["default"].module(r,[]).directive("muiButton",function(){return{restrict:"AE",scope:{type:"@?"},replace:!0,template:'',transclude:!0,link:function(i,e,t){var o=n["default"].isUndefined,l=e[0];l._muiDropdown=!0,l._muiRipple=!0,!o(t.disabled)&&o(t.ngDisabled)&&e.prop("disabled",!0),n["default"].forEach(["variant","color","size"],function(i){var o=t[i];o&&e.addClass("mui-btn--"+o)})}}}).directive("muiRipple",["$timeout",function(i){return{restrict:"A",link:function(e,t,o){var l="mui-ripple-effect";t.on("mousedown",function(e){if(!t.prop("disabled")){var o,r,u=a.offset(t[0]),m=e.pageX-u.left,d=e.pageY-u.top;o=u.height,t.hasClass("mui-btn--fab")&&(o=u.height/2),r=o/2;var s={height:o+"px",width:o+"px",top:d-r+"px",left:m-r+"px"},c=n["default"].element("
        ").addClass(l);for(var p in s)c.css(p,s[p]);t.append(c),i(function(){c.remove()},2e3)}})}}}]),t["default"]=r,e.exports=t["default"]},{"../js/lib/jqLite":5,angular:"aeQg5j"}],10:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.caret";n["default"].module(l,[]).directive("muiCaret",function(){return{restrict:"AE",replace:!0,template:''}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],11:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.checkbox";n["default"].module(l,[]).directive("muiCheckbox",function(){return{restrict:"AE",replace:!0,require:["?ngModel"],scope:{label:"@",name:"@",value:"@",ngModel:"=",ngDisabled:"="},template:'
        '}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],12:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.col";n["default"].module(l,[]).directive("muiCol",function(){return{restrict:"AE",scope:!0,replace:!0,template:"
        ",transclude:!0,link:function(i,e,t,o,l){l(i,function(i){e.append(i)});var a={xs:"mui-col-xs-",sm:"mui-col-sm-",md:"mui-col-md-",lg:"mui-col-lg-","xs-offset":"mui-col-xs-offset-","sm-offset":"mui-col-sm-offset-","md-offset":"mui-col-md-offset-","lg-offset":"mui-col-lg-offset-"};n["default"].forEach(a,function(i,o){var n=t[t.$normalize(o)];n&&e.addClass(i+n)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],13:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.container";n["default"].module(l,[]).directive("muiContainer",function(){return{restrict:"AE",template:'
        ',transclude:!0,scope:!0,replace:!0,link:function(i,e,t,o,l){l(i,function(i){e.append(i)}),n["default"].isUndefined(t.fluid)||e.removeClass("mui-container").addClass("mui-container-fluid")}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],14:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.divider";n["default"].module(l,[]).directive("muiDivider",function(){return{restrict:"AE",replace:!0,compile:function(i,e){i.addClass("mui-divider")}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],15:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.dropdown-item";n["default"].module(l,[]).directive("muiDropdownItem",function(){return{restrict:"AE",replace:!0,scope:{link:"@"},transclude:!0,template:'
      • '}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],16:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.dropdown";n["default"].module(l,[]).directive("muiDropdown",["$timeout","$compile",function(i,e){return{restrict:"AE",transclude:!0,replace:!0,scope:{variant:"@",color:"@",size:"@",open:"=?",ngDisabled:"="},template:'
          ',link:function(i,e,t){function o(){i.open=!1,i.$apply()}var l,a,r="mui-dropdown__menu",u="mui--is-open",m="mui-dropdown__menu--right",d=n["default"].isUndefined;l=n["default"].element(e[0].querySelector("."+r)),a=n["default"].element(e[0].querySelector(".mui-btn")),l.css("margin-top","-3px"),d(t.open)||(i.open=!0),d(t.disabled)||a.attr("disabled",!0),d(t.rightAlign)||l.addClass(m),d(t.noCaret)?a.html(t.label+" "):a.html(t.label),i.$watch("open",function(i){i===!0?(l.addClass(u),document.addEventListener("click",o)):i===!1&&(l.removeClass(u),document.removeEventListener("click",o))}),i.onClick=function(e){i.disabled||(e.preventDefault(),e.stopPropagation(),i.open?i.open=!1:i.open=!0)}}}}]),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],17:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.form";n["default"].module(l,[]).directive("muiFormInline",function(){return{restrict:"A",link:function(i,e,t){e.addClass("mui-form--inline")}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],18:[function(i,e,t){"use strict";function o(i,e){e?i.removeClass(u).addClass(m):i.removeClass(m).addClass(u)}function n(i){var e,t,n="mui--is-dirty";return e={floatLabel:"@",hint:"@",label:"@",ngDisabled:"=",ngModel:"="},t='
          ',i?(e.rows="@",t+=''):(e.type="@",t+=''),t+="
          ",["$timeout",function(l){return{restrict:"AE",require:["ngModel"],scope:e,replace:!0,template:t,link:function(e,t,r,u){var m=t.find("input")||t.find("textarea"),d=t.find("label"),s=u[0],c=(u[1],a["default"].isUndefined),p=m[0];p&&(p._muiTextfield=!0),t.removeAttr("ng-change"),t.removeAttr("ng-model"),i?e.rows=e.rows||2:e.type=e.type||"text",c(r.autofocus)||m[0].focus(),c(r.required)||m.prop("required",!0),c(r.invalid)||m.addClass("mui--is-invalid"),o(m,e.ngModel),c(e.floatLabel)||(t.addClass("mui-textfield--float-label"),l(function(){d.css({transition:".15s ease-out","-webkit-transition":".15s ease-out","-moz-transition":".15s ease-out","-o-transition":".15s ease-out","-ms-transition":".15s ease-out"})},150)),e.onChange=function(){var i=e.ngModel;s&&s.$setViewValue(i),o(m,i),m.addClass(n)},e.onFocus=function(){m.addClass(n)}}}}]}Object.defineProperty(t,"__esModule",{value:!0});var l=window.angular,a=babelHelpers.interopRequireDefault(l),r="mui.input",u="mui--is-empty",m="mui--is-not-empty";a["default"].module(r,[]).directive("muiInput",n(!1)).directive("muiTextarea",n(!0)),t["default"]=r,e.exports=t["default"]},{angular:"aeQg5j"}],19:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.panel";n["default"].module(l,[]).directive("muiPanel",function(){return{restrict:"AE",replace:!0,scope:!0,template:'
          ',transclude:!0,link:function(i,e,t,o,n){n(i,function(i){e.append(i)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],20:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.radio";n["default"].module(l,[]).directive("muiRadio",function(){return{restrict:"AE",replace:!0,require:["?ngModel"],scope:{label:"@",name:"@",value:"@",ngModel:"=",ngDisabled:"="},template:'
          '}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],21:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l="mui.row";n["default"].module("mui.row",[]).directive("muiRow",function(){return{restrict:"AE",scope:!0,replace:!0,template:'
          ',transclude:!0,link:function(i,e,t,o,n){n(i,function(i){e.append(i)})}}}),t["default"]=l,e.exports=t["default"]},{angular:"aeQg5j"}],22:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l=i("../js/lib/forms"),a=babelHelpers.interopRequireWildcard(l),r=i("../js/lib/util"),u=babelHelpers.interopRequireWildcard(r),m=i("../js/lib/jqLite"),d=babelHelpers.interopRequireWildcard(m),s="mui.select";n["default"].module(s,[]).directive("muiSelect",["$timeout",function(i){return{restrict:"AE",require:["ngModel"],scope:{name:"@",ngDisabled:"=",ngModel:"="},replace:!0,transclude:!0,template:'
          {{option.label}}
          ',link:function(e,t,o,l,r){function m(){e.isOpen=!1,e.$digest()}var s=t,c=t.find("div"),p=t.find("select"),f=n["default"].isUndefined;p[0]._muiSelect=!0,e.options=[],e.isOpen=!1,e.useDefault=!1,e.origTabIndex=p[0].tabIndex,e.menuIndex=0,f(o.useDefault)||(e.useDefault=!0),s.prop("tabIndex",-1),r(function(i){var t,o;for(o in i)t=i[o],"MUI-OPTION"===t.tagName&&e.options.push({value:t.getAttribute("value"),label:t.getAttribute("label")})}),e.onClick=function(){e.useDefault!==!0&&(e.isOpen=!0,s[0].focus())},e.onFocus=function(){if(e.useDefault!==!0){var i=p[0];e.origTabIndex=i.tabIndex,i.tabIndex=-1,s[0].focus()}},e.onMousedown=function(i){e.useDefault!==!0&&i.preventDefault()},e.onWrapperBlur=function(){p[0].tabIndex=e.origTabIndex},e.onWrapperFocus=function(i){return p[0].disabled?s[0].blur():void 0},e.onWrapperKeydown=function(i){var t=i.keyCode;if(e.isOpen===!1)32!==t&&38!==t&&40!==t||(i.preventDefault(),e.isOpen=!0);else{if(9===t)return e.isOpen=!1;27!==t&&40!==t&&38!==t&&13!==t||i.preventDefault(),27===t?e.isOpen=!1:40===t?e.menuIndex0&&(e.menuIndex-=1):13===t&&(e.ngModel=e.options[e.menuIndex].value,e.isOpen=!1)}},e.chooseOption=function(i){e.ngModel=i.value,e.isOpen=!1},e.$watch("isOpen",function(o,n){if(o!==n&&e.useDefault!==!0)if(o===!0){u.enableScrollLock();var l,r=e.ngModel,s=e.options,f=s.length;for(l=0;f>l;l++)if(s[l].value===r){e.menuIndex=l;break}var b=a.getMenuPositionalCSS(t[0],e.options.length,e.menuIndex);c.css(b),d.scrollTop(c[0],b.scrollTop),i(function(){d.on(document,"click",m),d.on(window,"resize",m)})}else p[0].focus(),u.disableScrollLock(),d.off(document,"click",m),d.off(window,"resize",m)})}}}]),t["default"]=s,e.exports=t["default"]},{"../js/lib/forms":4,"../js/lib/jqLite":5,"../js/lib/util":6,angular:"aeQg5j"}],23:[function(i,e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=window.angular,n=babelHelpers.interopRequireDefault(o),l=i("../js/lib/jqLite"),a=(babelHelpers.interopRequireWildcard(l),"mui.tabs");n["default"].module(a,[]).directive("muiTabs",function(){return{restrict:"EA",transclude:!0,scope:{selectedId:"=?selected",onChange:"&?"},template:'',controller:["$scope",function(i){var e=0;i.tabs=[],this.addTab=function(t){var o=e;return e+=1,i.tabs.push({label:t.label}),t.isActive&&(i.selectedId=o),o}}],link:function(i,e,t,o,l){var a=n["default"].isUndefined;a(i.selectedId)&&(i.selectedId=0),i.justified=!1,a(t.justified)||(i.justified=!0),i.onClick=function(e){e!==i.selectedId&&(i.selectedId=e,i.onChange&&i.$$postDigest(i.onChange))},l(i,function(i){e.append(i)})}}}).directive("muiTab",["$parse",function(i){return{require:"^?muiTabs",restrict:"AE",scope:{active:"&?",label:"@?"},transclude:!0,template:'
          ',link:function(e,t,o,n,l){var a=i(o.onSelect),r=i(o.onDeselect),u=e.$parent.$parent;e.tabId=null,n&&(e.tabId=n.addTab({label:e.label,isActive:Boolean(e.active)})),l(e,function(i){t.find("div").append(i)}),e.$parent.$watch("selectedId",function(i,t){i!==t&&(i===e.tabId&&a(u),t===e.tabId&&r(u))})}}}]),t["default"]=a,e.exports=t["default"]},{"../js/lib/jqLite":5,angular:"aeQg5j"}],24:[function(i,e,t){e.exports=i(6)},{"../config":3,"./jqLite":5}]},{},[2]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-colors.css b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-colors.css new file mode 100644 index 0000000..db7e7ba --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-colors.css @@ -0,0 +1 @@ +.mui--color-red-50{color:#FFEBEE!important}.mui--bg-color-red-50{background-color:#FFEBEE!important}.mui--color-red-100{color:#FFCDD2!important}.mui--bg-color-red-100{background-color:#FFCDD2!important}.mui--color-red-200{color:#EF9A9A!important}.mui--bg-color-red-200{background-color:#EF9A9A!important}.mui--color-red-300{color:#E57373!important}.mui--bg-color-red-300{background-color:#E57373!important}.mui--color-red-400{color:#EF5350!important}.mui--color-red,.mui--color-red-500{color:#F44336!important}.mui--bg-color-red-400{background-color:#EF5350!important}.mui--bg-color-red,.mui--bg-color-red-500{background-color:#F44336!important}.mui--color-red-600{color:#E53935!important}.mui--bg-color-red-600{background-color:#E53935!important}.mui--color-red-700{color:#D32F2F!important}.mui--bg-color-red-700{background-color:#D32F2F!important}.mui--color-red-800{color:#C62828!important}.mui--bg-color-red-800{background-color:#C62828!important}.mui--color-red-900{color:#B71C1C!important}.mui--bg-color-red-900{background-color:#B71C1C!important}.mui--color-red-A100{color:#FF8A80!important}.mui--bg-color-red-A100{background-color:#FF8A80!important}.mui--color-red-A200{color:#FF5252!important}.mui--bg-color-red-A200{background-color:#FF5252!important}.mui--color-red-A400{color:#FF1744!important}.mui--bg-color-red-A400{background-color:#FF1744!important}.mui--color-red-A700{color:#D50000!important}.mui--bg-color-red-A700{background-color:#D50000!important}.mui--color-pink-50{color:#FCE4EC!important}.mui--bg-color-pink-50{background-color:#FCE4EC!important}.mui--color-pink-100{color:#F8BBD0!important}.mui--bg-color-pink-100{background-color:#F8BBD0!important}.mui--color-pink-200{color:#F48FB1!important}.mui--bg-color-pink-200{background-color:#F48FB1!important}.mui--color-pink-300{color:#F06292!important}.mui--bg-color-pink-300{background-color:#F06292!important}.mui--color-pink-400{color:#EC407A!important}.mui--color-pink,.mui--color-pink-500{color:#E91E63!important}.mui--bg-color-pink-400{background-color:#EC407A!important}.mui--bg-color-pink,.mui--bg-color-pink-500{background-color:#E91E63!important}.mui--color-pink-600{color:#D81B60!important}.mui--bg-color-pink-600{background-color:#D81B60!important}.mui--color-pink-700{color:#C2185B!important}.mui--bg-color-pink-700{background-color:#C2185B!important}.mui--color-pink-800{color:#AD1457!important}.mui--bg-color-pink-800{background-color:#AD1457!important}.mui--color-pink-900{color:#880E4F!important}.mui--bg-color-pink-900{background-color:#880E4F!important}.mui--color-pink-A100{color:#FF80AB!important}.mui--bg-color-pink-A100{background-color:#FF80AB!important}.mui--color-pink-A200{color:#FF4081!important}.mui--bg-color-pink-A200{background-color:#FF4081!important}.mui--color-pink-A400{color:#F50057!important}.mui--bg-color-pink-A400{background-color:#F50057!important}.mui--color-pink-A700{color:#C51162!important}.mui--bg-color-pink-A700{background-color:#C51162!important}.mui--color-purple-50{color:#F3E5F5!important}.mui--bg-color-purple-50{background-color:#F3E5F5!important}.mui--color-purple-100{color:#E1BEE7!important}.mui--bg-color-purple-100{background-color:#E1BEE7!important}.mui--color-purple-200{color:#CE93D8!important}.mui--bg-color-purple-200{background-color:#CE93D8!important}.mui--color-purple-300{color:#BA68C8!important}.mui--bg-color-purple-300{background-color:#BA68C8!important}.mui--color-purple-400{color:#AB47BC!important}.mui--color-purple,.mui--color-purple-500{color:#9C27B0!important}.mui--bg-color-purple-400{background-color:#AB47BC!important}.mui--bg-color-purple,.mui--bg-color-purple-500{background-color:#9C27B0!important}.mui--color-purple-600{color:#8E24AA!important}.mui--bg-color-purple-600{background-color:#8E24AA!important}.mui--color-purple-700{color:#7B1FA2!important}.mui--bg-color-purple-700{background-color:#7B1FA2!important}.mui--color-purple-800{color:#6A1B9A!important}.mui--bg-color-purple-800{background-color:#6A1B9A!important}.mui--color-purple-900{color:#4A148C!important}.mui--bg-color-purple-900{background-color:#4A148C!important}.mui--color-purple-A100{color:#EA80FC!important}.mui--bg-color-purple-A100{background-color:#EA80FC!important}.mui--color-purple-A200{color:#E040FB!important}.mui--bg-color-purple-A200{background-color:#E040FB!important}.mui--color-purple-A400{color:#D500F9!important}.mui--bg-color-purple-A400{background-color:#D500F9!important}.mui--color-purple-A700{color:#A0F!important}.mui--bg-color-purple-A700{background-color:#A0F!important}.mui--color-deep-purple-50{color:#EDE7F6!important}.mui--bg-color-deep-purple-50{background-color:#EDE7F6!important}.mui--color-deep-purple-100{color:#D1C4E9!important}.mui--bg-color-deep-purple-100{background-color:#D1C4E9!important}.mui--color-deep-purple-200{color:#B39DDB!important}.mui--bg-color-deep-purple-200{background-color:#B39DDB!important}.mui--color-deep-purple-300{color:#9575CD!important}.mui--bg-color-deep-purple-300{background-color:#9575CD!important}.mui--color-deep-purple-400{color:#7E57C2!important}.mui--color-deep-purple,.mui--color-deep-purple-500{color:#673AB7!important}.mui--bg-color-deep-purple-400{background-color:#7E57C2!important}.mui--bg-color-deep-purple,.mui--bg-color-deep-purple-500{background-color:#673AB7!important}.mui--color-deep-purple-600{color:#5E35B1!important}.mui--bg-color-deep-purple-600{background-color:#5E35B1!important}.mui--color-deep-purple-700{color:#512DA8!important}.mui--bg-color-deep-purple-700{background-color:#512DA8!important}.mui--color-deep-purple-800{color:#4527A0!important}.mui--bg-color-deep-purple-800{background-color:#4527A0!important}.mui--color-deep-purple-900{color:#311B92!important}.mui--bg-color-deep-purple-900{background-color:#311B92!important}.mui--color-deep-purple-A100{color:#B388FF!important}.mui--bg-color-deep-purple-A100{background-color:#B388FF!important}.mui--color-deep-purple-A200{color:#7C4DFF!important}.mui--bg-color-deep-purple-A200{background-color:#7C4DFF!important}.mui--color-deep-purple-A400{color:#651FFF!important}.mui--bg-color-deep-purple-A400{background-color:#651FFF!important}.mui--color-deep-purple-A700{color:#6200EA!important}.mui--bg-color-deep-purple-A700{background-color:#6200EA!important}.mui--color-indigo-50{color:#E8EAF6!important}.mui--bg-color-indigo-50{background-color:#E8EAF6!important}.mui--color-indigo-100{color:#C5CAE9!important}.mui--bg-color-indigo-100{background-color:#C5CAE9!important}.mui--color-indigo-200{color:#9FA8DA!important}.mui--bg-color-indigo-200{background-color:#9FA8DA!important}.mui--color-indigo-300{color:#7986CB!important}.mui--bg-color-indigo-300{background-color:#7986CB!important}.mui--color-indigo-400{color:#5C6BC0!important}.mui--color-indigo,.mui--color-indigo-500{color:#3F51B5!important}.mui--bg-color-indigo-400{background-color:#5C6BC0!important}.mui--bg-color-indigo,.mui--bg-color-indigo-500{background-color:#3F51B5!important}.mui--color-indigo-600{color:#3949AB!important}.mui--bg-color-indigo-600{background-color:#3949AB!important}.mui--color-indigo-700{color:#303F9F!important}.mui--bg-color-indigo-700{background-color:#303F9F!important}.mui--color-indigo-800{color:#283593!important}.mui--bg-color-indigo-800{background-color:#283593!important}.mui--color-indigo-900{color:#1A237E!important}.mui--bg-color-indigo-900{background-color:#1A237E!important}.mui--color-indigo-A100{color:#8C9EFF!important}.mui--bg-color-indigo-A100{background-color:#8C9EFF!important}.mui--color-indigo-A200{color:#536DFE!important}.mui--bg-color-indigo-A200{background-color:#536DFE!important}.mui--color-indigo-A400{color:#3D5AFE!important}.mui--bg-color-indigo-A400{background-color:#3D5AFE!important}.mui--color-indigo-A700{color:#304FFE!important}.mui--bg-color-indigo-A700{background-color:#304FFE!important}.mui--color-blue-50{color:#E3F2FD!important}.mui--bg-color-blue-50{background-color:#E3F2FD!important}.mui--color-blue-100{color:#BBDEFB!important}.mui--bg-color-blue-100{background-color:#BBDEFB!important}.mui--color-blue-200{color:#90CAF9!important}.mui--bg-color-blue-200{background-color:#90CAF9!important}.mui--color-blue-300{color:#64B5F6!important}.mui--bg-color-blue-300{background-color:#64B5F6!important}.mui--color-blue-400{color:#42A5F5!important}.mui--color-blue,.mui--color-blue-500{color:#2196F3!important}.mui--bg-color-blue-400{background-color:#42A5F5!important}.mui--bg-color-blue,.mui--bg-color-blue-500{background-color:#2196F3!important}.mui--color-blue-600{color:#1E88E5!important}.mui--bg-color-blue-600{background-color:#1E88E5!important}.mui--color-blue-700{color:#1976D2!important}.mui--bg-color-blue-700{background-color:#1976D2!important}.mui--color-blue-800{color:#1565C0!important}.mui--bg-color-blue-800{background-color:#1565C0!important}.mui--color-blue-900{color:#0D47A1!important}.mui--bg-color-blue-900{background-color:#0D47A1!important}.mui--color-blue-A100{color:#82B1FF!important}.mui--bg-color-blue-A100{background-color:#82B1FF!important}.mui--color-blue-A200{color:#448AFF!important}.mui--bg-color-blue-A200{background-color:#448AFF!important}.mui--color-blue-A400{color:#2979FF!important}.mui--bg-color-blue-A400{background-color:#2979FF!important}.mui--color-blue-A700{color:#2962FF!important}.mui--bg-color-blue-A700{background-color:#2962FF!important}.mui--color-light-blue-50{color:#E1F5FE!important}.mui--bg-color-light-blue-50{background-color:#E1F5FE!important}.mui--color-light-blue-100{color:#B3E5FC!important}.mui--bg-color-light-blue-100{background-color:#B3E5FC!important}.mui--color-light-blue-200{color:#81D4FA!important}.mui--bg-color-light-blue-200{background-color:#81D4FA!important}.mui--color-light-blue-300{color:#4FC3F7!important}.mui--bg-color-light-blue-300{background-color:#4FC3F7!important}.mui--color-light-blue-400{color:#29B6F6!important}.mui--color-light-blue,.mui--color-light-blue-500{color:#03A9F4!important}.mui--bg-color-light-blue-400{background-color:#29B6F6!important}.mui--bg-color-light-blue,.mui--bg-color-light-blue-500{background-color:#03A9F4!important}.mui--color-light-blue-600{color:#039BE5!important}.mui--bg-color-light-blue-600{background-color:#039BE5!important}.mui--color-light-blue-700{color:#0288D1!important}.mui--bg-color-light-blue-700{background-color:#0288D1!important}.mui--color-light-blue-800{color:#0277BD!important}.mui--bg-color-light-blue-800{background-color:#0277BD!important}.mui--color-light-blue-900{color:#01579B!important}.mui--bg-color-light-blue-900{background-color:#01579B!important}.mui--color-light-blue-A100{color:#80D8FF!important}.mui--bg-color-light-blue-A100{background-color:#80D8FF!important}.mui--color-light-blue-A200{color:#40C4FF!important}.mui--bg-color-light-blue-A200{background-color:#40C4FF!important}.mui--color-light-blue-A400{color:#00B0FF!important}.mui--bg-color-light-blue-A400{background-color:#00B0FF!important}.mui--color-light-blue-A700{color:#0091EA!important}.mui--bg-color-light-blue-A700{background-color:#0091EA!important}.mui--color-cyan-50{color:#E0F7FA!important}.mui--bg-color-cyan-50{background-color:#E0F7FA!important}.mui--color-cyan-100{color:#B2EBF2!important}.mui--bg-color-cyan-100{background-color:#B2EBF2!important}.mui--color-cyan-200{color:#80DEEA!important}.mui--bg-color-cyan-200{background-color:#80DEEA!important}.mui--color-cyan-300{color:#4DD0E1!important}.mui--bg-color-cyan-300{background-color:#4DD0E1!important}.mui--color-cyan-400{color:#26C6DA!important}.mui--color-cyan,.mui--color-cyan-500{color:#00BCD4!important}.mui--bg-color-cyan-400{background-color:#26C6DA!important}.mui--bg-color-cyan,.mui--bg-color-cyan-500{background-color:#00BCD4!important}.mui--color-cyan-600{color:#00ACC1!important}.mui--bg-color-cyan-600{background-color:#00ACC1!important}.mui--color-cyan-700{color:#0097A7!important}.mui--bg-color-cyan-700{background-color:#0097A7!important}.mui--color-cyan-800{color:#00838F!important}.mui--bg-color-cyan-800{background-color:#00838F!important}.mui--color-cyan-900{color:#006064!important}.mui--bg-color-cyan-900{background-color:#006064!important}.mui--color-cyan-A100{color:#84FFFF!important}.mui--bg-color-cyan-A100{background-color:#84FFFF!important}.mui--color-cyan-A200{color:#18FFFF!important}.mui--bg-color-cyan-A200{background-color:#18FFFF!important}.mui--color-cyan-A400{color:#00E5FF!important}.mui--bg-color-cyan-A400{background-color:#00E5FF!important}.mui--color-cyan-A700{color:#00B8D4!important}.mui--bg-color-cyan-A700{background-color:#00B8D4!important}.mui--color-teal-50{color:#E0F2F1!important}.mui--bg-color-teal-50{background-color:#E0F2F1!important}.mui--color-teal-100{color:#B2DFDB!important}.mui--bg-color-teal-100{background-color:#B2DFDB!important}.mui--color-teal-200{color:#80CBC4!important}.mui--bg-color-teal-200{background-color:#80CBC4!important}.mui--color-teal-300{color:#4DB6AC!important}.mui--bg-color-teal-300{background-color:#4DB6AC!important}.mui--color-teal-400{color:#26A69A!important}.mui--color-teal,.mui--color-teal-500{color:#009688!important}.mui--bg-color-teal-400{background-color:#26A69A!important}.mui--bg-color-teal,.mui--bg-color-teal-500{background-color:#009688!important}.mui--color-teal-600{color:#00897B!important}.mui--bg-color-teal-600{background-color:#00897B!important}.mui--color-teal-700{color:#00796B!important}.mui--bg-color-teal-700{background-color:#00796B!important}.mui--color-teal-800{color:#00695C!important}.mui--bg-color-teal-800{background-color:#00695C!important}.mui--color-teal-900{color:#004D40!important}.mui--bg-color-teal-900{background-color:#004D40!important}.mui--color-teal-A100{color:#A7FFEB!important}.mui--bg-color-teal-A100{background-color:#A7FFEB!important}.mui--color-teal-A200{color:#64FFDA!important}.mui--bg-color-teal-A200{background-color:#64FFDA!important}.mui--color-teal-A400{color:#1DE9B6!important}.mui--bg-color-teal-A400{background-color:#1DE9B6!important}.mui--color-teal-A700{color:#00BFA5!important}.mui--bg-color-teal-A700{background-color:#00BFA5!important}.mui--color-green-50{color:#E8F5E9!important}.mui--bg-color-green-50{background-color:#E8F5E9!important}.mui--color-green-100{color:#C8E6C9!important}.mui--bg-color-green-100{background-color:#C8E6C9!important}.mui--color-green-200{color:#A5D6A7!important}.mui--bg-color-green-200{background-color:#A5D6A7!important}.mui--color-green-300{color:#81C784!important}.mui--bg-color-green-300{background-color:#81C784!important}.mui--color-green-400{color:#66BB6A!important}.mui--color-green,.mui--color-green-500{color:#4CAF50!important}.mui--bg-color-green-400{background-color:#66BB6A!important}.mui--bg-color-green,.mui--bg-color-green-500{background-color:#4CAF50!important}.mui--color-green-600{color:#43A047!important}.mui--bg-color-green-600{background-color:#43A047!important}.mui--color-green-700{color:#388E3C!important}.mui--bg-color-green-700{background-color:#388E3C!important}.mui--color-green-800{color:#2E7D32!important}.mui--bg-color-green-800{background-color:#2E7D32!important}.mui--color-green-900{color:#1B5E20!important}.mui--bg-color-green-900{background-color:#1B5E20!important}.mui--color-green-A100{color:#B9F6CA!important}.mui--bg-color-green-A100{background-color:#B9F6CA!important}.mui--color-green-A200{color:#69F0AE!important}.mui--bg-color-green-A200{background-color:#69F0AE!important}.mui--color-green-A400{color:#00E676!important}.mui--bg-color-green-A400{background-color:#00E676!important}.mui--color-green-A700{color:#00C853!important}.mui--bg-color-green-A700{background-color:#00C853!important}.mui--color-light-green-50{color:#F1F8E9!important}.mui--bg-color-light-green-50{background-color:#F1F8E9!important}.mui--color-light-green-100{color:#DCEDC8!important}.mui--bg-color-light-green-100{background-color:#DCEDC8!important}.mui--color-light-green-200{color:#C5E1A5!important}.mui--bg-color-light-green-200{background-color:#C5E1A5!important}.mui--color-light-green-300{color:#AED581!important}.mui--bg-color-light-green-300{background-color:#AED581!important}.mui--color-light-green-400{color:#9CCC65!important}.mui--color-light-green,.mui--color-light-green-500{color:#8BC34A!important}.mui--bg-color-light-green-400{background-color:#9CCC65!important}.mui--bg-color-light-green,.mui--bg-color-light-green-500{background-color:#8BC34A!important}.mui--color-light-green-600{color:#7CB342!important}.mui--bg-color-light-green-600{background-color:#7CB342!important}.mui--color-light-green-700{color:#689F38!important}.mui--bg-color-light-green-700{background-color:#689F38!important}.mui--color-light-green-800{color:#558B2F!important}.mui--bg-color-light-green-800{background-color:#558B2F!important}.mui--color-light-green-900{color:#33691E!important}.mui--bg-color-light-green-900{background-color:#33691E!important}.mui--color-light-green-A100{color:#CCFF90!important}.mui--bg-color-light-green-A100{background-color:#CCFF90!important}.mui--color-light-green-A200{color:#B2FF59!important}.mui--bg-color-light-green-A200{background-color:#B2FF59!important}.mui--color-light-green-A400{color:#76FF03!important}.mui--bg-color-light-green-A400{background-color:#76FF03!important}.mui--color-light-green-A700{color:#64DD17!important}.mui--bg-color-light-green-A700{background-color:#64DD17!important}.mui--color-lime-50{color:#F9FBE7!important}.mui--bg-color-lime-50{background-color:#F9FBE7!important}.mui--color-lime-100{color:#F0F4C3!important}.mui--bg-color-lime-100{background-color:#F0F4C3!important}.mui--color-lime-200{color:#E6EE9C!important}.mui--bg-color-lime-200{background-color:#E6EE9C!important}.mui--color-lime-300{color:#DCE775!important}.mui--bg-color-lime-300{background-color:#DCE775!important}.mui--color-lime-400{color:#D4E157!important}.mui--color-lime,.mui--color-lime-500{color:#CDDC39!important}.mui--bg-color-lime-400{background-color:#D4E157!important}.mui--bg-color-lime,.mui--bg-color-lime-500{background-color:#CDDC39!important}.mui--color-lime-600{color:#C0CA33!important}.mui--bg-color-lime-600{background-color:#C0CA33!important}.mui--color-lime-700{color:#AFB42B!important}.mui--bg-color-lime-700{background-color:#AFB42B!important}.mui--color-lime-800{color:#9E9D24!important}.mui--bg-color-lime-800{background-color:#9E9D24!important}.mui--color-lime-900{color:#827717!important}.mui--bg-color-lime-900{background-color:#827717!important}.mui--color-lime-A100{color:#F4FF81!important}.mui--bg-color-lime-A100{background-color:#F4FF81!important}.mui--color-lime-A200{color:#EEFF41!important}.mui--bg-color-lime-A200{background-color:#EEFF41!important}.mui--color-lime-A400{color:#C6FF00!important}.mui--bg-color-lime-A400{background-color:#C6FF00!important}.mui--color-lime-A700{color:#AEEA00!important}.mui--bg-color-lime-A700{background-color:#AEEA00!important}.mui--color-yellow-50{color:#FFFDE7!important}.mui--bg-color-yellow-50{background-color:#FFFDE7!important}.mui--color-yellow-100{color:#FFF9C4!important}.mui--bg-color-yellow-100{background-color:#FFF9C4!important}.mui--color-yellow-200{color:#FFF59D!important}.mui--bg-color-yellow-200{background-color:#FFF59D!important}.mui--color-yellow-300{color:#FFF176!important}.mui--bg-color-yellow-300{background-color:#FFF176!important}.mui--color-yellow-400{color:#FFEE58!important}.mui--color-yellow,.mui--color-yellow-500{color:#FFEB3B!important}.mui--bg-color-yellow-400{background-color:#FFEE58!important}.mui--bg-color-yellow,.mui--bg-color-yellow-500{background-color:#FFEB3B!important}.mui--color-yellow-600{color:#FDD835!important}.mui--bg-color-yellow-600{background-color:#FDD835!important}.mui--color-yellow-700{color:#FBC02D!important}.mui--bg-color-yellow-700{background-color:#FBC02D!important}.mui--color-yellow-800{color:#F9A825!important}.mui--bg-color-yellow-800{background-color:#F9A825!important}.mui--color-yellow-900{color:#F57F17!important}.mui--bg-color-yellow-900{background-color:#F57F17!important}.mui--color-yellow-A100{color:#FFFF8D!important}.mui--bg-color-yellow-A100{background-color:#FFFF8D!important}.mui--color-yellow-A200{color:#FF0!important}.mui--bg-color-yellow-A200{background-color:#FF0!important}.mui--color-yellow-A400{color:#FFEA00!important}.mui--bg-color-yellow-A400{background-color:#FFEA00!important}.mui--color-yellow-A700{color:#FFD600!important}.mui--bg-color-yellow-A700{background-color:#FFD600!important}.mui--color-amber-50{color:#FFF8E1!important}.mui--bg-color-amber-50{background-color:#FFF8E1!important}.mui--color-amber-100{color:#FFECB3!important}.mui--bg-color-amber-100{background-color:#FFECB3!important}.mui--color-amber-200{color:#FFE082!important}.mui--bg-color-amber-200{background-color:#FFE082!important}.mui--color-amber-300{color:#FFD54F!important}.mui--bg-color-amber-300{background-color:#FFD54F!important}.mui--color-amber-400{color:#FFCA28!important}.mui--color-amber,.mui--color-amber-500{color:#FFC107!important}.mui--bg-color-amber-400{background-color:#FFCA28!important}.mui--bg-color-amber,.mui--bg-color-amber-500{background-color:#FFC107!important}.mui--color-amber-600{color:#FFB300!important}.mui--bg-color-amber-600{background-color:#FFB300!important}.mui--color-amber-700{color:#FFA000!important}.mui--bg-color-amber-700{background-color:#FFA000!important}.mui--color-amber-800{color:#FF8F00!important}.mui--bg-color-amber-800{background-color:#FF8F00!important}.mui--color-amber-900{color:#FF6F00!important}.mui--bg-color-amber-900{background-color:#FF6F00!important}.mui--color-amber-A100{color:#FFE57F!important}.mui--bg-color-amber-A100{background-color:#FFE57F!important}.mui--color-amber-A200{color:#FFD740!important}.mui--bg-color-amber-A200{background-color:#FFD740!important}.mui--color-amber-A400{color:#FFC400!important}.mui--bg-color-amber-A400{background-color:#FFC400!important}.mui--color-amber-A700{color:#FFAB00!important}.mui--bg-color-amber-A700{background-color:#FFAB00!important}.mui--color-orange-50{color:#FFF3E0!important}.mui--bg-color-orange-50{background-color:#FFF3E0!important}.mui--color-orange-100{color:#FFE0B2!important}.mui--bg-color-orange-100{background-color:#FFE0B2!important}.mui--color-orange-200{color:#FFCC80!important}.mui--bg-color-orange-200{background-color:#FFCC80!important}.mui--color-orange-300{color:#FFB74D!important}.mui--bg-color-orange-300{background-color:#FFB74D!important}.mui--color-orange-400{color:#FFA726!important}.mui--color-orange,.mui--color-orange-500{color:#FF9800!important}.mui--bg-color-orange-400{background-color:#FFA726!important}.mui--bg-color-orange,.mui--bg-color-orange-500{background-color:#FF9800!important}.mui--color-orange-600{color:#FB8C00!important}.mui--bg-color-orange-600{background-color:#FB8C00!important}.mui--color-orange-700{color:#F57C00!important}.mui--bg-color-orange-700{background-color:#F57C00!important}.mui--color-orange-800{color:#EF6C00!important}.mui--bg-color-orange-800{background-color:#EF6C00!important}.mui--color-orange-900{color:#E65100!important}.mui--bg-color-orange-900{background-color:#E65100!important}.mui--color-orange-A100{color:#FFD180!important}.mui--bg-color-orange-A100{background-color:#FFD180!important}.mui--color-orange-A200{color:#FFAB40!important}.mui--bg-color-orange-A200{background-color:#FFAB40!important}.mui--color-orange-A400{color:#FF9100!important}.mui--bg-color-orange-A400{background-color:#FF9100!important}.mui--color-orange-A700{color:#FF6D00!important}.mui--bg-color-orange-A700{background-color:#FF6D00!important}.mui--color-deep-orange-50{color:#FBE9E7!important}.mui--bg-color-deep-orange-50{background-color:#FBE9E7!important}.mui--color-deep-orange-100{color:#FFCCBC!important}.mui--bg-color-deep-orange-100{background-color:#FFCCBC!important}.mui--color-deep-orange-200{color:#FFAB91!important}.mui--bg-color-deep-orange-200{background-color:#FFAB91!important}.mui--color-deep-orange-300{color:#FF8A65!important}.mui--bg-color-deep-orange-300{background-color:#FF8A65!important}.mui--color-deep-orange-400{color:#FF7043!important}.mui--color-deep-orange,.mui--color-deep-orange-500{color:#FF5722!important}.mui--bg-color-deep-orange-400{background-color:#FF7043!important}.mui--bg-color-deep-orange,.mui--bg-color-deep-orange-500{background-color:#FF5722!important}.mui--color-deep-orange-600{color:#F4511E!important}.mui--bg-color-deep-orange-600{background-color:#F4511E!important}.mui--color-deep-orange-700{color:#E64A19!important}.mui--bg-color-deep-orange-700{background-color:#E64A19!important}.mui--color-deep-orange-800{color:#D84315!important}.mui--bg-color-deep-orange-800{background-color:#D84315!important}.mui--color-deep-orange-900{color:#BF360C!important}.mui--bg-color-deep-orange-900{background-color:#BF360C!important}.mui--color-deep-orange-A100{color:#FF9E80!important}.mui--bg-color-deep-orange-A100{background-color:#FF9E80!important}.mui--color-deep-orange-A200{color:#FF6E40!important}.mui--bg-color-deep-orange-A200{background-color:#FF6E40!important}.mui--color-deep-orange-A400{color:#FF3D00!important}.mui--bg-color-deep-orange-A400{background-color:#FF3D00!important}.mui--color-deep-orange-A700{color:#DD2C00!important}.mui--bg-color-deep-orange-A700{background-color:#DD2C00!important}.mui--color-brown-50{color:#EFEBE9!important}.mui--bg-color-brown-50{background-color:#EFEBE9!important}.mui--color-brown-100{color:#D7CCC8!important}.mui--bg-color-brown-100{background-color:#D7CCC8!important}.mui--color-brown-200{color:#BCAAA4!important}.mui--bg-color-brown-200{background-color:#BCAAA4!important}.mui--color-brown-300{color:#A1887F!important}.mui--bg-color-brown-300{background-color:#A1887F!important}.mui--color-brown-400{color:#8D6E63!important}.mui--color-brown,.mui--color-brown-500{color:#795548!important}.mui--bg-color-brown-400{background-color:#8D6E63!important}.mui--bg-color-brown,.mui--bg-color-brown-500{background-color:#795548!important}.mui--color-brown-600{color:#6D4C41!important}.mui--bg-color-brown-600{background-color:#6D4C41!important}.mui--color-brown-700{color:#5D4037!important}.mui--bg-color-brown-700{background-color:#5D4037!important}.mui--color-brown-800{color:#4E342E!important}.mui--bg-color-brown-800{background-color:#4E342E!important}.mui--color-brown-900{color:#3E2723!important}.mui--bg-color-brown-900{background-color:#3E2723!important}.mui--color-grey-50{color:#FAFAFA!important}.mui--bg-color-grey-50{background-color:#FAFAFA!important}.mui--color-grey-100{color:#F5F5F5!important}.mui--bg-color-grey-100{background-color:#F5F5F5!important}.mui--color-grey-200{color:#EEE!important}.mui--bg-color-grey-200{background-color:#EEE!important}.mui--color-grey-300{color:#E0E0E0!important}.mui--bg-color-grey-300{background-color:#E0E0E0!important}.mui--color-grey-400{color:#BDBDBD!important}.mui--color-grey,.mui--color-grey-500{color:#9E9E9E!important}.mui--bg-color-grey-400{background-color:#BDBDBD!important}.mui--bg-color-grey,.mui--bg-color-grey-500{background-color:#9E9E9E!important}.mui--color-grey-600{color:#757575!important}.mui--bg-color-grey-600{background-color:#757575!important}.mui--color-grey-700{color:#616161!important}.mui--bg-color-grey-700{background-color:#616161!important}.mui--color-grey-800{color:#424242!important}.mui--bg-color-grey-800{background-color:#424242!important}.mui--color-grey-900{color:#212121!important}.mui--bg-color-grey-900{background-color:#212121!important}.mui--color-blue-grey-50{color:#ECEFF1!important}.mui--bg-color-blue-grey-50{background-color:#ECEFF1!important}.mui--color-blue-grey-100{color:#CFD8DC!important}.mui--bg-color-blue-grey-100{background-color:#CFD8DC!important}.mui--color-blue-grey-200{color:#B0BEC5!important}.mui--bg-color-blue-grey-200{background-color:#B0BEC5!important}.mui--color-blue-grey-300{color:#90A4AE!important}.mui--bg-color-blue-grey-300{background-color:#90A4AE!important}.mui--color-blue-grey-400{color:#78909C!important}.mui--color-blue-grey,.mui--color-blue-grey-500{color:#607D8B!important}.mui--bg-color-blue-grey-400{background-color:#78909C!important}.mui--bg-color-blue-grey,.mui--bg-color-blue-grey-500{background-color:#607D8B!important}.mui--color-blue-grey-600{color:#546E7A!important}.mui--bg-color-blue-grey-600{background-color:#546E7A!important}.mui--color-blue-grey-700{color:#455A64!important}.mui--bg-color-blue-grey-700{background-color:#455A64!important}.mui--color-blue-grey-800{color:#37474F!important}.mui--bg-color-blue-grey-800{background-color:#37474F!important}.mui--color-blue-grey-900{color:#263238!important}.mui--bg-color-blue-grey-900{background-color:#263238!important}.mui--color-black{color:#000!important}.mui--bg-color-black{background-color:#000!important}.mui--color-white{color:#FFF!important}.mui--bg-color-white{background-color:#FFF!important}.mui--color-black-alpha-12{color:rgba(0,0,0,.12)!important}.mui--bg-color-black-alpha-12{background-color:rgba(0,0,0,.12)!important}.mui--color-black-alpha-38{color:rgba(0,0,0,.38)!important}.mui--bg-color-black-alpha-38{background-color:rgba(0,0,0,.38)!important}.mui--color-black-alpha-54{color:rgba(0,0,0,.54)!important}.mui--bg-color-black-alpha-54{background-color:rgba(0,0,0,.54)!important}.mui--color-black-alpha-87{color:rgba(0,0,0,.87)!important}.mui--bg-color-black-alpha-87{background-color:rgba(0,0,0,.87)!important}.mui--color-white-alpha-12{color:rgba(255,255,255,.12)!important}.mui--bg-color-white-alpha-12{background-color:rgba(255,255,255,.12)!important}.mui--color-white-alpha-30{color:rgba(255,255,255,.3)!important}.mui--bg-color-white-alpha-30{background-color:rgba(255,255,255,.3)!important}.mui--color-white-alpha-70{color:rgba(255,255,255,.7)!important}.mui--bg-color-white-alpha-70{background-color:rgba(255,255,255,.7)!important} \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-combined.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-combined.js new file mode 100644 index 0000000..2294236 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-combined.js @@ -0,0 +1,2 @@ +!function i(t,e,o){function n(a,r){if(!e[a]){if(!t[a]){var u="function"==typeof require&&require;if(!r&&u)return u(a,!0);if(l)return l(a,!0);throw new Error("Cannot find module '"+a+"'")}var m=e[a]={exports:{}};t[a][0].call(m.exports,function(i){var e=t[a][1][i];return n(e?e:i)},m,m.exports,i,t,e,o)}return e[a].exports}for(var l="function"==typeof require&&require,a=0;as&&(f=r+(e+1)*a-(-1*o+n+l),b=t*a+2*r-p,x=Math.min(f,b)),{height:p+"px",top:o+"px",scrollTop:x}}var n=15,l=32,a=42,r=8;t.exports={getMenuPositionalCSS:o}},{}],5:[function(i,t,e){"use strict";function o(i,t){if(t&&i.setAttribute){for(var e,o=b(i),n=t.split(" "),l=0;l-1:!1}function a(i){if(void 0===i)return"undefined";var t=Object.prototype.toString.call(i);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function r(i,t,e,o){o=void 0===o?!1:o,i.addEventListener(t,e,o);var n=i._muiEventCache=i._muiEventCache||{};n[t]=n[t]||[],n[t].push([e,o])}function u(i,t,e,o){o=void 0===o?!1:o;var n,l,a=i._muiEventCache=i._muiEventCache||{},r=a[t]||[];for(l=r.length;l--;)n=r[l],(void 0===e||n[0]===e&&n[1]===o)&&(r.splice(l,1),i.removeEventListener(t,n[0],n[1]))}function m(i,t,e,o){r(i,t,function n(o){e&&e.apply(this,arguments),u(i,t,n)},o)}function d(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return i.scrollLeft}i===e?e.scrollTo(t,s(e)):i.scrollLeft=t}function s(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageYOffset||o.scrollTop)-(o.clientTop||0)}return i.scrollTop}i===e?e.scrollTo(d(e),t):i.scrollTop=t}function c(i){var t=window,e=i.getBoundingClientRect(),o=s(t),n=d(t);return{top:e.top+o,left:e.left+n,height:e.height,width:e.width}}function p(i){var t=!1,e=!0,o=document,n=o.defaultView,l=o.documentElement,a=o.addEventListener?"addEventListener":"attachEvent",r=o.addEventListener?"removeEventListener":"detachEvent",u=o.addEventListener?"":"on",m=function(e){"readystatechange"==e.type&&"complete"!=o.readyState||(("load"==e.type?n:o)[r](u+e.type,m,!1),!t&&(t=!0)&&i.call(n,e.type||e))},d=function(){try{l.doScroll("left")}catch(i){return void setTimeout(d,50)}m("poll")};if("complete"==o.readyState)i.call(n,"lazy");else{if(o.createEventObject&&l.doScroll){try{e=!n.frameElement}catch(s){}e&&d()}o[a](u+"DOMContentLoaded",m,!1),o[a](u+"readystatechange",m,!1),n[a](u+"load",m,!1)}}function f(i,t){if(t&&i.setAttribute){for(var e,o=b(i),n=t.split(" "),l=0;l=0;)o=o.replace(" "+e+" "," ");i.setAttribute("class",o.trim())}}function b(i){var t=(i.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function x(i){return i.replace(v,function(i,t,e,o){return o?e.toUpperCase():e}).replace(y,"Moz$1")}function h(i,t,e){var o;return o=e.getPropertyValue(t),""!==o||i.ownerDocument||(o=i.style[x(t)]),o}var g,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;g={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:o,css:n,hasClass:l,off:u,offset:c,on:r,one:m,ready:p,removeClass:f,type:a,scrollLeft:d,scrollTop:s}},{}],6:[function(i,t,e){"use strict";function o(){var i=window;if(x.debug&&"undefined"!=typeof i.console)try{i.console.log.apply(i.console,arguments)}catch(t){var e=Array.prototype.slice.call(arguments);i.console.log(e.join("\n"))}}function n(i){var t,e=document;t=e.head||e.getElementsByTagName("head")[0]||e.documentElement;var o=e.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=i:o.appendChild(e.createTextNode(i)),t.insertBefore(o,t.firstChild),o}function l(i,t){if(!t)throw new Error("MUI: "+i);"undefined"!=typeof console&&console.error("MUI Warning: "+i)}function a(i){if(g.push(i),void 0===g._initialized){var t=document;h.on(t,"animationstart",r),h.on(t,"mozAnimationStart",r),h.on(t,"webkitAnimationStart",r),g._initialized=!0}}function r(i){if("mui-node-inserted"===i.animationName)for(var t=i.target,e=g.length-1;e>=0;e--)g[e](t)}function u(i){var t="";for(var e in i)t+=i[e]?e+" ":"";return t.trim()}function m(){if(void 0!==b)return b;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",b="auto"===i.style.pointerEvents}function d(i,t){return function(){i[t].apply(i,arguments)}}function s(i,t,e,o,n){var l,a=document.createEvent("HTMLEvents"),e=void 0!==e?e:!0,o=void 0!==o?o:!0;if(a.initEvent(t,e,o),n)for(l in n)a[l]=n[l];return i&&i.dispatchEvent(a),a}function c(){if(v+=1,1===v){var i=window,t=document;f={left:h.scrollLeft(i),top:h.scrollTop(i)},h.addClass(t.body,y),i.scrollTo(f.left,f.top)}}function p(){if(0!==v&&(v-=1,0===v)){var i=window,t=document;h.removeClass(t.body,y),i.scrollTo(f.left,f.top)}}var f,b,x=i("../config"),h=i("./jqLite"),g=[],v=0,y="mui-body--scroll-lock";t.exports={callback:d,classNames:u,disableScrollLock:p,dispatchEvent:s,enableScrollLock:c,log:o,loadStyle:n,onNodeInserted:a,raiseError:l,supportsPointerEvents:m}},{"../config":3,"./jqLite":5}],7:[function(i,t,e){t.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],8:[function(i,t,e){"use strict";function o(i){i._muiDropdown!==!0&&(i._muiDropdown=!0,i.hasAttribute("type")||(i.type="button"),a.on(i,"click",n))}function n(i){if(0===i.button){var t=this;null===t.getAttribute("disabled")&&l(t)}}function l(i){function t(){a.removeClass(n,d),a.off(l,"click",t)}function e(){var e=o.getBoundingClientRect(),r=i.getBoundingClientRect(),u=r.top-e.top+r.height;a.css(n,"top",u+"px"),a.addClass(n,d),setTimeout(function(){a.on(l,"click",t)},0)}var o=i.parentNode,n=i.nextElementSibling,l=o.ownerDocument;return n&&a.hasClass(n,s)?void(a.hasClass(n,d)?t():e()):r.raiseError("Dropdown menu element not found")}var a=i("./lib/jqLite"),r=i("./lib/util"),u="data-mui-toggle",m='[data-mui-toggle="dropdown"]',d="mui--is-open",s="mui-dropdown__menu";t.exports={initListeners:function(){for(var i=document,t=i.querySelectorAll(m),e=t.length-1;e>=0;e--)o(t[e]);r.onNodeInserted(function(i){"dropdown"===i.getAttribute(u)&&o(i)})}}},{"./lib/jqLite":5,"./lib/util":6}],9:[function(i,t,e){t.exports=i(5)},{}],10:[function(i,t,e){t.exports=i(6)},{"../config":3,"./jqLite":5}],11:[function(i,t,e){"use strict";function o(i){var t;if("on"===i){for(var e,o,a,r=arguments.length-1;r>0;r--)e=arguments[r],"object"===p.type(e)&&(o=e),e instanceof Element&&1===e.nodeType&&(a=e);o=o||{},void 0===o.keyboard&&(o.keyboard=!0),void 0===o["static"]&&(o["static"]=!1),t=n(o,a)}else"off"===i?t=l():c.raiseError("Expecting 'on' or 'off'");return t}function n(i,t){var e=document.body,o=document.getElementById(f);if(c.enableScrollLock(),o){for(;o.firstChild;)o.removeChild(o.firstChild);t&&o.appendChild(t)}else o=document.createElement("div"),o.setAttribute("id",f),t&&o.appendChild(t),e.appendChild(o);return b.test(navigator.userAgent)&&p.css(o,"cursor","pointer"),i.keyboard?a():r(),i["static"]?d(o):m(o),o.muiOptions=i,o}function l(){var i,t=document.getElementById(f);if(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.parentNode.removeChild(t),i=t.muiOptions.onclose,d(t)}return c.disableScrollLock(),r(),i&&i(),t}function a(){p.on(document,"keyup",u)}function r(){p.off(document,"keyup",u)}function u(i){27===i.keyCode&&l()}function m(i){p.on(i,"click",s)}function d(i){p.off(i,"click",s)}function s(i){i.target.id===f&&l()}var c=i("./lib/util"),p=i("./lib/jqLite"),f="mui-overlay",b=/(iPad|iPhone|iPod)/g;t.exports=o},{"./lib/jqLite":5,"./lib/util":6}],12:[function(i,t,e){"use strict";function o(i){i._muiRipple!==!0&&(i._muiRipple=!0,"INPUT"!==i.tagName&&(l.on(i,"touchstart",n),l.on(i,"mousedown",n)))}function n(i){if(0===i.button){var t=this;if(t.disabled!==!0&&t.touchFlag!==!0){t.touchFlag=!0,setTimeout(function(){t.touchFlag=!1},100);var e=document.createElement("div");e.className=m;var o,n,a=l.offset(t),r=i.pageX-a.left,d=i.pageY-a.top;o=l.hasClass(t,u)?a.height/2:a.height,n=o/2,l.css(e,{height:o+"px",width:o+"px",top:d-n+"px",left:r-n+"px"}),t.appendChild(e),window.setTimeout(function(){var i=e.parentNode;i&&i.removeChild(e)},2e3)}}}var l=i("./lib/jqLite"),a=i("./lib/util"),r="mui-btn",u="mui-btn--fab",m="mui-ripple-effect";t.exports={initListeners:function(){for(var i=document,t=i.getElementsByClassName(r),e=t.length-1;e>=0;e--)o(t[e]);a.onNodeInserted(function(i){l.hasClass(i,r)&&o(i)})}}},{"./lib/jqLite":5,"./lib/util":6}],13:[function(i,t,e){"use strict";function o(i){i._muiSelect!==!0&&(i._muiSelect=!0,"ontouchstart"in p.documentElement||new n(i))}function n(i){this.selectEl=i,this.wrapperEl=i.parentNode,this.useDefault=!1,a.on(i,"mousedown",r.callback(this,"mousedownHandler")),a.on(i,"focus",r.callback(this,"focusHandler")),a.on(i,"click",r.callback(this,"clickHandler")),this.wrapperEl.tabIndex=-1;var t=r.callback(this,"wrapperFocusHandler");a.on(this.wrapperEl,"focus",t)}function l(i,t){r.enableScrollLock(),this.origIndex=null,this.currentIndex=null,this.selectEl=t,this.menuEl=this._createMenuEl(i,t),this.clickCallbackFn=r.callback(this,"clickHandler"),this.keydownCallbackFn=r.callback(this,"keydownHandler"),this.destroyCallbackFn=r.callback(this,"destroy"),i.appendChild(this.menuEl),a.scrollTop(this.menuEl,this.menuEl._muiScrollTop),setTimeout(function(){"body"!==p.activeElement.nodeName.toLowerCase()&&p.activeElement.blur()},0),a.on(this.menuEl,"click",this.clickCallbackFn),a.on(p,"keydown",this.keydownCallbackFn),a.on(f,"resize",this.destroyCallbackFn);var e=this.destroyCallbackFn;setTimeout(function(){a.on(p,"click",e)},0)}var a=i("./lib/jqLite"),r=i("./lib/util"),u=i("./lib/forms"),m="mui-select",d=".mui-select > select",s="mui-select__menu",c="mui--is-selected",p=document,f=window;n.prototype.mousedownHandler=function(i){0===i.button&&this.useDefault!==!0&&i.preventDefault()},n.prototype.focusHandler=function(i){if(this.useDefault!==!0){var t=this.selectEl,e=this.wrapperEl,o=t.tabIndex,n=r.callback(this,"keydownHandler");a.on(p,"keydown",n),t.tabIndex=-1,a.one(e,"blur",function(){t.tabIndex=o,a.off(p,"keydown",n)}),e.focus()}},n.prototype.keydownHandler=function(i){var t=i.keyCode;32!==t&&38!==t&&40!==t||(i.preventDefault(),this.selectEl.disabled!==!0&&this.renderMenu())},n.prototype.wrapperFocusHandler=function(){return this.selectEl.disabled?this.wrapperEl.blur():void 0},n.prototype.clickHandler=function(i){0===i.button&&this.renderMenu()},n.prototype.renderMenu=function(){return this.useDefault===!0?this.useDefault=!1:void new l(this.wrapperEl,this.selectEl)},l.prototype._createMenuEl=function(i,t){var e,o,n,l=p.createElement("div"),r=t.children,m=r.length,d=0;for(l.className=s,n=0;m>n;n++)e=r[n],o=p.createElement("div"),o.textContent=e.textContent,o._muiPos=n,e.selected&&(o.setAttribute("class",c),d=n),l.appendChild(o);this.origIndex=d,this.currentIndex=d;var f=u.getMenuPositionalCSS(i,m,d);return a.css(l,f),l._muiScrollTop=f.scrollTop,l},l.prototype.keydownHandler=function(i){var t=i.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||i.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&(this.selectCurrent(),this.destroy())))},l.prototype.clickHandler=function(i){i.stopPropagation();var t=i.target._muiPos;void 0!==t&&(this.currentIndex=t,this.selectCurrent(),this.destroy())},l.prototype.increment=function(){if(this.currentIndex!==this.menuEl.children.length-1){var i=this.menuEl.children;a.removeClass(i[this.currentIndex],c),this.currentIndex+=1,a.addClass(i[this.currentIndex],c)}},l.prototype.decrement=function(){if(0!==this.currentIndex){var i=this.menuEl.children;a.removeClass(i[this.currentIndex],c),this.currentIndex-=1,a.addClass(i[this.currentIndex],c)}},l.prototype.selectCurrent=function(){if(this.currentIndex!==this.origIndex){var i=this.selectEl.children;i[this.origIndex].selected=!1,i[this.currentIndex].selected=!0,r.dispatchEvent(this.selectEl,"change")}},l.prototype.destroy=function(){var i=this.menuEl.parentNode;i&&i.removeChild(this.menuEl),this.selectEl.focus(),r.disableScrollLock(),a.off(this.menuEl,"click",this.clickCallbackFn),a.off(p,"keydown",this.keydownCallbackFn),a.off(p,"click",this.destroyCallbackFn),a.off(f,"resize",this.destroyCallbackFn)},t.exports={initListeners:function(){for(var i=p.querySelectorAll(d),t=i.length-1;t>=0;t--)o(i[t]);r.onNodeInserted(function(i){"SELECT"===i.tagName&&a.hasClass(i.parentNode,m)&&o(i)})}}},{"./lib/forms":4,"./lib/jqLite":5,"./lib/util":6}],14:[function(i,t,e){"use strict";function o(i){i._muiTabs!==!0&&(i._muiTabs=!0,r.on(i,"click",n))}function n(i){if(0===i.button){var t=this;null===t.getAttribute("disabled")&&l(t)}}function l(i){var t,e,o,n,l,m,d,h,g,v=i.parentNode,y=i.getAttribute(s),w=document.getElementById(y);r.hasClass(v,c)||(w||u.raiseError('Tab pane "'+y+'" not found'),e=a(w),o=e.id,g="["+s+'="'+o+'"]',n=document.querySelectorAll(g)[0],t=n.parentNode,l={paneId:y,relatedPaneId:o},m={paneId:o,relatedPaneId:y},d=u.dispatchEvent(n,b,!0,!0,m),h=u.dispatchEvent(i,p,!0,!0,l),setTimeout(function(){d.defaultPrevented||h.defaultPrevented||(t&&r.removeClass(t,c),e&&r.removeClass(e,c),r.addClass(v,c),r.addClass(w,c),u.dispatchEvent(n,x,!0,!1,m),u.dispatchEvent(i,f,!0,!1,l))},0))}function a(i){for(var t,e=i.parentNode.children,o=e.length,n=null;o--&&!n;)t=e[o],t!==i&&r.hasClass(t,c)&&(n=t);return n}var r=i("./lib/jqLite"),u=i("./lib/util"),m="data-mui-toggle",d="["+m+'="tab"]',s="data-mui-controls",c="mui--is-active",p="mui.tabs.showstart",f="mui.tabs.showend",b="mui.tabs.hidestart",x="mui.tabs.hideend";t.exports={initListeners:function(){for(var i=document.querySelectorAll(d),t=i.length-1;t>=0;t--)o(i[t]);u.onNodeInserted(function(i){"tab"===i.getAttribute(m)&&o(i)})},api:{activate:function(i){var t="["+s+"="+i+"]",e=document.querySelectorAll(t);e.length||u.raiseError('Tab control for pane "'+i+'" not found'),l(e[0])}}}},{"./lib/jqLite":5,"./lib/util":6}],15:[function(i,t,e){"use strict";function o(i){i._muiTextfield!==!0&&(i._muiTextfield=!0,i.value.length?l.addClass(i,m):l.addClass(i,u),l.on(i,"input",n),l.on(i,"change",n),l.on(i,"focus",function(){l.addClass(this,d)}))}function n(){var i=this;i.value.length?(l.removeClass(i,u),l.addClass(i,m)):(l.removeClass(i,m),l.addClass(i,u)),l.addClass(i,d)}var l=i("./lib/jqLite"),a=i("./lib/util"),r=".mui-textfield > input, .mui-textfield > textarea",u="mui--is-empty",m="mui--is-not-empty",d="mui--is-dirty",s="mui-textfield--float-label";t.exports={initialize:o,initListeners:function(){for(var i=document,t=i.querySelectorAll(r),e=t.length-1;e>=0;e--)o(t[e]);a.onNodeInserted(function(i){"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName||o(i)}),setTimeout(function(){var i=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";a.loadStyle(i)},150),a.supportsPointerEvents()===!1&&l.on(document,"click",function(i){var t=i.target;if("LABEL"===t.tagName&&l.hasClass(t.parentNode,s)){var e=t.previousElementSibling;e&&e.focus()}})}}},{"./lib/jqLite":5,"./lib/util":6}]},{},[2]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-react-combined.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-react-combined.js new file mode 100644 index 0000000..ba3dbcc --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/extra/mui-react-combined.js @@ -0,0 +1,2 @@ +!function(e){var t=e.babelHelpers={};t.classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},t.createClass=function(){function e(e,t){for(var i=0;i=0||Object.prototype.hasOwnProperty.call(e,o)&&(i[o]=e[o]);return i},t.possibleConstructorReturn=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}}("undefined"==typeof global?self:global),function e(t,i,o){function l(r,a){if(!i[r]){if(!t[r]){var s="function"==typeof require&&require;if(!a&&s)return s(r,!0);if(n)return n(r,!0);throw new Error("Cannot find module '"+r+"'")}var u=i[r]={exports:{}};t[r][0].call(u.exports,function(e){var i=t[r][1][e];return l(i?i:e)},u,u.exports,e,t,i,o)}return i[r].exports}for(var n="function"==typeof require&&require,r=0;rp&&(b=a+(i+1)*r-(-1*o+l+n),f=t*r+2*a-m,h=Math.min(b,f)),{height:m+"px",top:o+"px",scrollTop:h}}var l=15,n=32,r=42,a=8;t.exports={getMenuPositionalCSS:o}},{}],5:[function(e,t,i){"use strict";function o(e,t){if(t&&e.setAttribute){for(var i,o=f(e),l=t.split(" "),n=0;n-1:!1}function r(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function a(e,t,i,o){o=void 0===o?!1:o,e.addEventListener(t,i,o);var l=e._muiEventCache=e._muiEventCache||{};l[t]=l[t]||[],l[t].push([i,o])}function s(e,t,i,o){o=void 0===o?!1:o;var l,n,r=e._muiEventCache=e._muiEventCache||{},a=r[t]||[];for(n=a.length;n--;)l=a[n],(void 0===i||l[0]===i&&l[1]===o)&&(a.splice(n,1),e.removeEventListener(t,l[0],l[1]))}function u(e,t,i,o){a(e,t,function l(o){i&&i.apply(this,arguments),s(e,t,l)},o)}function c(e,t){var i=window;if(void 0===t){if(e===i){var o=document.documentElement;return(i.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return e.scrollLeft}e===i?i.scrollTo(t,p(i)):e.scrollLeft=t}function p(e,t){var i=window;if(void 0===t){if(e===i){var o=document.documentElement;return(i.pageYOffset||o.scrollTop)-(o.clientTop||0)}return e.scrollTop}e===i?i.scrollTo(c(i),t):e.scrollTop=t}function d(e){var t=window,i=e.getBoundingClientRect(),o=p(t),l=c(t);return{top:i.top+o,left:i.left+l,height:i.height,width:i.width}}function m(e){var t=!1,i=!0,o=document,l=o.defaultView,n=o.documentElement,r=o.addEventListener?"addEventListener":"attachEvent",a=o.addEventListener?"removeEventListener":"detachEvent",s=o.addEventListener?"":"on",u=function d(i){"readystatechange"==i.type&&"complete"!=o.readyState||(("load"==i.type?l:o)[a](s+i.type,d,!1),!t&&(t=!0)&&e.call(l,i.type||i))},c=function m(){try{n.doScroll("left")}catch(e){return void setTimeout(m,50)}u("poll")};if("complete"==o.readyState)e.call(l,"lazy");else{if(o.createEventObject&&n.doScroll){try{i=!l.frameElement}catch(p){}i&&c()}o[r](s+"DOMContentLoaded",u,!1),o[r](s+"readystatechange",u,!1),l[r](s+"load",u,!1)}}function b(e,t){if(t&&e.setAttribute){for(var i,o=f(e),l=t.split(" "),n=0;n=0;)o=o.replace(" "+i+" "," ");e.setAttribute("class",o.trim())}}function f(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function h(e){return e.replace(v,function(e,t,i,o){return o?i.toUpperCase():i}).replace(y,"Moz$1")}function g(e,t,i){var o;return o=i.getPropertyValue(t),""!==o||e.ownerDocument||(o=e.style[h(t)]),o}var x,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;x={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:o,css:l,hasClass:n,off:s,offset:d,on:a,one:u,ready:m,removeClass:b,type:r,scrollLeft:c,scrollTop:p}},{}],6:[function(e,t,i){"use strict";function o(){var e=window;if(h.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var i=Array.prototype.slice.call(arguments);e.console.log(i.join("\n"))}}function l(e){var t,i=document;t=i.head||i.getElementsByTagName("head")[0]||i.documentElement;var o=i.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=e:o.appendChild(i.createTextNode(e)),t.insertBefore(o,t.firstChild),o}function n(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function r(e){if(x.push(e),void 0===x._initialized){var t=document;g.on(t,"animationstart",a),g.on(t,"mozAnimationStart",a),g.on(t,"webkitAnimationStart",a),x._initialized=!0}}function a(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,i=x.length-1;i>=0;i--)x[i](t)}function s(e){var t="";for(var i in e)t+=e[i]?i+" ":"";return t.trim()}function u(){if(void 0!==f)return f;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",f="auto"===e.style.pointerEvents}function c(e,t){return function(){e[t].apply(e,arguments)}}function p(e,t,i,o,l){var n,r=document.createEvent("HTMLEvents"),i=void 0!==i?i:!0,o=void 0!==o?o:!0;if(r.initEvent(t,i,o),l)for(n in l)r[n]=l[n];return e&&e.dispatchEvent(r),r}function d(){if(v+=1,1===v){var e=window,t=document;b={left:g.scrollLeft(e),top:g.scrollTop(e)},g.addClass(t.body,y),e.scrollTo(b.left,b.top)}}function m(){if(0!==v&&(v-=1,0===v)){var e=window,t=document;g.removeClass(t.body,y),e.scrollTo(b.left,b.top)}}var b,f,h=e("../config"),g=e("./jqLite"),x=[],v=0,y="mui-body--scroll-lock";t.exports={callback:c,classNames:s,disableScrollLock:m,dispatchEvent:p,enableScrollLock:d,log:o,loadStyle:l,onNodeInserted:r,raiseError:n,supportsPointerEvents:u}},{"../config":3,"./jqLite":5}],7:[function(e,t,i){"use strict";var o="You provided a `value` prop to a form field without an `OnChange` handler. Please see React documentation on controlled components";t.exports={controlledMessage:o}},{}],8:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/jqLite"),r=babelHelpers.interopRequireWildcard(n),a=e("../js/lib/util"),s=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u="mui-btn",c="mui-ripple-effect",p={color:1,variant:1,size:1},d=function(e){function t(){var e,i,o,l;babelHelpers.classCallCheck(this,t);for(var n=arguments.length,r=Array(n),a=0;n>a;a++)r[a]=arguments[a];return i=o=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(r))),o.state={ripples:{}},l=i,babelHelpers.possibleConstructorReturn(o,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this.refs.buttonEl;e._muiDropdown=!0,e._muiRipple=!0}},{key:"onClick",value:function(e){var t=this.props.onClick;t&&t(e)}},{key:"onMouseDown",value:function(e){var t=r.offset(this.refs.buttonEl),i=t.height;"fab"===this.props.variant&&(i/=2);var o=this.state.ripples,l=Date.now();o[l]={xPos:e.pageX-t.left,yPos:e.pageY-t.top,diameter:i,teardownFn:this.teardownRipple.bind(this,l)},this.setState({ripples:o})}},{key:"onTouchStart",value:function(e){}},{key:"teardownRipple",value:function(e){var t=this.state.ripples;delete t[e],this.setState({ripples:t})}},{key:"render",value:function(){var e=u,t=void 0,i=void 0,o=this.state.ripples;for(t in p)i=this.props[t],"default"!==i&&(e+=" "+u+"--"+i);return l["default"].createElement("button",babelHelpers["extends"]({},this.props,{ref:"buttonEl",className:e+" "+this.props.className,onClick:this.onClick.bind(this),onMouseDown:this.onMouseDown.bind(this)}),this.props.children,Object.keys(o).map(function(e,t){var i=o[e];return l["default"].createElement(m,{key:e,xPos:i.xPos,yPos:i.yPos,diameter:i.diameter,onTeardown:i.teardownFn})}))}}]),t}(l["default"].Component);d.propTypes={color:s.oneOf(["default","primary","danger","dark","accent"]),disabled:s.bool,size:s.oneOf(["default","small","large"]),type:s.oneOf(["submit","button"]),variant:s.oneOf(["default","flat","raised","fab"]),onClick:s.func},d.defaultProps={className:"",color:"default",disabled:!1,size:"default",type:null,variant:"default",onClick:null};var m=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.teardownTimer=setTimeout(function(){var t=e.props.onTeardown;t&&t()},2e3)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.teardownTimer)}},{key:"render",value:function(){var e=this.props.diameter,t=e/2,i={height:e,width:e,top:this.props.yPos-t||0,left:this.props.xPos-t||0};return l["default"].createElement("div",{className:c,style:i})}}]),t}(l["default"].Component);m.propTypes={xPos:s.number,yPos:s.number,diameter:s.number,onTeardown:s.func},m.defaultProps={xPos:0,yPos:0,diameter:0,onTeardown:null},i["default"]=d,t.exports=i["default"]},{"../js/lib/jqLite":5,"../js/lib/util":6,react:"CwoHg3"}],9:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("span",babelHelpers["extends"]({},t,{className:"mui-caret "+this.props.className}))}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],10:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=l["default"].PropTypes,r=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return null}}]),t}(l["default"].Component);r.propTypes={value:n.any,label:n.string,onActive:n.func},r.defaultProps={value:null,label:"",onActive:null},i["default"]=r,t.exports=i["default"]},{react:"CwoHg3"}],11:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.TextField=void 0;var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=babelHelpers.interopRequireWildcard(n),a=e("./_helpers"),s=l["default"].PropTypes,u=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e)),o=e.value,l=o||e.defaultValue;i.state={innerValue:l,isDirty:Boolean(l)},void 0!==o&&null===e.onChange&&r.raiseError(a.controlledMessage,!0);var n=r.callback;return i.onChangeCB=n(i,"onChange"),i.onFocusCB=n(i,"onFocus"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.inputEl._muiTextfield=!0}},{key:"onChange",value:function(e){this.setState({innerValue:e.target.value});var t=this.props.onChange;t&&t(e)}},{key:"onFocus",value:function(e){this.setState({isDirty:!0})}},{key:"triggerFocus",value:function(){this.refs.inputEl.focus()}},{key:"render",value:function(){var e={},t=Boolean(this.state.innerValue),i=void 0;e["mui--is-empty"]=!t,e["mui--is-not-empty"]=t,e["mui--is-dirty"]=this.state.isDirty,e["mui--is-invalid"]=this.props.invalid,e=r.classNames(e);var o=this.props,n=(o.children,babelHelpers.objectWithoutProperties(o,["children"]));return i="textarea"===this.props.type?l["default"].createElement("textarea",babelHelpers["extends"]({},n,{ref:"inputEl",className:e,rows:this.props.rows,placeholder:this.props.hint,value:this.props.value,defaultValue:this.props.defaultValue,autoFocus:this.props.autoFocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required})):l["default"].createElement("input",babelHelpers["extends"]({},n,{ref:"inputEl",className:e,type:this.props.type,value:this.props.value,defaultValue:this.props.defaultValue,placeholder:this.props.hint,autoFocus:this.props.autofocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required}))}}]),t}(l["default"].Component);u.propTypes={hint:s.string,value:s.string,type:s.string,autoFocus:s.bool,onChange:s.func},u.defaultProps={hint:null,type:null,autoFocus:!1,onChange:null};var c=function(e){function t(){var e,i,o,l;babelHelpers.classCallCheck(this,t);for(var n=arguments.length,r=Array(n),a=0;n>a;a++)r[a]=arguments[a];return i=o=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(r))),o.state={style:{}},l=i,babelHelpers.possibleConstructorReturn(o,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.styleTimer=setTimeout(function(){var t=".15s ease-out",i=void 0;i={transition:t,WebkitTransition:t,MozTransition:t,OTransition:t,msTransform:t},e.setState({style:i})},150)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.styleTimer)}},{key:"render",value:function(){return l["default"].createElement("label",{style:this.state.style,onClick:this.props.onClick},this.props.text)}}]),t}(l["default"].Component);c.defaultProps={text:"",onClick:null};var p=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.onClickCB=r.callback(i,"onClick"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){r.supportsPointerEvents()===!1&&(e.target.style.cursor="text",this.refs.inputEl.triggerFocus())}},{key:"render",value:function(){var e={},t=void 0;return this.props.label.length&&(t=l["default"].createElement(c,{text:this.props.label,onClick:this.onClickCB})),e["mui-textfield"]=!0,e["mui-textfield--float-label"]=this.props.floatingLabel,e=r.classNames(e),l["default"].createElement("div",{className:e},l["default"].createElement(u,babelHelpers["extends"]({ref:"inputEl"},this.props)),t)}}]),t}(l["default"].Component);p.propTypes={label:s.string,floatingLabel:s.bool},p.defaultProps={label:"",floatingLabel:!1},i.TextField=p},{"../js/lib/util":6,"./_helpers":7,react:"CwoHg3"}],12:[function(e,t,i){t.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],13:[function(e,t,i){t.exports=e(6)},{"../config":3,"./jqLite":5}],14:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-appbar "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],15:[function(e,t,i){t.exports=e(8)},{"../js/lib/jqLite":5,"../js/lib/util":6,react:"CwoHg3"}],16:[function(e,t,i){t.exports=e(9)},{react:"CwoHg3"}],17:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=(babelHelpers.interopRequireWildcard(n),e("./_helpers"),l["default"].PropTypes),a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-checkbox "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"checkbox",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);a.propTypes={name:r.string,label:r.string,value:r.string,checked:r.bool,defaultChecked:r.bool,disabled:r.bool,onChange:r.func},a.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},i["default"]=a,t.exports=i["default"]},{"../js/lib/util":6,"./_helpers":7,react:"CwoHg3"}],18:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=babelHelpers.interopRequireWildcard(n),a=["xs","sm","md","lg","xl"],s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"defaultProps",value:function(){var e={className:""},t=void 0,i=void 0;for(t=a.length-1;t>-1;t--)i=a[t],e[i]=null,e[i+"-offset"]=null;return e}},{key:"render",value:function(){var e={},t=void 0,i=void 0,o=void 0,n=void 0;for(t=a.length-1;t>-1;t--)i=a[t],n="mui-col-"+i,o=this.props[i],o&&(e[n+"-"+o]=!0),o=this.props[i+"-offset"],o&&(e[n+"-offset-"+o]=!0);return e=r.classNames(e),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);i["default"]=s,t.exports=i["default"]},{"../js/lib/util":6,react:"CwoHg3"}],19:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="mui-container";return this.props.fluid&&(e+="-fluid"),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.propTypes={fluid:l["default"].PropTypes.bool},n.defaultProps={className:"",fluid:!1},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],20:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-divider "+this.props.className}))}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],21:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=babelHelpers.interopRequireWildcard(n),a=l["default"].PropTypes,s=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.onClickCB=r.callback(i,"onClick"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick(this,e)}},{key:"render",value:function(){var e=this.props,t=e.children,i=(e.onClick,babelHelpers.objectWithoutProperties(e,["children","onClick"]));return l["default"].createElement("li",i,l["default"].createElement("a",{href:this.props.link,target:this.props.target,"data-mui-value":this.props.value,onClick:this.onClickCB},t))}}]),t}(l["default"].Component);s.propTypes={link:a.string,target:a.string,onClick:a.func},i["default"]=s,t.exports=i["default"]},{"../js/lib/util":6,react:"CwoHg3"}],22:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./button"),r=babelHelpers.interopRequireDefault(n),a=e("./caret"),s=babelHelpers.interopRequireDefault(a),u=e("../js/lib/jqLite"),c=babelHelpers.interopRequireWildcard(u),p=e("../js/lib/util"),d=babelHelpers.interopRequireWildcard(p),m=l["default"].PropTypes,b="mui-dropdown",f="mui-dropdown__menu",h="mui--is-open",g="mui-dropdown__menu--right",x=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));i.state={opened:!1,menuTop:0};var o=d.callback;return i.selectCB=o(i,"select"),i.onClickCB=o(i,"onClick"),i.onOutsideClickCB=o(i,"onOutsideClick"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){document.addEventListener("click",this.onOutsideClickCB)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.onOutsideClickCB)}},{key:"onClick",value:function(e){if(0===e.button&&!this.props.disabled&&!e.defaultPrevented){this.toggle();var t=this.props.onClick;t&&t(e)}}},{key:"toggle",value:function(){return this.props.children?void(this.state.opened?this.close():this.open()):d.raiseError("Dropdown menu element not found")}},{key:"open",value:function(){var e=this.refs.wrapperEl.getBoundingClientRect(),t=void 0;t=this.refs.button.refs.buttonEl.getBoundingClientRect(),this.setState({opened:!0,menuTop:t.top-e.top+t.height})}},{key:"close",value:function(){this.setState({opened:!1})}},{key:"select",value:function(e){this.props.onSelect&&"A"===e.target.tagName&&this.props.onSelect(e.target.getAttribute("data-mui-value")),e.defaultPrevented||this.close()}},{key:"onOutsideClick",value:function(e){var t=this.refs.wrapperEl.contains(e.target);t||this.close()}},{key:"render",value:function(){var e=void 0,t=void 0,i=void 0;if(i="string"===c.type(this.props.label)?l["default"].createElement("span",null,this.props.label," ",l["default"].createElement(s["default"],null)):this.props.label,e=l["default"].createElement(r["default"],{ref:"button",type:"button",onClick:this.onClickCB,color:this.props.color,variant:this.props.variant,size:this.props.size,disabled:this.props.disabled},i),this.state.opened){var o={};o[f]=!0,o[h]=this.state.opened,o[g]="right"===this.props.alignMenu,o=d.classNames(o),t=l["default"].createElement("ul",{ref:"menuEl",className:o,style:{top:this.state.menuTop},onClick:this.selectCB},this.props.children)}var n=this.props,a=n.className,u=(n.children,n.onClick,babelHelpers.objectWithoutProperties(n,["className","children","onClick"]));return l["default"].createElement("div",babelHelpers["extends"]({},u,{ref:"wrapperEl",className:b+" "+a}),e,t)}}]),t}(l["default"].Component);x.propTypes={color:m.oneOf(["default","primary","danger","dark","accent"]),variant:m.oneOf(["default","flat","raised","fab"]),size:m.oneOf(["default","small","large"]),label:m.oneOfType([m.string,m.element]),alignMenu:m.oneOf(["left","right"]),onClick:m.func,onSelect:m.func,disabled:m.bool},x.defaultProps={className:"",color:"default",variant:"default",size:"default",label:"",alignMenu:"left",onClick:null,onSelect:null,disabled:!1},i["default"]=x,t.exports=i["default"]},{"../js/lib/jqLite":5,"../js/lib/util":6,"./button":8,"./caret":9,react:"CwoHg3"}],23:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="";return this.props.inline&&(e="mui-form--inline"),l["default"].createElement("form",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.propTypes={inline:l["default"].PropTypes.bool},n.defaultProps={className:"",inline:!1},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],24:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./text-field"),r=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(n.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={type:r.oneOf(["text","email","url","tel","password"])},a.defaultProps={type:"text"},i["default"]=a,t.exports=i["default"]},{"./text-field":11,react:"CwoHg3"}],25:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/forms"),r=(babelHelpers.interopRequireWildcard(n),e("../js/lib/jqLite")),a=(babelHelpers.interopRequireWildcard(r),e("../js/lib/util")),s=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("option",babelHelpers["extends"]({},t,{value:this.props.value}),this.props.label)}}]),t}(l["default"].Component);u.propTypes={value:s.string,label:s.string},u.defaultProps={value:null,label:null},i["default"]=u,t.exports=i["default"]},{"../js/lib/forms":4,"../js/lib/jqLite":5,"../js/lib/util":6,react:"CwoHg3"}],26:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-panel "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);n.defaultProps={className:""},i["default"]=n,t.exports=i["default"]},{react:"CwoHg3"}],27:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=l["default"].PropTypes,r=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-radio "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"radio",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);r.propTypes={name:n.string,label:n.string,value:n.string,checked:n.bool,defaultChecked:n.bool,disabled:n.bool,onChange:n.func},r.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},i["default"]=r,t.exports=i["default"]},{react:"CwoHg3"}],28:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/util"),r=(babelHelpers.interopRequireWildcard(n),function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-row "+this.props.className}),this.props.children)}}]),t}(l["default"].Component));r.defaultProps={className:""},i["default"]=r,t.exports=i["default"]},{"../js/lib/util":6,react:"CwoHg3"}],29:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("../js/lib/forms"),r=babelHelpers.interopRequireWildcard(n),a=e("../js/lib/jqLite"),s=babelHelpers.interopRequireWildcard(a),u=e("../js/lib/util"),c=babelHelpers.interopRequireWildcard(u),p=e("./_helpers"),d=l["default"].PropTypes,m=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));i.state={showMenu:!1},e.readOnly===!1&&void 0!==e.value&&null===e.onChange&&c.raiseError(p.controlledMessage,!0),i.state.value=e.value;var o=c.callback;return i.hideMenuCB=o(i,"hideMenu"),i.onInnerChangeCB=o(i,"onInnerChange"),i.onInnerClickCB=o(i,"onInnerClick"),i.onInnerFocusCB=o(i,"onInnerFocus"),i.onInnerMouseDownCB=o(i,"onInnerMouseDown"),i.onKeydownCB=o(i,"onKeydown"),i.onMenuChangeCB=o(i,"onMenuChange"),i.onOuterFocusCB=o(i,"onOuterFocus"),i.onOuterBlurCB=o(i,"onOuterBlur"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.selectEl._muiSelect=!0,this.refs.wrapperEl.tabIndex=-1,this.props.autoFocus&&this.refs.wrapperEl.focus()}},{key:"componentWillReceiveProps",value:function(e){this.setState({value:e.value})}},{key:"onInnerMouseDown",value:function(e){0===e.button&&this.props.useDefault!==!0&&e.preventDefault()}},{key:"onInnerChange",value:function(e){var t=e.target.value;this.setState({value:t});var i=this.props.onChange;i&&i(t)}},{key:"onInnerClick",value:function(e){0===e.button&&this.showMenu()}},{key:"onInnerFocus",value:function(e){var t=this;this.props.useDefault!==!0&&setTimeout(function(){t.refs.wrapperEl.focus()},0)}},{key:"onOuterFocus",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;return t._muiOrigIndex=t.tabIndex,t.tabIndex=-1,t.disabled?this.refs.wrapperEl.blur():void s.on(document,"keydown",this.onKeydownCB)}}},{key:"onOuterBlur",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;t.tabIndex=t._muiOrigIndex,s.off(document,"keydown",this.onKeydownCB)}}},{key:"onKeydown",value:function(e){32!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode||(e.preventDefault(),this.refs.selectEl.disabled!==!0&&this.showMenu())}},{key:"showMenu",value:function(){this.props.useDefault!==!0&&(c.enableScrollLock(),s.on(window,"resize",this.hideMenuCB),s.on(document,"click",this.hideMenuCB),this.setState({showMenu:!0}))}},{key:"hideMenu",value:function(){c.disableScrollLock(),s.off(window,"resize",this.hideMenuCB),s.off(document,"click",this.hideMenuCB),this.setState({showMenu:!1}),this.refs.selectEl.focus()}},{key:"onMenuChange",value:function(e){if(this.props.readOnly!==!0){this.setState({value:e});var t=this.props.onChange;t&&t(e)}}},{key:"render",value:function(){var e=void 0;this.state.showMenu&&(e=l["default"].createElement(b,{optionEls:this.refs.selectEl.children,wrapperEl:this.refs.wrapperEl,onChange:this.onMenuChangeCB,onClose:this.hideMenuCB}));var t=this.props,i=(t.children,t.onChange,babelHelpers.objectWithoutProperties(t,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},i,{ref:"wrapperEl",className:"mui-select "+this.props.className,onFocus:this.onOuterFocusCB,onBlur:this.onOuterBlurCB}),l["default"].createElement("select",{ref:"selectEl",name:this.props.name,value:this.state.value,defaultValue:this.props.defaultValue,disabled:this.props.disabled,multiple:this.props.multiple,readOnly:this.props.readOnly,required:this.props.required,onChange:this.onInnerChangeCB,onMouseDown:this.onInnerMouseDownCB,onClick:this.onInnerClickCB,onFocus:this.onInnerFocusCB},this.props.children),e)}}]),t}(l["default"].Component);m.propTypes={name:d.string,value:d.string,defaultValue:d.string,autoFocus:d.bool,disabled:d.bool,multiple:d.bool,readOnly:d.bool,required:d.bool,useDefault:d.bool,onChange:d.func},m.defaultProps={className:"",name:null,autoFocus:!1,disabled:!1,multiple:!1,readOnly:!1,required:!1,useDefault:!1,onChange:null};var b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.state={origIndex:null,currentIndex:null},i.onKeydownCB=c.callback(i,"onKeydown"),i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){var e=this.props.optionEls,t=e.length,i=0,o=void 0;for(o=t-1;o>-1;o--)e[o].selected&&(i=o);this.setState({origIndex:i,currentIndex:i})}},{key:"componentDidMount",value:function(){this.blurTimer=setTimeout(function(){var e=document.activeElement;"body"!==e.nodeName.toLowerCase()&&e.blur()},0);var e=r.getMenuPositionalCSS(this.props.wrapperEl,this.props.optionEls.length,this.state.currentIndex),t=this.refs.wrapperEl;s.css(t,e),s.scrollTop(t,e.scrollTop),s.on(document,"keydown",this.onKeydownCB)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.blurTimer),s.off(document,"keydown",this.onKeydownCB)}},{key:"onClick",value:function(e,t){t.stopPropagation(),this.selectAndDestroy(e)}},{key:"onKeydown",value:function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&this.selectAndDestroy()))}},{key:"increment",value:function(){this.state.currentIndex!==this.props.optionEls.length-1&&this.setState({currentIndex:this.state.currentIndex+1})}},{key:"decrement",value:function(){0!==this.state.currentIndex&&this.setState({currentIndex:this.state.currentIndex-1})}},{key:"selectAndDestroy",value:function(e){e=void 0===e?this.state.currentIndex:e,e!==this.state.origIndex&&this.props.onChange(this.props.optionEls[e].value),this.destroy()}},{key:"destroy",value:function(){this.props.onClose()}},{key:"render",value:function(){var e=[],t=this.props.optionEls,i=t.length,o=void 0,n=void 0;for(n=0;i>n;n++)o=n===this.state.currentIndex?"mui--is-selected":"",e.push(l["default"].createElement("div",{key:n,className:o,onClick:this.onClick.bind(this,n)},t[n].textContent));return l["default"].createElement("div",{ref:"wrapperEl",className:"mui-select__menu"},e)}}]),t}(l["default"].Component);b.defaultProps={optionEls:[],wrapperEl:null,onChange:null,onClose:null},i["default"]=m,t.exports=i["default"]},{"../js/lib/forms":4,"../js/lib/jqLite":5,"../js/lib/util":6,"./_helpers":7,react:"CwoHg3"}],30:[function(e,t,i){t.exports=e(10)},{react:"CwoHg3"}],31:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./tab"),r=babelHelpers.interopRequireDefault(n),a=e("../js/lib/util"),s=babelHelpers.interopRequireWildcard(a),u=l["default"].PropTypes,c="mui-tabs__bar",p="mui-tabs__bar--justified",d="mui-tabs__pane",m="mui--is-active",b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var i=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return i.state={currentSelectedIndex:e.initialSelectedIndex},i}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e,t,i){e!==this.state.currentSelectedIndex&&(this.setState({currentSelectedIndex:e}),t.props.onActive&&t.props.onActive(t),this.props.onChange&&this.props.onChange(e,t.props.value,t,i))}},{key:"render",value:function(){var e=this.props,t=e.children,i=babelHelpers.objectWithoutProperties(e,["children"]),o=[],n=[],a=t.length,u=this.state.currentSelectedIndex%a,b=void 0,f=void 0,h=void 0,g=void 0;for(g=0;a>g;g++)f=t[g],f.type!==r["default"]&&s.raiseError("Expecting MUITab React Element"),b=g===u,o.push(l["default"].createElement("li",{key:g,className:b?m:""},l["default"].createElement("a",{onClick:this.onClick.bind(this,g,f)},f.props.label))),h=d+" ",b&&(h+=m),n.push(l["default"].createElement("div",{key:g,className:h},f.props.children));return h=c,this.props.justified&&(h+=" "+p),l["default"].createElement("div",i,l["default"].createElement("ul",{className:h},o),n)}}]),t}(l["default"].Component);b.propTypes={initialSelectedIndex:u.number,justified:u.bool,onChange:u.func},b.defaultProps={className:"",initialSelectedIndex:0,justified:!1,onChange:null},i["default"]=b,t.exports=i["default"]},{"../js/lib/util":6,"./tab":10,react:"CwoHg3"}],32:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var o=window.React,l=babelHelpers.interopRequireDefault(o),n=e("./text-field"),r=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(n.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={rows:r.number},a.defaultProps={type:"textarea",rows:2},i["default"]=a,t.exports=i["default"]},{"./text-field":11,react:"CwoHg3"}]},{},[2]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.js new file mode 100644 index 0000000..1d101ee --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.js @@ -0,0 +1,1809 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o viewHeight) { + scrollIdeal = (menuPadding + (currentIndex + 1) * optionHeight) - + (-1 * top + wrapperPadding + inputHeight); + scrollMax = numOptions * optionHeight + 2 * menuPadding - height; + scrollTop = Math.min(scrollIdeal, scrollMax); + } + + return { + 'height': height + 'px', + 'top': top + 'px', + 'scrollTop': scrollTop + }; +} + + +/** Define module API */ +module.exports = { + getMenuPositionalCSS: getMenuPositionalCSSFn +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS jqLite module + * @module lib/jqLite + */ + +'use strict'; + + +/** + * Add a class to an element. + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteAddClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { + existingClasses += cssClass + ' '; + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +/** + * Get or set CSS properties. + * @param {Element} element - The DOM element. + * @param {string} [name] - The property name. + * @param {string} [value] - The property value. + */ +function jqLiteCss(element, name, value) { + // Return full style object + if (name === undefined) { + return getComputedStyle(element); + } + + var nameType = jqLiteType(name); + + // Set multiple values + if (nameType === 'object') { + for (var key in name) element.style[_camelCase(key)] = name[key]; + return; + } + + // Set a single value + if (nameType === 'string' && value !== undefined) { + element.style[_camelCase(name)] = value; + } + + var styleObj = getComputedStyle(element), + isArray = (jqLiteType(name) === 'array'); + + // Read single value + if (!isArray) return _getCurrCssProp(element, name, styleObj); + + // Read multiple values + var outObj = {}, + key; + + for (var i=0; i < name.length; i++) { + key = name[i]; + outObj[key] = _getCurrCssProp(element, key, styleObj); + } + + return outObj; +} + + +/** + * Check if element has class. + * @param {Element} element - The DOM element. + * @param {string} cls - The class name string. + */ +function jqLiteHasClass(element, cls) { + if (!cls || !element.getAttribute) return false; + return (_getExistingClasses(element).indexOf(' ' + cls + ' ') > -1); +} + + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || + (args[0] === callback && args[1] === useCapture)) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win)); + else element.scrollLeft = value; +} + + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value); + else element.scrollTop = value; +} + + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function() { + try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { top = !win.frameElement; } catch(e) { } + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +} + + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + + +function _camelCase(name) { + return name. + replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }). + replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],5:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || + doc.getElementsByTagName('head')[0] || + doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText; + else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i=nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += (classes[i]) ? i + ' ' : ''; + } + return cs.trim(); +} + + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = (element.style.pointerEvents === 'auto'); + return _supportsPointerEvents; +} + + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function() {instance[funcName].apply(instance, arguments);}; +} + + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = (bubbles !== undefined) ? bubbles : true, + cancelable = (cancelable !== undefined) ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) ev[k] = data[k]; + + // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1 + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = {left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win)}; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1 + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":4}],6:[function(require,module,exports){ +/** + * MUI CSS/JS dropdown module + * @module dropdowns + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[data-mui-toggle="dropdown"]', + openClass = 'mui--is-open', + menuClass = 'mui-dropdown__menu'; + + +/** + * Initialize toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiDropdown === true) return; + else toggleEl._muiDropdown = true; + + // use type "button" to prevent form submission by default + if (!toggleEl.hasAttribute('type')) toggleEl.type = 'button'; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle click events on dropdown toggle element. + * @param {Event} ev - The DOM event + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle button is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + // toggle dropdown + toggleDropdown(toggleEl); +} + + +/** + * Toggle the dropdown. + * @param {Element} toggleEl - The dropdown toggle element. + */ +function toggleDropdown(toggleEl) { + var wrapperEl = toggleEl.parentNode, + menuEl = toggleEl.nextElementSibling, + doc = wrapperEl.ownerDocument; + + // exit if no menu element + if (!menuEl || !jqLite.hasClass(menuEl, menuClass)) { + return util.raiseError('Dropdown menu element not found'); + } + + // method to close dropdown + function closeDropdownFn() { + jqLite.removeClass(menuEl, openClass); + + // remove event handlers + jqLite.off(doc, 'click', closeDropdownFn); + } + + // method to open dropdown + function openDropdownFn() { + // position menu element below toggle button + var wrapperRect = wrapperEl.getBoundingClientRect(), + toggleRect = toggleEl.getBoundingClientRect(); + + var top = toggleRect.top - wrapperRect.top + toggleRect.height; + jqLite.css(menuEl, 'top', top + 'px'); + + // add open class to wrapper + jqLite.addClass(menuEl, openClass); + + // close dropdown when user clicks outside of menu + setTimeout(function() {jqLite.on(doc, 'click', closeDropdownFn);}, 0); + } + + // toggle dropdown + if (jqLite.hasClass(menuEl, openClass)) closeDropdownFn(); + else openDropdownFn(); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'dropdown') initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],7:[function(require,module,exports){ +module.exports=require(4) +},{}],8:[function(require,module,exports){ +/** + * MUI CSS/JS overlay module + * @module overlay + */ + +'use strict'; + + +var util = require('./lib/util'), + jqLite = require('./lib/jqLite'), + overlayId = 'mui-overlay', + bodyClass = 'mui--overflow-hidden', + iosRegex = /(iPad|iPhone|iPod)/g; + + +/** + * Turn overlay on/off. + * @param {string} action - Turn overlay "on"/"off". + * @param {object} [options] + * @config {boolean} [keyboard] - If true, close when escape key is pressed. + * @config {boolean} [static] - If false, close when backdrop is clicked. + * @config {Function} [onclose] - Callback function to execute on close + * @param {Element} [childElement] - Child element to add to overlay. + */ +function overlayFn(action) { + var overlayEl; + + if (action === 'on') { + // extract arguments + var arg, options, childElement; + + // pull options and childElement from arguments + for (var i=arguments.length - 1; i > 0; i--) { + arg = arguments[i]; + + if (jqLite.type(arg) === 'object') options = arg; + if (arg instanceof Element && arg.nodeType === 1) childElement = arg; + } + + // option defaults + options = options || {}; + if (options.keyboard === undefined) options.keyboard = true; + if (options.static === undefined) options.static = false; + + // execute method + overlayEl = overlayOn(options, childElement); + + } else if (action === 'off') { + overlayEl = overlayOff(); + + } else { + // raise error + util.raiseError("Expecting 'on' or 'off'"); + } + + return overlayEl; +} + + +/** + * Turn on overlay. + * @param {object} options - Overlay options. + * @param {Element} childElement - The child element. + */ +function overlayOn(options, childElement) { + var bodyEl = document.body, + overlayEl = document.getElementById(overlayId); + + // add overlay + util.enableScrollLock(); + //jqLite.addClass(bodyEl, bodyClass); + + if (!overlayEl) { + // create overlayEl + overlayEl = document.createElement('div'); + overlayEl.setAttribute('id', overlayId); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + + bodyEl.appendChild(overlayEl); + + } else { + // remove existing children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + } + + // iOS bugfix + if (iosRegex.test(navigator.userAgent)) { + jqLite.css(overlayEl, 'cursor', 'pointer'); + } + + // handle options + if (options.keyboard) addKeyupHandler(); + else removeKeyupHandler(); + + if (options.static) removeClickHandler(overlayEl); + else addClickHandler(overlayEl); + + // attach options + overlayEl.muiOptions = options; + + return overlayEl; +} + + +/** + * Turn off overlay. + */ +function overlayOff() { + var overlayEl = document.getElementById(overlayId), + callbackFn; + + if (overlayEl) { + // remove children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // remove overlay element + overlayEl.parentNode.removeChild(overlayEl); + + // callback reference + callbackFn = overlayEl.muiOptions.onclose; + + // remove click handler + removeClickHandler(overlayEl); + } + + util.disableScrollLock(); + + // remove keyup handler + removeKeyupHandler(); + + // execute callback + if (callbackFn) callbackFn(); + + return overlayEl; +} + + +/** + * Add keyup handler. + */ +function addKeyupHandler() { + jqLite.on(document, 'keyup', onKeyup); +} + + +/** + * Remove keyup handler. + */ +function removeKeyupHandler() { + jqLite.off(document, 'keyup', onKeyup); +} + + +/** + * Teardown overlay when escape key is pressed. + */ +function onKeyup(ev) { + if (ev.keyCode === 27) overlayOff(); +} + + +/** + * Add click handler. + */ +function addClickHandler(overlayEl) { + jqLite.on(overlayEl, 'click', onClick); +} + + +/** + * Remove click handler. + */ +function removeClickHandler(overlayEl) { + jqLite.off(overlayEl, 'click', onClick); +} + + +/** + * Teardown overlay when backdrop is clicked. + */ +function onClick(ev) { + if (ev.target.id === overlayId) overlayOff(); +} + + +/** Define module API */ +module.exports = overlayFn; + +},{"./lib/jqLite":4,"./lib/util":5}],9:[function(require,module,exports){ +/** + * MUI CSS/JS ripple module + * @module ripple + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + btnClass = 'mui-btn', + btnFABClass = 'mui-btn--fab', + rippleClass = 'mui-ripple-effect', + animationName = 'mui-btn-inserted'; + + +/** + * Add ripple effects to button element. + * @param {Element} buttonEl - The button element. + */ +function initialize(buttonEl) { + // check flag + if (buttonEl._muiRipple === true) return; + else buttonEl._muiRipple = true; + + // exit if element is INPUT (doesn't support absolute positioned children) + if (buttonEl.tagName === 'INPUT') return; + + // attach event handler + jqLite.on(buttonEl, 'touchstart', eventHandler); + jqLite.on(buttonEl, 'mousedown', eventHandler); +} + + +/** + * Event handler + * @param {Event} ev - The DOM event + */ +function eventHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var buttonEl = this; + + // exit if button is disabled + if (buttonEl.disabled === true) return; + + // de-dupe touchstart and mousedown with 100msec flag + if (buttonEl.touchFlag === true) { + return; + } else { + buttonEl.touchFlag = true; + setTimeout(function() { + buttonEl.touchFlag = false; + }, 100); + } + + var rippleEl = document.createElement('div'); + rippleEl.className = rippleClass; + + var offset = jqLite.offset(buttonEl), + xPos = ev.pageX - offset.left, + yPos = ev.pageY - offset.top, + diameter, + radius; + + // get height + if (jqLite.hasClass(buttonEl, btnFABClass)) diameter = offset.height / 2; + else diameter = offset.height; + + radius = diameter / 2; + + jqLite.css(rippleEl, { + height: diameter + 'px', + width: diameter + 'px', + top: yPos - radius + 'px', + left: xPos - radius + 'px' + }); + + buttonEl.appendChild(rippleEl); + + window.setTimeout(function() { + var parentNode = rippleEl.parentNode; + if (parentNode) parentNode.removeChild(rippleEl); + }, 2000); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.getElementsByClassName(btnClass); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (jqLite.hasClass(el, btnClass)) initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],10:[function(require,module,exports){ +/** + * MUI CSS/JS select module + * @module forms/select + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + formlib = require('./lib/forms'), + wrapperClass = 'mui-select', + cssSelector = '.mui-select > select', + menuClass = 'mui-select__menu', + selectedClass = 'mui--is-selected', + doc = document, + win = window; + + +/** + * Initialize select element. + * @param {Element} selectEl - The select element. + */ +function initialize(selectEl) { + // check flag + if (selectEl._muiSelect === true) return; + else selectEl._muiSelect = true; + + // use default behavior on touch devices + if ('ontouchstart' in doc.documentElement) return; + + // initialize element + new Select(selectEl); +} + + +/** + * Creates a new Select object + * @class + */ +function Select(selectEl) { + // instance variables + this.selectEl = selectEl; + this.wrapperEl = selectEl.parentNode; + this.useDefault = false; // currently unused but let's keep just in case + + // attach event handlers + jqLite.on(selectEl, 'mousedown', util.callback(this, 'mousedownHandler')); + jqLite.on(selectEl, 'focus', util.callback(this, 'focusHandler')); + jqLite.on(selectEl, 'click', util.callback(this, 'clickHandler')); + + // make wrapper focusable and fix firefox bug + this.wrapperEl.tabIndex = -1; + var callbackFn = util.callback(this, 'wrapperFocusHandler'); + jqLite.on(this.wrapperEl, 'focus', callbackFn); +} + + +/** + * Disable default dropdown on mousedown. + * @param {Event} ev - The DOM event + */ +Select.prototype.mousedownHandler = function(ev) { + if (ev.button !== 0 || this.useDefault === true) return; + ev.preventDefault(); +} + + +/** + * Handle focus event on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.focusHandler = function(ev) { + // check flag + if (this.useDefault === true) return; + + var selectEl = this.selectEl, + wrapperEl = this.wrapperEl, + origIndex = selectEl.tabIndex, + keydownFn = util.callback(this, 'keydownHandler'); + + // attach keydown handler + jqLite.on(doc, 'keydown', keydownFn); + + // disable tabfocus once + selectEl.tabIndex = -1; + jqLite.one(wrapperEl, 'blur', function() { + selectEl.tabIndex = origIndex; + jqLite.off(doc, 'keydown', keydownFn); + }); + + // defer focus to parent + wrapperEl.focus(); +} + + +/** + * Handle keydown events on doc + **/ +Select.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // spacebar, down, up + if (keyCode === 32 || keyCode === 38 || keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.selectEl.disabled !== true) this.renderMenu(); + } +} + + +/** + * Handle focus event on wrapper element. + */ +Select.prototype.wrapperFocusHandler = function() { + // firefox bugfix + if (this.selectEl.disabled) return this.wrapperEl.blur(); +} + + +/** + * Handle click events on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.clickHandler = function(ev) { + // only left clicks + if (ev.button !== 0) return; + this.renderMenu(); +} + + +/** + * Render options dropdown. + */ +Select.prototype.renderMenu = function() { + // check and reset flag + if (this.useDefault === true) return this.useDefault = false; + + new Menu(this.wrapperEl, this.selectEl); +} + + +/** + * Creates a new Menu + * @class + */ +function Menu(wrapperEl, selectEl) { + // add scroll lock + util.enableScrollLock(); + + // instance variables + this.origIndex = null; + this.currentIndex = null; + this.selectEl = selectEl; + this.menuEl = this._createMenuEl(wrapperEl, selectEl); + this.clickCallbackFn = util.callback(this, 'clickHandler'); + this.keydownCallbackFn = util.callback(this, 'keydownHandler'); + this.destroyCallbackFn = util.callback(this, 'destroy'); + + // add to DOM + wrapperEl.appendChild(this.menuEl); + jqLite.scrollTop(this.menuEl, this.menuEl._muiScrollTop); + + // blur active element + setTimeout(function() { + // ie10 bugfix + if (doc.activeElement.nodeName.toLowerCase() !== "body") { + doc.activeElement.blur(); + } + }, 0); + + // attach event handlers + jqLite.on(this.menuEl, 'click', this.clickCallbackFn); + jqLite.on(doc, 'keydown', this.keydownCallbackFn); + jqLite.on(win, 'resize', this.destroyCallbackFn); + + // attach event handler after current event loop exits + var fn = this.destroyCallbackFn; + setTimeout(function() {jqLite.on(doc, 'click', fn);}, 0); +} + + +/** + * Create menu element + * @param {Element} selectEl - The select element + */ +Menu.prototype._createMenuEl = function(wrapperEl, selectEl) { + var menuEl = doc.createElement('div'), + optionEls = selectEl.children, + numOptions = optionEls.length, + selectedPos = 0, + optionEl, + itemEl, + i; + + menuEl.className = menuClass; + + // add options + for (i=0; i < numOptions; i++) { + optionEl = optionEls[i]; + + itemEl = doc.createElement('div'); + itemEl.textContent = optionEl.textContent; + itemEl._muiPos = i; + + if (optionEl.selected) { + itemEl.setAttribute('class', selectedClass); + selectedPos = i; + } + + menuEl.appendChild(itemEl); + } + + // save indices + this.origIndex = selectedPos; + this.currentIndex = selectedPos; + + // set position + var props = formlib.getMenuPositionalCSS( + wrapperEl, + numOptions, + selectedPos + ); + + jqLite.css(menuEl, props); + menuEl._muiScrollTop = props.scrollTop; + + return menuEl; +} + + +/** + * Handle keydown events on doc element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) { + this.destroy(); + } else if (keyCode === 40) { + this.increment(); + } else if (keyCode === 38) { + this.decrement(); + } else if (keyCode === 13) { + this.selectCurrent(); + this.destroy(); + } +} + + +/** + * Handle click events on menu element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.clickHandler = function(ev) { + // don't allow events to bubble + ev.stopPropagation(); + + var pos = ev.target._muiPos; + + // ignore clicks on non-items + if (pos === undefined) return; + + // select option + this.currentIndex = pos; + this.selectCurrent(); + + // destroy menu + this.destroy(); +} + + +/** + * Increment selected item + */ +Menu.prototype.increment = function() { + if (this.currentIndex === this.menuEl.children.length - 1) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex += 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Decrement selected item + */ +Menu.prototype.decrement = function() { + if (this.currentIndex === 0) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex -= 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Select current item + */ +Menu.prototype.selectCurrent = function() { + if (this.currentIndex !== this.origIndex) { + var optionEls = this.selectEl.children; + optionEls[this.origIndex].selected = false; + optionEls[this.currentIndex].selected = true; + + // trigger change event + util.dispatchEvent(this.selectEl, 'change'); + } +} + + +/** + * Destroy menu and detach event handlers + */ +Menu.prototype.destroy = function() { + // remove element and focus element + var parentNode = this.menuEl.parentNode; + if (parentNode) parentNode.removeChild(this.menuEl); + + this.selectEl.focus(); + + // remove scroll lock + util.disableScrollLock(); + + // remove event handlers + jqLite.off(this.menuEl, 'click', this.clickCallbackFn); + jqLite.off(doc, 'keydown', this.keydownCallbackFn); + jqLite.off(doc, 'click', this.destroyCallbackFn); + jqLite.off(win, 'resize', this.destroyCallbackFn); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'SELECT' && + jqLite.hasClass(el.parentNode, wrapperClass)) { + initialize(el); + } + }); + } +}; + +},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(require,module,exports){ +/** + * MUI CSS/JS tabs module + * @module tabs + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[' + attrKey + '="tab"]', + controlsAttrKey = 'data-mui-controls', + activeClass = 'mui--is-active', + showstartKey = 'mui.tabs.showstart', + showendKey = 'mui.tabs.showend', + hidestartKey = 'mui.tabs.hidestart', + hideendKey = 'mui.tabs.hideend'; + + +/** + * Initialize the toggle element + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiTabs === true) return; + else toggleEl._muiTabs = true; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle clicks on the toggle element. + * @param {Event} ev - The DOM event. + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle element is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + activateTab(toggleEl); +} + + +/** + * Activate the tab controlled by the toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function activateTab(currToggleEl) { + var currTabEl = currToggleEl.parentNode, + currPaneId = currToggleEl.getAttribute(controlsAttrKey), + currPaneEl = document.getElementById(currPaneId), + prevTabEl, + prevPaneEl, + prevPaneId, + prevToggleEl, + currData, + prevData, + ev1, + ev2, + cssSelector; + + // exit if already active + if (jqLite.hasClass(currTabEl, activeClass)) return; + + // raise error if pane doesn't exist + if (!currPaneEl) util.raiseError('Tab pane "' + currPaneId + '" not found'); + + // get previous pane + prevPaneEl = getActiveSibling(currPaneEl); + prevPaneId = prevPaneEl.id; + + // get previous toggle and tab elements + cssSelector = '[' + controlsAttrKey + '="' + prevPaneId + '"]'; + prevToggleEl = document.querySelectorAll(cssSelector)[0]; + prevTabEl = prevToggleEl.parentNode; + + // define event data + currData = {paneId: currPaneId, relatedPaneId: prevPaneId}; + prevData = {paneId: prevPaneId, relatedPaneId: currPaneId}; + + // dispatch 'hidestart', 'showstart' events + ev1 = util.dispatchEvent(prevToggleEl, hidestartKey, true, true, prevData); + ev2 = util.dispatchEvent(currToggleEl, showstartKey, true, true, currData); + + // let events bubble + setTimeout(function() { + // exit if either event was canceled + if (ev1.defaultPrevented || ev2.defaultPrevented) return; + + // de-activate previous + if (prevTabEl) jqLite.removeClass(prevTabEl, activeClass); + if (prevPaneEl) jqLite.removeClass(prevPaneEl, activeClass); + + // activate current + jqLite.addClass(currTabEl, activeClass); + jqLite.addClass(currPaneEl, activeClass); + + // dispatch 'hideend', 'showend' events + util.dispatchEvent(prevToggleEl, hideendKey, true, false, prevData); + util.dispatchEvent(currToggleEl, showendKey, true, false, currData); + }, 0); +} + + +/** + * Get previous active sibling. + * @param {Element} el - The anchor element. + */ +function getActiveSibling(el) { + var elList = el.parentNode.children, + q = elList.length, + activeEl = null, + tmpEl; + + while (q-- && !activeEl) { + tmpEl = elList[q]; + if (tmpEl !== el && jqLite.hasClass(tmpEl, activeClass)) activeEl = tmpEl + } + + return activeEl; +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = document.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // TODO: listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'tab') initialize(el); + }); + }, + + /** External API */ + api: { + activate: function(paneId) { + var cssSelector = '[' + controlsAttrKey + '=' + paneId + ']', + toggleEl = document.querySelectorAll(cssSelector); + + if (!toggleEl.length) { + util.raiseError('Tab control for pane "' + paneId + '" not found'); + } + + activateTab(toggleEl[0]); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],12:[function(require,module,exports){ +/** + * MUI CSS/JS form-control module + * @module forms/form-control + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + cssSelector = '.mui-textfield > input, .mui-textfield > textarea', + emptyClass = 'mui--is-empty', + notEmptyClass = 'mui--is-not-empty', + dirtyClass = 'mui--is-dirty', + floatingLabelClass = 'mui-textfield--float-label'; + + +/** + * Initialize input element. + * @param {Element} inputEl - The input element. + */ +function initialize(inputEl) { + // check flag + if (inputEl._muiTextfield === true) return; + else inputEl._muiTextfield = true; + + if (inputEl.value.length) jqLite.addClass(inputEl, notEmptyClass); + else jqLite.addClass(inputEl, emptyClass); + + jqLite.on(inputEl, 'input', inputHandler); + jqLite.on(inputEl, 'change', inputHandler); + + // add dirty class on focus + jqLite.on(inputEl, 'focus', function(){jqLite.addClass(this, dirtyClass);}); +} + + +/** + * Handle input events. + */ +function inputHandler() { + var inputEl = this; + + if (inputEl.value.length) { + jqLite.removeClass(inputEl, emptyClass); + jqLite.addClass(inputEl, notEmptyClass); + } else { + jqLite.removeClass(inputEl, notEmptyClass); + jqLite.addClass(inputEl, emptyClass) + } + + jqLite.addClass(inputEl, dirtyClass); +} + + +/** Define module API */ +module.exports = { + /** Initialize input elements */ + initialize: initialize, + + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') initialize(el); + }); + + // add transition css for floating labels + setTimeout(function() { + var css = '.mui-textfield.mui-textfield--float-label > label {' + [ + '-webkit-transition', + '-moz-transition', + '-o-transition', + 'transition', + '' + ].join(':all .15s ease-out;') + '}'; + + util.loadStyle(css); + }, 150); + + // pointer-events shim for floating labels + if (util.supportsPointerEvents() === false) { + jqLite.on(document, 'click', function(ev) { + var targetEl = ev.target; + + if (targetEl.tagName === 'LABEL' && + jqLite.hasClass(targetEl.parentNode, floatingLabelClass)) { + var inputEl = targetEl.previousElementSibling; + if (inputEl) inputEl.focus(); + } + }); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.min.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.min.js new file mode 100644 index 0000000..833d99c --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/js/mui.min.js @@ -0,0 +1 @@ +!function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var a="function"==typeof require&&require;if(!s&&a)return a(l,!0);if(r)return r(l,!0);throw new Error("Cannot find module '"+l+"'")}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){var n=t[l][1][e];return o(n?n:e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var r="function"==typeof require&&require,l=0;ld&&(h=s+(n+1)*l-(-1*i+o+r),m=t*l+2*s-p,v=Math.min(h,m)),{height:p+"px",top:i+"px",scrollTop:v}}var o=15,r=32,l=42,s=8;t.exports={getMenuPositionalCSS:i}},{}],4:[function(e,t,n){"use strict";function i(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r-1:!1}function l(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function s(e,t,n,i){i=void 0===i?!1:i,e.addEventListener(t,n,i);var o=e._muiEventCache=e._muiEventCache||{};o[t]=o[t]||[],o[t].push([n,i])}function a(e,t,n,i){i=void 0===i?!1:i;var o,r,l=e._muiEventCache=e._muiEventCache||{},s=l[t]||[];for(r=s.length;r--;)o=s[r],(void 0===n||o[0]===n&&o[1]===i)&&(s.splice(r,1),e.removeEventListener(t,o[0],o[1]))}function c(e,t,n,i){s(e,t,function o(i){n&&n.apply(this,arguments),a(e,t,o)},i)}function u(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageXOffset||i.scrollLeft)-(i.clientLeft||0)}return e.scrollLeft}e===n?n.scrollTo(t,d(n)):e.scrollLeft=t}function d(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageYOffset||i.scrollTop)-(i.clientTop||0)}return e.scrollTop}e===n?n.scrollTo(u(n),t):e.scrollTop=t}function f(e){var t=window,n=e.getBoundingClientRect(),i=d(t),o=u(t);return{top:n.top+i,left:n.left+o,height:n.height,width:n.width}}function p(e){var t=!1,n=!0,i=document,o=i.defaultView,r=i.documentElement,l=i.addEventListener?"addEventListener":"attachEvent",s=i.addEventListener?"removeEventListener":"detachEvent",a=i.addEventListener?"":"on",c=function(n){"readystatechange"==n.type&&"complete"!=i.readyState||(("load"==n.type?o:i)[s](a+n.type,c,!1),!t&&(t=!0)&&e.call(o,n.type||n))},u=function(){try{r.doScroll("left")}catch(e){return void setTimeout(u,50)}c("poll")};if("complete"==i.readyState)e.call(o,"lazy");else{if(i.createEventObject&&r.doScroll){try{n=!o.frameElement}catch(d){}n&&u()}i[l](a+"DOMContentLoaded",c,!1),i[l](a+"readystatechange",c,!1),o[l](a+"load",c,!1)}}function h(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r=0;)i=i.replace(" "+n+" "," ");e.setAttribute("class",i.trim())}}function m(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function v(e){return e.replace(g,function(e,t,n,i){return i?n.toUpperCase():n}).replace(E,"Moz$1")}function b(e,t,n){var i;return i=n.getPropertyValue(t),""!==i||e.ownerDocument||(i=e.style[v(t)]),i}var y,g=/([\:\-\_]+(.))/g,E=/^moz([A-Z])/;y={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:i,css:o,hasClass:r,off:a,offset:f,on:s,one:c,ready:p,removeClass:h,type:l,scrollLeft:u,scrollTop:d}},{}],5:[function(e,t,n){"use strict";function i(){var e=window;if(v.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var n=Array.prototype.slice.call(arguments);e.console.log(n.join("\n"))}}function o(e){var t,n=document;t=n.head||n.getElementsByTagName("head")[0]||n.documentElement;var i=n.createElement("style");return i.type="text/css",i.styleSheet?i.styleSheet.cssText=e:i.appendChild(n.createTextNode(e)),t.insertBefore(i,t.firstChild),i}function r(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function l(e){if(y.push(e),void 0===y._initialized){var t=document;b.on(t,"animationstart",s),b.on(t,"mozAnimationStart",s),b.on(t,"webkitAnimationStart",s),y._initialized=!0}}function s(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,n=y.length-1;n>=0;n--)y[n](t)}function a(e){var t="";for(var n in e)t+=e[n]?n+" ":"";return t.trim()}function c(){if(void 0!==m)return m;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",m="auto"===e.style.pointerEvents}function u(e,t){return function(){e[t].apply(e,arguments)}}function d(e,t,n,i,o){var r,l=document.createEvent("HTMLEvents"),n=void 0!==n?n:!0,i=void 0!==i?i:!0;if(l.initEvent(t,n,i),o)for(r in o)l[r]=o[r];return e&&e.dispatchEvent(l),l}function f(){if(g+=1,1===g){var e=window,t=document;h={left:b.scrollLeft(e),top:b.scrollTop(e)},b.addClass(t.body,E),e.scrollTo(h.left,h.top)}}function p(){if(0!==g&&(g-=1,0===g)){var e=window,t=document;b.removeClass(t.body,E),e.scrollTo(h.left,h.top)}}var h,m,v=e("../config"),b=e("./jqLite"),y=[],g=0,E="mui-body--scroll-lock";t.exports={callback:u,classNames:a,disableScrollLock:p,dispatchEvent:d,enableScrollLock:f,log:i,loadStyle:o,onNodeInserted:l,raiseError:r,supportsPointerEvents:c}},{"../config":2,"./jqLite":4}],6:[function(e,t,n){"use strict";function i(e){e._muiDropdown!==!0&&(e._muiDropdown=!0,e.hasAttribute("type")||(e.type="button"),l.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){function t(){l.removeClass(o,u),l.off(r,"click",t)}function n(){var n=i.getBoundingClientRect(),s=e.getBoundingClientRect(),a=s.top-n.top+s.height;l.css(o,"top",a+"px"),l.addClass(o,u),setTimeout(function(){l.on(r,"click",t)},0)}var i=e.parentNode,o=e.nextElementSibling,r=i.ownerDocument;return o&&l.hasClass(o,d)?void(l.hasClass(o,u)?t():n()):s.raiseError("Dropdown menu element not found")}var l=e("./lib/jqLite"),s=e("./lib/util"),a="data-mui-toggle",c='[data-mui-toggle="dropdown"]',u="mui--is-open",d="mui-dropdown__menu";t.exports={initListeners:function(){for(var e=document,t=e.querySelectorAll(c),n=t.length-1;n>=0;n--)i(t[n]);s.onNodeInserted(function(e){"dropdown"===e.getAttribute(a)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],7:[function(e,t,n){t.exports=e(4)},{}],8:[function(e,t,n){"use strict";function i(e){var t;if("on"===e){for(var n,i,l,s=arguments.length-1;s>0;s--)n=arguments[s],"object"===p.type(n)&&(i=n),n instanceof Element&&1===n.nodeType&&(l=n);i=i||{},void 0===i.keyboard&&(i.keyboard=!0),void 0===i["static"]&&(i["static"]=!1),t=o(i,l)}else"off"===e?t=r():f.raiseError("Expecting 'on' or 'off'");return t}function o(e,t){var n=document.body,i=document.getElementById(h);if(f.enableScrollLock(),i){for(;i.firstChild;)i.removeChild(i.firstChild);t&&i.appendChild(t)}else i=document.createElement("div"),i.setAttribute("id",h),t&&i.appendChild(t),n.appendChild(i);return m.test(navigator.userAgent)&&p.css(i,"cursor","pointer"),e.keyboard?l():s(),e["static"]?u(i):c(i),i.muiOptions=e,i}function r(){var e,t=document.getElementById(h);if(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.parentNode.removeChild(t),e=t.muiOptions.onclose,u(t)}return f.disableScrollLock(),s(),e&&e(),t}function l(){p.on(document,"keyup",a)}function s(){p.off(document,"keyup",a)}function a(e){27===e.keyCode&&r()}function c(e){p.on(e,"click",d)}function u(e){p.off(e,"click",d)}function d(e){e.target.id===h&&r()}var f=e("./lib/util"),p=e("./lib/jqLite"),h="mui-overlay",m=/(iPad|iPhone|iPod)/g;t.exports=i},{"./lib/jqLite":4,"./lib/util":5}],9:[function(e,t,n){"use strict";function i(e){e._muiRipple!==!0&&(e._muiRipple=!0,"INPUT"!==e.tagName&&(r.on(e,"touchstart",o),r.on(e,"mousedown",o)))}function o(e){if(0===e.button){var t=this;if(t.disabled!==!0&&t.touchFlag!==!0){t.touchFlag=!0,setTimeout(function(){t.touchFlag=!1},100);var n=document.createElement("div");n.className=c;var i,o,l=r.offset(t),s=e.pageX-l.left,u=e.pageY-l.top;i=r.hasClass(t,a)?l.height/2:l.height,o=i/2,r.css(n,{height:i+"px",width:i+"px",top:u-o+"px",left:s-o+"px"}),t.appendChild(n),window.setTimeout(function(){var e=n.parentNode;e&&e.removeChild(n)},2e3)}}}var r=e("./lib/jqLite"),l=e("./lib/util"),s="mui-btn",a="mui-btn--fab",c="mui-ripple-effect";t.exports={initListeners:function(){for(var e=document,t=e.getElementsByClassName(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){r.hasClass(e,s)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],10:[function(e,t,n){"use strict";function i(e){e._muiSelect!==!0&&(e._muiSelect=!0,"ontouchstart"in p.documentElement||new o(e))}function o(e){this.selectEl=e,this.wrapperEl=e.parentNode,this.useDefault=!1,l.on(e,"mousedown",s.callback(this,"mousedownHandler")),l.on(e,"focus",s.callback(this,"focusHandler")),l.on(e,"click",s.callback(this,"clickHandler")),this.wrapperEl.tabIndex=-1;var t=s.callback(this,"wrapperFocusHandler");l.on(this.wrapperEl,"focus",t)}function r(e,t){s.enableScrollLock(),this.origIndex=null,this.currentIndex=null,this.selectEl=t,this.menuEl=this._createMenuEl(e,t),this.clickCallbackFn=s.callback(this,"clickHandler"),this.keydownCallbackFn=s.callback(this,"keydownHandler"),this.destroyCallbackFn=s.callback(this,"destroy"),e.appendChild(this.menuEl),l.scrollTop(this.menuEl,this.menuEl._muiScrollTop),setTimeout(function(){"body"!==p.activeElement.nodeName.toLowerCase()&&p.activeElement.blur()},0),l.on(this.menuEl,"click",this.clickCallbackFn),l.on(p,"keydown",this.keydownCallbackFn),l.on(h,"resize",this.destroyCallbackFn);var n=this.destroyCallbackFn;setTimeout(function(){l.on(p,"click",n)},0)}var l=e("./lib/jqLite"),s=e("./lib/util"),a=e("./lib/forms"),c="mui-select",u=".mui-select > select",d="mui-select__menu",f="mui--is-selected",p=document,h=window;o.prototype.mousedownHandler=function(e){0===e.button&&this.useDefault!==!0&&e.preventDefault()},o.prototype.focusHandler=function(e){if(this.useDefault!==!0){var t=this.selectEl,n=this.wrapperEl,i=t.tabIndex,o=s.callback(this,"keydownHandler");l.on(p,"keydown",o),t.tabIndex=-1,l.one(n,"blur",function(){t.tabIndex=i,l.off(p,"keydown",o)}),n.focus()}},o.prototype.keydownHandler=function(e){var t=e.keyCode;32!==t&&38!==t&&40!==t||(e.preventDefault(),this.selectEl.disabled!==!0&&this.renderMenu())},o.prototype.wrapperFocusHandler=function(){return this.selectEl.disabled?this.wrapperEl.blur():void 0},o.prototype.clickHandler=function(e){0===e.button&&this.renderMenu()},o.prototype.renderMenu=function(){return this.useDefault===!0?this.useDefault=!1:void new r(this.wrapperEl,this.selectEl)},r.prototype._createMenuEl=function(e,t){var n,i,o,r=p.createElement("div"),s=t.children,c=s.length,u=0;for(r.className=d,o=0;c>o;o++)n=s[o],i=p.createElement("div"),i.textContent=n.textContent,i._muiPos=o,n.selected&&(i.setAttribute("class",f),u=o),r.appendChild(i);this.origIndex=u,this.currentIndex=u;var h=a.getMenuPositionalCSS(e,c,u);return l.css(r,h),r._muiScrollTop=h.scrollTop,r},r.prototype.keydownHandler=function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&(this.selectCurrent(),this.destroy())))},r.prototype.clickHandler=function(e){e.stopPropagation();var t=e.target._muiPos;void 0!==t&&(this.currentIndex=t,this.selectCurrent(),this.destroy())},r.prototype.increment=function(){if(this.currentIndex!==this.menuEl.children.length-1){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex+=1,l.addClass(e[this.currentIndex],f)}},r.prototype.decrement=function(){if(0!==this.currentIndex){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex-=1,l.addClass(e[this.currentIndex],f)}},r.prototype.selectCurrent=function(){if(this.currentIndex!==this.origIndex){var e=this.selectEl.children;e[this.origIndex].selected=!1,e[this.currentIndex].selected=!0,s.dispatchEvent(this.selectEl,"change")}},r.prototype.destroy=function(){var e=this.menuEl.parentNode;e&&e.removeChild(this.menuEl),this.selectEl.focus(),s.disableScrollLock(),l.off(this.menuEl,"click",this.clickCallbackFn),l.off(p,"keydown",this.keydownCallbackFn),l.off(p,"click",this.destroyCallbackFn),l.off(h,"resize",this.destroyCallbackFn)},t.exports={initListeners:function(){for(var e=p.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);s.onNodeInserted(function(e){"SELECT"===e.tagName&&l.hasClass(e.parentNode,c)&&i(e)})}}},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(e,t,n){"use strict";function i(e){e._muiTabs!==!0&&(e._muiTabs=!0,s.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){var t,n,i,o,r,c,u,b,y,g=e.parentNode,E=e.getAttribute(d),C=document.getElementById(E);s.hasClass(g,f)||(C||a.raiseError('Tab pane "'+E+'" not found'),n=l(C),i=n.id,y="["+d+'="'+i+'"]',o=document.querySelectorAll(y)[0],t=o.parentNode,r={paneId:E,relatedPaneId:i},c={paneId:i,relatedPaneId:E},u=a.dispatchEvent(o,m,!0,!0,c),b=a.dispatchEvent(e,p,!0,!0,r),setTimeout(function(){u.defaultPrevented||b.defaultPrevented||(t&&s.removeClass(t,f),n&&s.removeClass(n,f),s.addClass(g,f),s.addClass(C,f),a.dispatchEvent(o,v,!0,!1,c),a.dispatchEvent(e,h,!0,!1,r))},0))}function l(e){for(var t,n=e.parentNode.children,i=n.length,o=null;i--&&!o;)t=n[i],t!==e&&s.hasClass(t,f)&&(o=t);return o}var s=e("./lib/jqLite"),a=e("./lib/util"),c="data-mui-toggle",u="["+c+'="tab"]',d="data-mui-controls",f="mui--is-active",p="mui.tabs.showstart",h="mui.tabs.showend",m="mui.tabs.hidestart",v="mui.tabs.hideend";t.exports={initListeners:function(){for(var e=document.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);a.onNodeInserted(function(e){"tab"===e.getAttribute(c)&&i(e)})},api:{activate:function(e){var t="["+d+"="+e+"]",n=document.querySelectorAll(t);n.length||a.raiseError('Tab control for pane "'+e+'" not found'),r(n[0])}}}},{"./lib/jqLite":4,"./lib/util":5}],12:[function(e,t,n){"use strict";function i(e){e._muiTextfield!==!0&&(e._muiTextfield=!0,e.value.length?r.addClass(e,c):r.addClass(e,a),r.on(e,"input",o),r.on(e,"change",o),r.on(e,"focus",function(){r.addClass(this,u)}))}function o(){var e=this;e.value.length?(r.removeClass(e,a),r.addClass(e,c)):(r.removeClass(e,c),r.addClass(e,a)),r.addClass(e,u)}var r=e("./lib/jqLite"),l=e("./lib/util"),s=".mui-textfield > input, .mui-textfield > textarea",a="mui--is-empty",c="mui--is-not-empty",u="mui--is-dirty",d="mui-textfield--float-label";t.exports={initialize:i,initListeners:function(){for(var e=document,t=e.querySelectorAll(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName||i(e)}),setTimeout(function(){var e=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";l.loadStyle(e)},150),l.supportsPointerEvents()===!1&&r.on(document,"click",function(e){var t=e.target;if("LABEL"===t.tagName&&r.hasClass(t.parentNode,d)){var n=t.previousElementSibling;n&&n.focus()}})}}},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.js new file mode 100644 index 0000000..aefaa3b --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.js @@ -0,0 +1,3208 @@ +(function (global) { + var babelHelpers = global.babelHelpers = {}; + + babelHelpers.classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + babelHelpers.createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + babelHelpers.extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + babelHelpers.inherits = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; + }; + + babelHelpers.interopRequireDefault = function (obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + }; + + babelHelpers.interopRequireWildcard = function (obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + } + + newObj.default = obj; + return newObj; + } + }; + + babelHelpers.objectWithoutProperties = function (obj, keys) { + var target = {}; + + for (var i in obj) { + if (keys.indexOf(i) >= 0) continue; + if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; + target[i] = obj[i]; + } + + return target; + }; + + babelHelpers.possibleConstructorReturn = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && (typeof call === "object" || typeof call === "function") ? call : self; + }; +})(typeof global === "undefined" ? self : global);(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o viewHeight) { + scrollIdeal = menuPadding + (currentIndex + 1) * optionHeight - (-1 * top + wrapperPadding + inputHeight); + scrollMax = numOptions * optionHeight + 2 * menuPadding - height; + scrollTop = Math.min(scrollIdeal, scrollMax); + } + + return { + 'height': height + 'px', + 'top': top + 'px', + 'scrollTop': scrollTop + }; +} + +/** Define module API */ +module.exports = { + getMenuPositionalCSS: getMenuPositionalCSSFn +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS jqLite module + * @module lib/jqLite + */ + +'use strict'; + +/** + * Add a class to an element. + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ + +function jqLiteAddClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i = 0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { + existingClasses += cssClass + ' '; + } + } + + element.setAttribute('class', existingClasses.trim()); +} + +/** + * Get or set CSS properties. + * @param {Element} element - The DOM element. + * @param {string} [name] - The property name. + * @param {string} [value] - The property value. + */ +function jqLiteCss(element, name, value) { + // Return full style object + if (name === undefined) { + return getComputedStyle(element); + } + + var nameType = jqLiteType(name); + + // Set multiple values + if (nameType === 'object') { + for (var key in name) { + element.style[_camelCase(key)] = name[key]; + }return; + } + + // Set a single value + if (nameType === 'string' && value !== undefined) { + element.style[_camelCase(name)] = value; + } + + var styleObj = getComputedStyle(element), + isArray = jqLiteType(name) === 'array'; + + // Read single value + if (!isArray) return _getCurrCssProp(element, name, styleObj); + + // Read multiple values + var outObj = {}, + key; + + for (var i = 0; i < name.length; i++) { + key = name[i]; + outObj[key] = _getCurrCssProp(element, key, styleObj); + } + + return outObj; +} + +/** + * Check if element has class. + * @param {Element} element - The DOM element. + * @param {string} cls - The class name string. + */ +function jqLiteHasClass(element, cls) { + if (!cls || !element.getAttribute) return false; + return _getExistingClasses(element).indexOf(' ' + cls + ' ') > -1; +} + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = useCapture === undefined ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = useCapture === undefined ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || args[0] === callback && args[1] === useCapture) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win));else element.scrollLeft = value; +} + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value);else element.scrollTop = value; +} + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function init(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function poll() { + try { + root.doScroll('left'); + } catch (e) { + setTimeout(poll, 50);return; + } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { + top = !win.frameElement; + } catch (e) {} + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i = 0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +}; + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + +function _camelCase(name) { + return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }).replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],5:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || doc.getElementsByTagName('head')[0] || doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText;else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i = nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += classes[i] ? i + ' ' : ''; + } + return cs.trim(); +} + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = element.style.pointerEvents === 'auto'; + return _supportsPointerEvents; +} + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function () { + instance[funcName].apply(instance, arguments); + }; +} + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = bubbles !== undefined ? bubbles : true, + cancelable = cancelable !== undefined ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) { + ev[k] = data[k]; + } // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1; + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = { left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win) }; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1; + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":4}],6:[function(require,module,exports){ +/** + * MUI React helpers + * @module react/_helpers + */ + +'use strict'; + +var controlledMessage = 'You provided a `value` prop to a form field ' + 'without an `OnChange` handler. Please see React documentation on ' + 'controlled components'; + +module.exports = { controlledMessage: controlledMessage }; + +},{}],7:[function(require,module,exports){ +/** + * MUI React button module + * @module react/button + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var rippleIter = 0; + +var PropTypes = _react2.default.PropTypes, + btnClass = 'mui-btn', + rippleClass = 'mui-ripple-effect', + btnAttrs = { color: 1, variant: 1, size: 1 }; + +/** + * Button element + * @class + */ + +var Button = function (_React$Component) { + babelHelpers.inherits(Button, _React$Component); + + function Button() { + var _Object$getPrototypeO; + + var _temp, _this, _ret; + + babelHelpers.classCallCheck(this, Button); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _ret = (_temp = (_this = babelHelpers.possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(Button)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this), _this.state = { + ripples: {} + }, _temp), babelHelpers.possibleConstructorReturn(_this, _ret); + } + + babelHelpers.createClass(Button, [{ + key: 'componentDidMount', + value: function componentDidMount() { + // disable MUI js + var el = this.refs.buttonEl; + el._muiDropdown = true; + el._muiRipple = true; + } + }, { + key: 'onClick', + value: function onClick(ev) { + var onClickFn = this.props.onClick; + onClickFn && onClickFn(ev); + } + }, { + key: 'onMouseDown', + value: function onMouseDown(ev) { + // get (x, y) position of click + var offset = jqLite.offset(this.refs.buttonEl); + + // choose diameter + var diameter = offset.height; + if (this.props.variant === 'fab') diameter = diameter / 2; + + // add ripple to state + var ripples = this.state.ripples; + var key = Date.now(); + + ripples[key] = { + xPos: ev.pageX - offset.left, + yPos: ev.pageY - offset.top, + diameter: diameter, + teardownFn: this.teardownRipple.bind(this, key) + }; + + this.setState({ ripples: ripples }); + } + }, { + key: 'onTouchStart', + value: function onTouchStart(ev) {} + }, { + key: 'teardownRipple', + value: function teardownRipple(key) { + // delete ripple + var ripples = this.state.ripples; + delete ripples[key]; + this.setState({ ripples: ripples }); + } + }, { + key: 'render', + value: function render() { + var cls = btnClass, + k = void 0, + v = void 0; + + var ripples = this.state.ripples; + + // button attributes + for (k in btnAttrs) { + v = this.props[k]; + if (v !== 'default') cls += ' ' + btnClass + '--' + v; + } + + return _react2.default.createElement( + 'button', + babelHelpers.extends({}, this.props, { + ref: 'buttonEl', + className: cls + ' ' + this.props.className, + onClick: this.onClick.bind(this), + onMouseDown: this.onMouseDown.bind(this) + }), + this.props.children, + Object.keys(ripples).map(function (k, i) { + var v = ripples[k]; + + return _react2.default.createElement(Ripple, { + key: k, + xPos: v.xPos, + yPos: v.yPos, + diameter: v.diameter, + onTeardown: v.teardownFn + }); + }) + ); + } + }]); + return Button; +}(_react2.default.Component); + +/** + * Ripple component + * @class + */ + + +Button.propTypes = { + color: PropTypes.oneOf(['default', 'primary', 'danger', 'dark', 'accent']), + disabled: PropTypes.bool, + size: PropTypes.oneOf(['default', 'small', 'large']), + type: PropTypes.oneOf(['submit', 'button']), + variant: PropTypes.oneOf(['default', 'flat', 'raised', 'fab']), + onClick: PropTypes.func +}; +Button.defaultProps = { + className: '', + color: 'default', + disabled: false, + size: 'default', + type: null, + variant: 'default', + onClick: null +}; + +var Ripple = function (_React$Component2) { + babelHelpers.inherits(Ripple, _React$Component2); + + function Ripple() { + babelHelpers.classCallCheck(this, Ripple); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Ripple).apply(this, arguments)); + } + + babelHelpers.createClass(Ripple, [{ + key: 'componentDidMount', + value: function componentDidMount() { + var _this3 = this; + + // trigger teardown in 2 sec + this.teardownTimer = setTimeout(function () { + var fn = _this3.props.onTeardown; + fn && fn(); + }, 2000); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + // clear timeout + clearTimeout(this.teardownTimer); + } + }, { + key: 'render', + value: function render() { + var diameter = this.props.diameter, + radius = diameter / 2; + + var style = { + height: diameter, + width: diameter, + top: this.props.yPos - radius || 0, + left: this.props.xPos - radius || 0 + }; + + return _react2.default.createElement('div', { className: rippleClass, style: style }); + } + }]); + return Ripple; +}(_react2.default.Component); + +/** Define module API */ + + +Ripple.propTypes = { + xPos: PropTypes.number, + yPos: PropTypes.number, + diameter: PropTypes.number, + onTeardown: PropTypes.func +}; +Ripple.defaultProps = { + xPos: 0, + yPos: 0, + diameter: 0, + onTeardown: null +}; +exports.default = Button; +module.exports = exports['default']; + +},{"../js/lib/jqLite":4,"../js/lib/util":5,"react":"CwoHg3"}],8:[function(require,module,exports){ +/** + * MUI React Caret Module + * @module react/caret + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Caret constructor + * @class + */ + +var Caret = function (_React$Component) { + babelHelpers.inherits(Caret, _React$Component); + + function Caret() { + babelHelpers.classCallCheck(this, Caret); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Caret).apply(this, arguments)); + } + + babelHelpers.createClass(Caret, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + return _react2.default.createElement('span', babelHelpers.extends({}, other, { + className: 'mui-caret ' + this.props.className + })); + } + }]); + return Caret; +}(_react2.default.Component); + +/** Define module API */ + + +Caret.defaultProps = { + className: '' +}; +exports.default = Caret; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],9:[function(require,module,exports){ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var PropTypes = _react2.default.PropTypes; + +/** + * Tab constructor + * @class + */ + +var Tab = function (_React$Component) { + babelHelpers.inherits(Tab, _React$Component); + + function Tab() { + babelHelpers.classCallCheck(this, Tab); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Tab).apply(this, arguments)); + } + + babelHelpers.createClass(Tab, [{ + key: 'render', + value: function render() { + return null; + } + }]); + return Tab; +}(_react2.default.Component); + +/** Define module API */ + + +Tab.propTypes = { + value: PropTypes.any, + label: PropTypes.string, + onActive: PropTypes.func +}; +Tab.defaultProps = { + value: null, + label: '', + onActive: null +}; +exports.default = Tab; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],10:[function(require,module,exports){ +/** + * MUI React TextInput Component + * @module react/text-input + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TextField = undefined; + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _helpers = require('./_helpers'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Input constructor + * @class + */ + +var Input = function (_React$Component) { + babelHelpers.inherits(Input, _React$Component); + + function Input(props) { + babelHelpers.classCallCheck(this, Input); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Input).call(this, props)); + + var value = props.value; + var innerValue = value || props.defaultValue; + + _this.state = { + innerValue: innerValue, + isDirty: Boolean(innerValue) + }; + + // warn if value defined but onChange is not + if (value !== undefined && props.onChange === null) { + util.raiseError(_helpers.controlledMessage, true); + } + + var cb = util.callback; + _this.onChangeCB = cb(_this, 'onChange'); + _this.onFocusCB = cb(_this, 'onFocus'); + return _this; + } + + babelHelpers.createClass(Input, [{ + key: 'componentDidMount', + value: function componentDidMount() { + // disable MUI js + this.refs.inputEl._muiTextfield = true; + } + }, { + key: 'onChange', + value: function onChange(ev) { + this.setState({ innerValue: ev.target.value }); + + var fn = this.props.onChange; + if (fn) fn(ev); + } + }, { + key: 'onFocus', + value: function onFocus(ev) { + this.setState({ isDirty: true }); + } + }, { + key: 'triggerFocus', + value: function triggerFocus() { + // hack to enable IE10 pointer-events shim + this.refs.inputEl.focus(); + } + }, { + key: 'render', + value: function render() { + var cls = {}, + isNotEmpty = Boolean(this.state.innerValue), + inputEl = void 0; + + cls['mui--is-empty'] = !isNotEmpty; + cls['mui--is-not-empty'] = isNotEmpty; + cls['mui--is-dirty'] = this.state.isDirty; + cls['mui--is-invalid'] = this.props.invalid; + + cls = util.classNames(cls); + + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + if (this.props.type === 'textarea') { + inputEl = _react2.default.createElement('textarea', babelHelpers.extends({}, other, { + ref: 'inputEl', + className: cls, + rows: this.props.rows, + placeholder: this.props.hint, + value: this.props.value, + defaultValue: this.props.defaultValue, + autoFocus: this.props.autoFocus, + onChange: this.onChangeCB, + onFocus: this.onFocusCB, + required: this.props.required + })); + } else { + inputEl = _react2.default.createElement('input', babelHelpers.extends({}, other, { + ref: 'inputEl', + className: cls, + type: this.props.type, + value: this.props.value, + defaultValue: this.props.defaultValue, + placeholder: this.props.hint, + autoFocus: this.props.autofocus, + onChange: this.onChangeCB, + onFocus: this.onFocusCB, + required: this.props.required + })); + } + + return inputEl; + } + }]); + return Input; +}(_react2.default.Component); + +/** + * Label constructor + * @class + */ + + +Input.propTypes = { + hint: PropTypes.string, + value: PropTypes.string, + type: PropTypes.string, + autoFocus: PropTypes.bool, + onChange: PropTypes.func +}; +Input.defaultProps = { + hint: null, + type: null, + autoFocus: false, + onChange: null +}; + +var Label = function (_React$Component2) { + babelHelpers.inherits(Label, _React$Component2); + + function Label() { + var _Object$getPrototypeO; + + var _temp, _this2, _ret; + + babelHelpers.classCallCheck(this, Label); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _ret = (_temp = (_this2 = babelHelpers.possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(Label)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this2), _this2.state = { + style: {} + }, _temp), babelHelpers.possibleConstructorReturn(_this2, _ret); + } + + babelHelpers.createClass(Label, [{ + key: 'componentDidMount', + value: function componentDidMount() { + var _this3 = this; + + this.styleTimer = setTimeout(function () { + var s = '.15s ease-out'; + var style = void 0; + + style = { + transition: s, + WebkitTransition: s, + MozTransition: s, + OTransition: s, + msTransform: s + }; + + _this3.setState({ style: style }); + }, 150); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + // clear timer + clearTimeout(this.styleTimer); + } + }, { + key: 'render', + value: function render() { + return _react2.default.createElement( + 'label', + { + style: this.state.style, + onClick: this.props.onClick + }, + this.props.text + ); + } + }]); + return Label; +}(_react2.default.Component); + +/** + * TextField constructor + * @class + */ + + +Label.defaultProps = { + text: '', + onClick: null +}; + +var TextField = function (_React$Component3) { + babelHelpers.inherits(TextField, _React$Component3); + + function TextField(props) { + babelHelpers.classCallCheck(this, TextField); + + var _this4 = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(TextField).call(this, props)); + + _this4.onClickCB = util.callback(_this4, 'onClick'); + return _this4; + } + + babelHelpers.createClass(TextField, [{ + key: 'onClick', + value: function onClick(ev) { + // pointer-events shim + if (util.supportsPointerEvents() === false) { + ev.target.style.cursor = 'text'; + this.refs.inputEl.triggerFocus(); + } + } + }, { + key: 'render', + value: function render() { + var cls = {}, + labelEl = void 0; + + if (this.props.label.length) { + labelEl = _react2.default.createElement(Label, { + text: this.props.label, + onClick: this.onClickCB + }); + } + + cls['mui-textfield'] = true; + cls['mui-textfield--float-label'] = this.props.floatingLabel; + cls = util.classNames(cls); + + return _react2.default.createElement( + 'div', + { className: cls }, + _react2.default.createElement(Input, babelHelpers.extends({ ref: 'inputEl' }, this.props)), + labelEl + ); + } + }]); + return TextField; +}(_react2.default.Component); + +/** Define module API */ + + +TextField.propTypes = { + label: PropTypes.string, + floatingLabel: PropTypes.bool +}; +TextField.defaultProps = { + label: '', + floatingLabel: false +}; +exports.TextField = TextField; + +},{"../js/lib/util":5,"./_helpers":6,"react":"CwoHg3"}],11:[function(require,module,exports){ +/** + * MUI React Appbar Module + * @module react/appbar + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Appbar constructor + * @class + */ + +var Appbar = function (_React$Component) { + babelHelpers.inherits(Appbar, _React$Component); + + function Appbar() { + babelHelpers.classCallCheck(this, Appbar); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Appbar).apply(this, arguments)); + } + + babelHelpers.createClass(Appbar, [{ + key: 'render', + value: function render() { + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: 'mui-appbar ' + this.props.className + }), + this.props.children + ); + } + }]); + return Appbar; +}(_react2.default.Component); + +/** Define module API */ + + +Appbar.defaultProps = { + className: '' +}; +exports.default = Appbar; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],12:[function(require,module,exports){ +module.exports=require(7) +},{"../js/lib/jqLite":4,"../js/lib/util":5,"react":"CwoHg3"}],13:[function(require,module,exports){ +module.exports=require(8) +},{"react":"CwoHg3"}],14:[function(require,module,exports){ +/** + * MUI React checkbox module + * @module react/checkbox + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _helpers = require('./_helpers'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Checkbox constructor + * @class + */ + +var Checkbox = function (_React$Component) { + babelHelpers.inherits(Checkbox, _React$Component); + + function Checkbox() { + babelHelpers.classCallCheck(this, Checkbox); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Checkbox).apply(this, arguments)); + } + + babelHelpers.createClass(Checkbox, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var onChange = _props.onChange; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onChange']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + className: 'mui-checkbox ' + this.props.className + }), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { + ref: 'inputEl', + type: 'checkbox', + name: this.props.name, + value: this.props.value, + checked: this.props.checked, + defaultChecked: this.props.defaultChecked, + disabled: this.props.disabled, + onChange: this.props.onChange + }), + this.props.label + ) + ); + } + }]); + return Checkbox; +}(_react2.default.Component); + +/** Define module API */ + + +Checkbox.propTypes = { + name: PropTypes.string, + label: PropTypes.string, + value: PropTypes.string, + checked: PropTypes.bool, + defaultChecked: PropTypes.bool, + disabled: PropTypes.bool, + onChange: PropTypes.func +}; +Checkbox.defaultProps = { + className: '', + name: null, + label: null, + disabled: false, + onChange: null +}; +exports.default = Checkbox; +module.exports = exports['default']; + +},{"../js/lib/util":5,"./_helpers":6,"react":"CwoHg3"}],15:[function(require,module,exports){ +/** + * MUI React Col Component + * @module react/col + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var breakpoints = ['xs', 'sm', 'md', 'lg', 'xl']; + +/** + * Col constructor + * @class + */ + +var Col = function (_React$Component) { + babelHelpers.inherits(Col, _React$Component); + + function Col() { + babelHelpers.classCallCheck(this, Col); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Col).apply(this, arguments)); + } + + babelHelpers.createClass(Col, [{ + key: 'defaultProps', + value: function defaultProps() { + var props = { className: '' }, + i = void 0, + v = void 0; + + // add {breakpoint}, {breakpoint}-offset to props + for (i = breakpoints.length - 1; i > -1; i--) { + v = breakpoints[i]; + props[v] = null; + props[v + '-offset'] = null; + } + + return props; + } + }, { + key: 'render', + value: function render() { + var cls = {}, + i = void 0, + bk = void 0, + val = void 0, + baseCls = void 0; + + // add mui-col classes + for (i = breakpoints.length - 1; i > -1; i--) { + bk = breakpoints[i]; + baseCls = 'mui-col-' + bk; + + // add mui-col-{bk}-{val} + val = this.props[bk]; + if (val) cls[baseCls + '-' + val] = true; + + // add mui-col-{bk}-offset-{val} + val = this.props[bk + '-offset']; + if (val) cls[baseCls + '-offset-' + val] = true; + } + + cls = util.classNames(cls); + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: cls + ' ' + this.props.className + }), + this.props.children + ); + } + }]); + return Col; +}(_react2.default.Component); + +/** Define module API */ + + +exports.default = Col; +module.exports = exports['default']; + +},{"../js/lib/util":5,"react":"CwoHg3"}],16:[function(require,module,exports){ +/** + * MUI React container module + * @module react/container + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Container constructor + * @class + */ + +var Container = function (_React$Component) { + babelHelpers.inherits(Container, _React$Component); + + function Container() { + babelHelpers.classCallCheck(this, Container); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Container).apply(this, arguments)); + } + + babelHelpers.createClass(Container, [{ + key: 'render', + value: function render() { + var cls = 'mui-container'; + + // fluid containers + if (this.props.fluid) cls += '-fluid'; + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: cls + ' ' + this.props.className + }), + this.props.children + ); + } + }]); + return Container; +}(_react2.default.Component); + +/** Define module API */ + + +Container.propTypes = { + fluid: _react2.default.PropTypes.bool +}; +Container.defaultProps = { + className: '', + fluid: false +}; +exports.default = Container; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],17:[function(require,module,exports){ +/** + * MUI React divider module + * @module react/divider + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Divider constructor + * @class + */ + +var Divider = function (_React$Component) { + babelHelpers.inherits(Divider, _React$Component); + + function Divider() { + babelHelpers.classCallCheck(this, Divider); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Divider).apply(this, arguments)); + } + + babelHelpers.createClass(Divider, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + return _react2.default.createElement('div', babelHelpers.extends({}, other, { + className: 'mui-divider ' + this.props.className + })); + } + }]); + return Divider; +}(_react2.default.Component); + +/** Define module API */ + + +Divider.defaultProps = { + className: '' +}; +exports.default = Divider; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],18:[function(require,module,exports){ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes; + +/** + * DropdownItem constructor + * @class + */ + +var DropdownItem = function (_React$Component) { + babelHelpers.inherits(DropdownItem, _React$Component); + + function DropdownItem(props) { + babelHelpers.classCallCheck(this, DropdownItem); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(DropdownItem).call(this, props)); + + _this.onClickCB = util.callback(_this, 'onClick'); + return _this; + } + + babelHelpers.createClass(DropdownItem, [{ + key: 'onClick', + value: function onClick(ev) { + if (this.props.onClick) this.props.onClick(this, ev); + } + }, { + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var onClick = _props.onClick; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onClick']); + + + return _react2.default.createElement( + 'li', + other, + _react2.default.createElement( + 'a', + { + href: this.props.link, + target: this.props.target, + 'data-mui-value': this.props.value, + onClick: this.onClickCB + }, + children + ) + ); + } + }]); + return DropdownItem; +}(_react2.default.Component); + +/** Define module API */ + + +DropdownItem.propTypes = { + link: PropTypes.string, + target: PropTypes.string, + onClick: PropTypes.func +}; +exports.default = DropdownItem; +module.exports = exports['default']; + +},{"../js/lib/util":5,"react":"CwoHg3"}],19:[function(require,module,exports){ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _button = require('./button'); + +var _button2 = babelHelpers.interopRequireDefault(_button); + +var _caret = require('./caret'); + +var _caret2 = babelHelpers.interopRequireDefault(_caret); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes, + dropdownClass = 'mui-dropdown', + menuClass = 'mui-dropdown__menu', + openClass = 'mui--is-open', + rightClass = 'mui-dropdown__menu--right'; + +/** + * Dropdown constructor + * @class + */ + +var Dropdown = function (_React$Component) { + babelHelpers.inherits(Dropdown, _React$Component); + + function Dropdown(props) { + babelHelpers.classCallCheck(this, Dropdown); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Dropdown).call(this, props)); + + _this.state = { + opened: false, + menuTop: 0 + }; + + var cb = util.callback; + _this.selectCB = cb(_this, 'select'); + _this.onClickCB = cb(_this, 'onClick'); + _this.onOutsideClickCB = cb(_this, 'onOutsideClick'); + return _this; + } + + babelHelpers.createClass(Dropdown, [{ + key: 'componentWillMount', + value: function componentWillMount() { + document.addEventListener('click', this.onOutsideClickCB); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + document.removeEventListener('click', this.onOutsideClickCB); + } + }, { + key: 'onClick', + value: function onClick(ev) { + // only left clicks + if (ev.button !== 0) return; + + // exit if toggle button is disabled + if (this.props.disabled) return; + + if (!ev.defaultPrevented) { + this.toggle(); + + // execute onClick method + var onClickFn = this.props.onClick; + onClickFn && onClickFn(ev); + } + } + }, { + key: 'toggle', + value: function toggle() { + // exit if no menu element + if (!this.props.children) { + return util.raiseError('Dropdown menu element not found'); + } + + if (this.state.opened) this.close();else this.open(); + } + }, { + key: 'open', + value: function open() { + // position menu element below toggle button + var wrapperRect = this.refs.wrapperEl.getBoundingClientRect(), + toggleRect = void 0; + + toggleRect = this.refs.button.refs.buttonEl.getBoundingClientRect(); + + this.setState({ + opened: true, + menuTop: toggleRect.top - wrapperRect.top + toggleRect.height + }); + } + }, { + key: 'close', + value: function close() { + this.setState({ opened: false }); + } + }, { + key: 'select', + value: function select(ev) { + // onSelect callback + if (this.props.onSelect && ev.target.tagName === 'A') { + this.props.onSelect(ev.target.getAttribute('data-mui-value')); + } + + // close menu + if (!ev.defaultPrevented) this.close(); + } + }, { + key: 'onOutsideClick', + value: function onOutsideClick(ev) { + var isClickInside = this.refs.wrapperEl.contains(ev.target); + if (!isClickInside) this.close(); + } + }, { + key: 'render', + value: function render() { + var buttonEl = void 0, + menuEl = void 0, + labelEl = void 0; + + // build label + if (jqLite.type(this.props.label) === 'string') { + labelEl = _react2.default.createElement( + 'span', + null, + this.props.label, + ' ', + _react2.default.createElement(_caret2.default, null) + ); + } else { + labelEl = this.props.label; + } + + buttonEl = _react2.default.createElement( + _button2.default, + { + ref: 'button', + type: 'button', + onClick: this.onClickCB, + color: this.props.color, + variant: this.props.variant, + size: this.props.size, + disabled: this.props.disabled + }, + labelEl + ); + + if (this.state.opened) { + var cs = {}; + + cs[menuClass] = true; + cs[openClass] = this.state.opened; + cs[rightClass] = this.props.alignMenu === 'right'; + cs = util.classNames(cs); + + menuEl = _react2.default.createElement( + 'ul', + { + ref: 'menuEl', + className: cs, + style: { top: this.state.menuTop }, + onClick: this.selectCB + }, + this.props.children + ); + } + + var _props = this.props; + var className = _props.className; + var children = _props.children; + var onClick = _props.onClick; + var other = babelHelpers.objectWithoutProperties(_props, ['className', 'children', 'onClick']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + ref: 'wrapperEl', + className: dropdownClass + ' ' + className + }), + buttonEl, + menuEl + ); + } + }]); + return Dropdown; +}(_react2.default.Component); + +/** Define module API */ + + +Dropdown.propTypes = { + color: PropTypes.oneOf(['default', 'primary', 'danger', 'dark', 'accent']), + variant: PropTypes.oneOf(['default', 'flat', 'raised', 'fab']), + size: PropTypes.oneOf(['default', 'small', 'large']), + label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), + alignMenu: PropTypes.oneOf(['left', 'right']), + onClick: PropTypes.func, + onSelect: PropTypes.func, + disabled: PropTypes.bool +}; +Dropdown.defaultProps = { + className: '', + color: 'default', + variant: 'default', + size: 'default', + label: '', + alignMenu: 'left', + onClick: null, + onSelect: null, + disabled: false +}; +exports.default = Dropdown; +module.exports = exports['default']; + +},{"../js/lib/jqLite":4,"../js/lib/util":5,"./button":7,"./caret":8,"react":"CwoHg3"}],20:[function(require,module,exports){ +/** + * MUI React form module + * @module react/form + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Form constructor + * @class + */ + +var Form = function (_React$Component) { + babelHelpers.inherits(Form, _React$Component); + + function Form() { + babelHelpers.classCallCheck(this, Form); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Form).apply(this, arguments)); + } + + babelHelpers.createClass(Form, [{ + key: 'render', + value: function render() { + var cls = ''; + + // inline form + if (this.props.inline) cls = 'mui-form--inline'; + + return _react2.default.createElement( + 'form', + babelHelpers.extends({}, this.props, { + className: cls + ' ' + this.props.className + }), + this.props.children + ); + } + }]); + return Form; +}(_react2.default.Component); + +/** Define module API */ + + +Form.propTypes = { + inline: _react2.default.PropTypes.bool +}; +Form.defaultProps = { + className: '', + inline: false +}; +exports.default = Form; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],21:[function(require,module,exports){ +/** + * MUI React Input Component + * @module react/input + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _textField = require('./text-field'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Input constructor + * @class + */ + +var Input = function (_React$Component) { + babelHelpers.inherits(Input, _React$Component); + + function Input() { + babelHelpers.classCallCheck(this, Input); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Input).apply(this, arguments)); + } + + babelHelpers.createClass(Input, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_textField.TextField, this.props); + } + }]); + return Input; +}(_react2.default.Component); + +Input.propTypes = { + type: PropTypes.oneOf(['text', 'email', 'url', 'tel', 'password']) +}; +Input.defaultProps = { + type: 'text' +}; +exports.default = Input; +module.exports = exports['default']; + +},{"./text-field":10,"react":"CwoHg3"}],22:[function(require,module,exports){ +/** + * MUI React options module + * @module react/option + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _forms = require('../js/lib/forms'); + +var formlib = babelHelpers.interopRequireWildcard(_forms); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes; + +/** + * Option constructor + * @class + */ + +var Option = function (_React$Component) { + babelHelpers.inherits(Option, _React$Component); + + function Option() { + babelHelpers.classCallCheck(this, Option); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Option).apply(this, arguments)); + } + + babelHelpers.createClass(Option, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + return _react2.default.createElement( + 'option', + babelHelpers.extends({}, other, { value: this.props.value }), + this.props.label + ); + } + }]); + return Option; +}(_react2.default.Component); + +/** Define module API */ + + +Option.propTypes = { + value: PropTypes.string, + label: PropTypes.string +}; +Option.defaultProps = { + value: null, + label: null +}; +exports.default = Option; +module.exports = exports['default']; + +},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,"react":"CwoHg3"}],23:[function(require,module,exports){ +/** + * MUI React layout module + * @module react/layout + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +/** + * Panel constructor + * @class + */ + +var Panel = function (_React$Component) { + babelHelpers.inherits(Panel, _React$Component); + + function Panel() { + babelHelpers.classCallCheck(this, Panel); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Panel).apply(this, arguments)); + } + + babelHelpers.createClass(Panel, [{ + key: 'render', + value: function render() { + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: 'mui-panel ' + this.props.className + }), + this.props.children + ); + } + }]); + return Panel; +}(_react2.default.Component); + +/** Define module API */ + + +Panel.defaultProps = { + className: '' +}; +exports.default = Panel; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],24:[function(require,module,exports){ +/** + * MUI React radio module + * @module react/radio + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var PropTypes = _react2.default.PropTypes; + +/** + * Radio constructor + * @class + */ + +var Radio = function (_React$Component) { + babelHelpers.inherits(Radio, _React$Component); + + function Radio() { + babelHelpers.classCallCheck(this, Radio); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Radio).apply(this, arguments)); + } + + babelHelpers.createClass(Radio, [{ + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var onChange = _props.onChange; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onChange']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + className: 'mui-radio ' + this.props.className + }), + _react2.default.createElement( + 'label', + null, + _react2.default.createElement('input', { + ref: 'inputEl', + type: 'radio', + name: this.props.name, + value: this.props.value, + checked: this.props.checked, + defaultChecked: this.props.defaultChecked, + disabled: this.props.disabled, + onChange: this.props.onChange + }), + this.props.label + ) + ); + } + }]); + return Radio; +}(_react2.default.Component); + +/** Define module API */ + + +Radio.propTypes = { + name: PropTypes.string, + label: PropTypes.string, + value: PropTypes.string, + checked: PropTypes.bool, + defaultChecked: PropTypes.bool, + disabled: PropTypes.bool, + onChange: PropTypes.func +}; +Radio.defaultProps = { + className: '', + name: null, + label: null, + disabled: false, + onChange: null +}; +exports.default = Radio; +module.exports = exports['default']; + +},{"react":"CwoHg3"}],25:[function(require,module,exports){ +/** + * MUI React Row Component + * @module react/row + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var breakpoints = ['xs', 'sm', 'md', 'lg']; + +/** + * Row constructor + * @class + */ + +var Row = function (_React$Component) { + babelHelpers.inherits(Row, _React$Component); + + function Row() { + babelHelpers.classCallCheck(this, Row); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Row).apply(this, arguments)); + } + + babelHelpers.createClass(Row, [{ + key: 'render', + value: function render() { + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, this.props, { + className: 'mui-row ' + this.props.className + }), + this.props.children + ); + } + }]); + return Row; +}(_react2.default.Component); + +/** Define module API */ + + +Row.defaultProps = { + className: '' +}; +exports.default = Row; +module.exports = exports['default']; + +},{"../js/lib/util":5,"react":"CwoHg3"}],26:[function(require,module,exports){ +/** + * MUI React select module + * @module react/select + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _forms = require('../js/lib/forms'); + +var formlib = babelHelpers.interopRequireWildcard(_forms); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _helpers = require('./_helpers'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Select constructor + * @class + */ + +var Select = function (_React$Component) { + babelHelpers.inherits(Select, _React$Component); + + function Select(props) { + babelHelpers.classCallCheck(this, Select); + + + // warn if value defined but onChange is not + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Select).call(this, props)); + + _this.state = { + showMenu: false + }; + if (props.readOnly === false && props.value !== undefined && props.onChange === null) { + util.raiseError(_helpers.controlledMessage, true); + } + + _this.state.value = props.value; + + // bind callback function + var cb = util.callback; + _this.hideMenuCB = cb(_this, 'hideMenu'); + _this.onInnerChangeCB = cb(_this, 'onInnerChange'); + _this.onInnerClickCB = cb(_this, 'onInnerClick'); + _this.onInnerFocusCB = cb(_this, 'onInnerFocus'); + _this.onInnerMouseDownCB = cb(_this, 'onInnerMouseDown'); + _this.onKeydownCB = cb(_this, 'onKeydown'); + _this.onMenuChangeCB = cb(_this, 'onMenuChange'); + _this.onOuterFocusCB = cb(_this, 'onOuterFocus'); + _this.onOuterBlurCB = cb(_this, 'onOuterBlur'); + return _this; + } + + babelHelpers.createClass(Select, [{ + key: 'componentDidMount', + value: function componentDidMount() { + // disable MUI js + this.refs.selectEl._muiSelect = true; + + // make wrapper element focusable (to enable Firefox bugfix) + this.refs.wrapperEl.tabIndex = -1; + + // handle autofocus + if (this.props.autoFocus) this.refs.wrapperEl.focus(); + } + }, { + key: 'componentWillReceiveProps', + value: function componentWillReceiveProps(nextProps) { + this.setState({ value: nextProps.value }); + } + }, { + key: 'onInnerMouseDown', + value: function onInnerMouseDown(ev) { + if (ev.button !== 0 || this.props.useDefault === true) return; + ev.preventDefault(); + } + }, { + key: 'onInnerChange', + value: function onInnerChange(ev) { + var value = ev.target.value; + this.setState({ value: value }); + + var fn = this.props.onChange; + if (fn) fn(value); + } + }, { + key: 'onInnerClick', + value: function onInnerClick(ev) { + if (ev.button !== 0) return; // only left clicks + this.showMenu(); + } + }, { + key: 'onInnerFocus', + value: function onInnerFocus(ev) { + var _this2 = this; + + // check flag + if (this.props.useDefault === true) return; + + // defer focus to parent + setTimeout(function () { + _this2.refs.wrapperEl.focus(); + }, 0); + } + }, { + key: 'onOuterFocus', + value: function onOuterFocus(ev) { + // ignore focus on inner element (react artifact) + if (ev.target !== this.refs.wrapperEl) return; + + // disable tabfocus on inner element + var selectEl = this.refs.selectEl; + selectEl._muiOrigIndex = selectEl.tabIndex; + selectEl.tabIndex = -1; + + // firefox bugfix + if (selectEl.disabled) return this.refs.wrapperEl.blur(); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'onOuterBlur', + value: function onOuterBlur(ev) { + // ignore blur on inner element + if (ev.target !== this.refs.wrapperEl) return; + + // restore tab focus on inner element + var selectEl = this.refs.selectEl; + selectEl.tabIndex = selectEl._muiOrigIndex; + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'onKeydown', + value: function onKeydown(ev) { + // spacebar, down, up + if (ev.keyCode === 32 || ev.keyCode === 38 || ev.keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.refs.selectEl.disabled !== true) this.showMenu(); + } + } + }, { + key: 'showMenu', + value: function showMenu() { + // check useDefault flag + if (this.props.useDefault === true) return; + + // add scroll lock + util.enableScrollLock(); + + // add event listeners + jqLite.on(window, 'resize', this.hideMenuCB); + jqLite.on(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({ showMenu: true }); + } + }, { + key: 'hideMenu', + value: function hideMenu() { + // remove scroll lock + util.disableScrollLock(); + + // remove event listeners + jqLite.off(window, 'resize', this.hideMenuCB); + jqLite.off(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({ showMenu: false }); + + // refocus + this.refs.selectEl.focus(); + } + }, { + key: 'onMenuChange', + value: function onMenuChange(value) { + if (this.props.readOnly === true) return; + + this.setState({ value: value }); + + // execute onChange method + var fn = this.props.onChange; + if (fn) fn(value); + } + }, { + key: 'render', + value: function render() { + var menuElem = void 0; + + if (this.state.showMenu) { + menuElem = _react2.default.createElement(Menu, { + optionEls: this.refs.selectEl.children, + wrapperEl: this.refs.wrapperEl, + onChange: this.onMenuChangeCB, + onClose: this.hideMenuCB + }); + } + + var _props = this.props; + var children = _props.children; + var onChange = _props.onChange; + var other = babelHelpers.objectWithoutProperties(_props, ['children', 'onChange']); + + + return _react2.default.createElement( + 'div', + babelHelpers.extends({}, other, { + ref: 'wrapperEl', + className: 'mui-select ' + this.props.className, + onFocus: this.onOuterFocusCB, + onBlur: this.onOuterBlurCB + }), + _react2.default.createElement( + 'select', + { + ref: 'selectEl', + name: this.props.name, + value: this.state.value, + defaultValue: this.props.defaultValue, + disabled: this.props.disabled, + multiple: this.props.multiple, + readOnly: this.props.readOnly, + required: this.props.required, + onChange: this.onInnerChangeCB, + onMouseDown: this.onInnerMouseDownCB, + onClick: this.onInnerClickCB, + onFocus: this.onInnerFocusCB + }, + this.props.children + ), + menuElem + ); + } + }]); + return Select; +}(_react2.default.Component); + +/** + * Menu constructor + * @class + */ + + +Select.propTypes = { + name: PropTypes.string, + value: PropTypes.string, + defaultValue: PropTypes.string, + autoFocus: PropTypes.bool, + disabled: PropTypes.bool, + multiple: PropTypes.bool, + readOnly: PropTypes.bool, + required: PropTypes.bool, + useDefault: PropTypes.bool, + onChange: PropTypes.func +}; +Select.defaultProps = { + className: '', + name: null, + autoFocus: false, + disabled: false, + multiple: false, + readOnly: false, + required: false, + useDefault: false, + onChange: null +}; + +var Menu = function (_React$Component2) { + babelHelpers.inherits(Menu, _React$Component2); + + function Menu(props) { + babelHelpers.classCallCheck(this, Menu); + + var _this3 = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Menu).call(this, props)); + + _this3.state = { + origIndex: null, + currentIndex: null + }; + + + _this3.onKeydownCB = util.callback(_this3, 'onKeydown'); + return _this3; + } + + babelHelpers.createClass(Menu, [{ + key: 'componentWillMount', + value: function componentWillMount() { + var optionEls = this.props.optionEls, + m = optionEls.length, + selectedPos = 0, + i = void 0; + + // get current selected position + for (i = m - 1; i > -1; i--) { + if (optionEls[i].selected) selectedPos = i; + }this.setState({ origIndex: selectedPos, currentIndex: selectedPos }); + } + }, { + key: 'componentDidMount', + value: function componentDidMount() { + // blur active element (IE10 bugfix) + this.blurTimer = setTimeout(function () { + var el = document.activeElement; + if (el.nodeName.toLowerCase() !== 'body') el.blur(); + }, 0); + + // set position + var props = formlib.getMenuPositionalCSS(this.props.wrapperEl, this.props.optionEls.length, this.state.currentIndex); + + var el = this.refs.wrapperEl; + jqLite.css(el, props); + jqLite.scrollTop(el, props.scrollTop); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'componentWillUnmount', + value: function componentWillUnmount() { + // clear timer + clearTimeout(this.blurTimer); + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + }, { + key: 'onClick', + value: function onClick(pos, ev) { + // don't allow events to bubble + ev.stopPropagation(); + this.selectAndDestroy(pos); + } + }, { + key: 'onKeydown', + value: function onKeydown(ev) { + var keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) this.destroy();else if (keyCode === 40) this.increment();else if (keyCode === 38) this.decrement();else if (keyCode === 13) this.selectAndDestroy(); + } + }, { + key: 'increment', + value: function increment() { + if (this.state.currentIndex === this.props.optionEls.length - 1) { + return; + } + + this.setState({ currentIndex: this.state.currentIndex + 1 }); + } + }, { + key: 'decrement', + value: function decrement() { + if (this.state.currentIndex === 0) return; + this.setState({ currentIndex: this.state.currentIndex - 1 }); + } + }, { + key: 'selectAndDestroy', + value: function selectAndDestroy(pos) { + pos = pos === undefined ? this.state.currentIndex : pos; + + // handle onChange + if (pos !== this.state.origIndex) { + this.props.onChange(this.props.optionEls[pos].value); + } + + // close menu + this.destroy(); + } + }, { + key: 'destroy', + value: function destroy() { + this.props.onClose(); + } + }, { + key: 'render', + value: function render() { + var menuItems = [], + optionEls = this.props.optionEls, + m = optionEls.length, + optionEl = void 0, + cls = void 0, + i = void 0; + + // define menu items + for (i = 0; i < m; i++) { + cls = i === this.state.currentIndex ? 'mui--is-selected' : ''; + + menuItems.push(_react2.default.createElement( + 'div', + { + key: i, + className: cls, + onClick: this.onClick.bind(this, i) + }, + optionEls[i].textContent + )); + } + + return _react2.default.createElement( + 'div', + { ref: 'wrapperEl', className: 'mui-select__menu' }, + menuItems + ); + } + }]); + return Menu; +}(_react2.default.Component); + +/** Define module API */ + + +Menu.defaultProps = { + optionEls: [], + wrapperEl: null, + onChange: null, + onClose: null +}; +exports.default = Select; +module.exports = exports['default']; + +},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,"./_helpers":6,"react":"CwoHg3"}],27:[function(require,module,exports){ +module.exports=require(9) +},{"react":"CwoHg3"}],28:[function(require,module,exports){ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _tab = require('./tab'); + +var _tab2 = babelHelpers.interopRequireDefault(_tab); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + + +var PropTypes = _react2.default.PropTypes, + tabsBarClass = 'mui-tabs__bar', + tabsBarJustifiedClass = 'mui-tabs__bar--justified', + tabsPaneClass = 'mui-tabs__pane', + isActiveClass = 'mui--is-active'; + +/** + * Tabs constructor + * @class + */ + +var Tabs = function (_React$Component) { + babelHelpers.inherits(Tabs, _React$Component); + + function Tabs(props) { + babelHelpers.classCallCheck(this, Tabs); + + var _this = babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Tabs).call(this, props)); + + _this.state = { currentSelectedIndex: props.initialSelectedIndex }; + return _this; + } + + babelHelpers.createClass(Tabs, [{ + key: 'onClick', + value: function onClick(i, tab, ev) { + if (i !== this.state.currentSelectedIndex) { + this.setState({ currentSelectedIndex: i }); + + // onActive callback + if (tab.props.onActive) tab.props.onActive(tab); + + // onChange callback + if (this.props.onChange) { + this.props.onChange(i, tab.props.value, tab, ev); + } + } + } + }, { + key: 'render', + value: function render() { + var _props = this.props; + var children = _props.children; + var other = babelHelpers.objectWithoutProperties(_props, ['children']); + + + var tabEls = [], + paneEls = [], + m = children.length, + selectedIndex = this.state.currentSelectedIndex % m, + isActive = void 0, + item = void 0, + cls = void 0, + i = void 0; + + for (i = 0; i < m; i++) { + item = children[i]; + + // only accept MUITab elements + if (item.type !== _tab2.default) util.raiseError('Expecting MUITab React Element'); + + isActive = i === selectedIndex ? true : false; + + // tab element + tabEls.push(_react2.default.createElement( + 'li', + { key: i, className: isActive ? isActiveClass : '' }, + _react2.default.createElement( + 'a', + { onClick: this.onClick.bind(this, i, item) }, + item.props.label + ) + )); + + // pane element + cls = tabsPaneClass + ' '; + if (isActive) cls += isActiveClass; + + paneEls.push(_react2.default.createElement( + 'div', + { key: i, className: cls }, + item.props.children + )); + } + + cls = tabsBarClass; + if (this.props.justified) cls += ' ' + tabsBarJustifiedClass; + + return _react2.default.createElement( + 'div', + other, + _react2.default.createElement( + 'ul', + { className: cls }, + tabEls + ), + paneEls + ); + } + }]); + return Tabs; +}(_react2.default.Component); + +/** Define module API */ + + +Tabs.propTypes = { + initialSelectedIndex: PropTypes.number, + justified: PropTypes.bool, + onChange: PropTypes.func +}; +Tabs.defaultProps = { + className: '', + initialSelectedIndex: 0, + justified: false, + onChange: null +}; +exports.default = Tabs; +module.exports = exports['default']; + +},{"../js/lib/util":5,"./tab":9,"react":"CwoHg3"}],29:[function(require,module,exports){ +/** + * MUI React Textarea Component + * @module react/textarea + */ + +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _react = window.React; + +var _react2 = babelHelpers.interopRequireDefault(_react); + +var _textField = require('./text-field'); + +var PropTypes = _react2.default.PropTypes; + +/** + * Textarea constructor + * @class + */ + +var Textarea = function (_React$Component) { + babelHelpers.inherits(Textarea, _React$Component); + + function Textarea() { + babelHelpers.classCallCheck(this, Textarea); + return babelHelpers.possibleConstructorReturn(this, Object.getPrototypeOf(Textarea).apply(this, arguments)); + } + + babelHelpers.createClass(Textarea, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_textField.TextField, this.props); + } + }]); + return Textarea; +}(_react2.default.Component); + +Textarea.propTypes = { + rows: PropTypes.number +}; +Textarea.defaultProps = { + type: 'textarea', + rows: 2 +}; +exports.default = Textarea; +module.exports = exports['default']; + +},{"./text-field":10,"react":"CwoHg3"}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.min.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.min.js new file mode 100644 index 0000000..0eb3f23 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/react/mui-react.min.js @@ -0,0 +1,2 @@ +!function(e){var t=e.babelHelpers={};t.classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},t.createClass=function(){function e(e,t){for(var r=0;r=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r},t.possibleConstructorReturn=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}}("undefined"==typeof global?self:global),function e(t,r,n){function l(o,a){if(!r[o]){if(!t[o]){var i="function"==typeof require&&require;if(!a&&i)return i(o,!0);if(s)return s(o,!0);throw new Error("Cannot find module '"+o+"'")}var u=r[o]={exports:{}};t[o][0].call(u.exports,function(e){var r=t[o][1][e];return l(r?r:e)},u,u.exports,e,t,r,n)}return r[o].exports}for(var s="function"==typeof require&&require,o=0;op&&(b=a+(r+1)*o-(-1*n+l+s),h=t*o+2*a-f,v=Math.min(b,h)),{height:f+"px",top:n+"px",scrollTop:v}}var l=15,s=32,o=42,a=8;t.exports={getMenuPositionalCSS:n}},{}],4:[function(e,t,r){"use strict";function n(e,t){if(t&&e.setAttribute){for(var r,n=h(e),l=t.split(" "),s=0;s-1:!1}function o(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function a(e,t,r,n){n=void 0===n?!1:n,e.addEventListener(t,r,n);var l=e._muiEventCache=e._muiEventCache||{};l[t]=l[t]||[],l[t].push([r,n])}function i(e,t,r,n){n=void 0===n?!1:n;var l,s,o=e._muiEventCache=e._muiEventCache||{},a=o[t]||[];for(s=a.length;s--;)l=a[s],(void 0===r||l[0]===r&&l[1]===n)&&(a.splice(s,1),e.removeEventListener(t,l[0],l[1]))}function u(e,t,r,n){a(e,t,function l(n){r&&r.apply(this,arguments),i(e,t,l)},n)}function c(e,t){var r=window;if(void 0===t){if(e===r){var n=document.documentElement;return(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}return e.scrollLeft}e===r?r.scrollTo(t,p(r)):e.scrollLeft=t}function p(e,t){var r=window;if(void 0===t){if(e===r){var n=document.documentElement;return(r.pageYOffset||n.scrollTop)-(n.clientTop||0)}return e.scrollTop}e===r?r.scrollTo(c(r),t):e.scrollTop=t}function d(e){var t=window,r=e.getBoundingClientRect(),n=p(t),l=c(t);return{top:r.top+n,left:r.left+l,height:r.height,width:r.width}}function f(e){var t=!1,r=!0,n=document,l=n.defaultView,s=n.documentElement,o=n.addEventListener?"addEventListener":"attachEvent",a=n.addEventListener?"removeEventListener":"detachEvent",i=n.addEventListener?"":"on",u=function d(r){"readystatechange"==r.type&&"complete"!=n.readyState||(("load"==r.type?l:n)[a](i+r.type,d,!1),!t&&(t=!0)&&e.call(l,r.type||r))},c=function f(){try{s.doScroll("left")}catch(e){return void setTimeout(f,50)}u("poll")};if("complete"==n.readyState)e.call(l,"lazy");else{if(n.createEventObject&&s.doScroll){try{r=!l.frameElement}catch(p){}r&&c()}n[o](i+"DOMContentLoaded",u,!1),n[o](i+"readystatechange",u,!1),l[o](i+"load",u,!1)}}function b(e,t){if(t&&e.setAttribute){for(var r,n=h(e),l=t.split(" "),s=0;s=0;)n=n.replace(" "+r+" "," ");e.setAttribute("class",n.trim())}}function h(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function v(e){return e.replace(y,function(e,t,r,n){return n?r.toUpperCase():r}).replace(g,"Moz$1")}function m(e,t,r){var n;return n=r.getPropertyValue(t),""!==n||e.ownerDocument||(n=e.style[v(t)]),n}var C,y=/([\:\-\_]+(.))/g,g=/^moz([A-Z])/;C={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:n,css:l,hasClass:s,off:i,offset:d,on:a,one:u,ready:f,removeClass:b,type:o,scrollLeft:c,scrollTop:p}},{}],5:[function(e,t,r){"use strict";function n(){var e=window;if(v.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var r=Array.prototype.slice.call(arguments);e.console.log(r.join("\n"))}}function l(e){var t,r=document;t=r.head||r.getElementsByTagName("head")[0]||r.documentElement;var n=r.createElement("style");return n.type="text/css",n.styleSheet?n.styleSheet.cssText=e:n.appendChild(r.createTextNode(e)),t.insertBefore(n,t.firstChild),n}function s(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function o(e){if(C.push(e),void 0===C._initialized){var t=document;m.on(t,"animationstart",a),m.on(t,"mozAnimationStart",a),m.on(t,"webkitAnimationStart",a),C._initialized=!0}}function a(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,r=C.length-1;r>=0;r--)C[r](t)}function i(e){var t="";for(var r in e)t+=e[r]?r+" ":"";return t.trim()}function u(){if(void 0!==h)return h;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",h="auto"===e.style.pointerEvents}function c(e,t){return function(){e[t].apply(e,arguments)}}function p(e,t,r,n,l){var s,o=document.createEvent("HTMLEvents"),r=void 0!==r?r:!0,n=void 0!==n?n:!0;if(o.initEvent(t,r,n),l)for(s in l)o[s]=l[s];return e&&e.dispatchEvent(o),o}function d(){if(y+=1,1===y){var e=window,t=document;b={left:m.scrollLeft(e),top:m.scrollTop(e)},m.addClass(t.body,g),e.scrollTo(b.left,b.top)}}function f(){if(0!==y&&(y-=1,0===y)){var e=window,t=document;m.removeClass(t.body,g),e.scrollTo(b.left,b.top)}}var b,h,v=e("../config"),m=e("./jqLite"),C=[],y=0,g="mui-body--scroll-lock";t.exports={callback:c,classNames:i,disableScrollLock:f,dispatchEvent:p,enableScrollLock:d,log:n,loadStyle:l,onNodeInserted:o,raiseError:s,supportsPointerEvents:u}},{"../config":2,"./jqLite":4}],6:[function(e,t,r){"use strict";var n="You provided a `value` prop to a form field without an `OnChange` handler. Please see React documentation on controlled components";t.exports={controlledMessage:n}},{}],7:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/jqLite"),o=babelHelpers.interopRequireWildcard(s),a=e("../js/lib/util"),i=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u="mui-btn",c="mui-ripple-effect",p={color:1,variant:1,size:1},d=function(e){function t(){var e,r,n,l;babelHelpers.classCallCheck(this,t);for(var s=arguments.length,o=Array(s),a=0;s>a;a++)o[a]=arguments[a];return r=n=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.state={ripples:{}},l=r,babelHelpers.possibleConstructorReturn(n,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this.refs.buttonEl;e._muiDropdown=!0,e._muiRipple=!0}},{key:"onClick",value:function(e){var t=this.props.onClick;t&&t(e)}},{key:"onMouseDown",value:function(e){var t=o.offset(this.refs.buttonEl),r=t.height;"fab"===this.props.variant&&(r/=2);var n=this.state.ripples,l=Date.now();n[l]={xPos:e.pageX-t.left,yPos:e.pageY-t.top,diameter:r,teardownFn:this.teardownRipple.bind(this,l)},this.setState({ripples:n})}},{key:"onTouchStart",value:function(e){}},{key:"teardownRipple",value:function(e){var t=this.state.ripples;delete t[e],this.setState({ripples:t})}},{key:"render",value:function(){var e=u,t=void 0,r=void 0,n=this.state.ripples;for(t in p)r=this.props[t],"default"!==r&&(e+=" "+u+"--"+r);return l["default"].createElement("button",babelHelpers["extends"]({},this.props,{ref:"buttonEl",className:e+" "+this.props.className,onClick:this.onClick.bind(this),onMouseDown:this.onMouseDown.bind(this)}),this.props.children,Object.keys(n).map(function(e,t){var r=n[e];return l["default"].createElement(f,{key:e,xPos:r.xPos,yPos:r.yPos,diameter:r.diameter,onTeardown:r.teardownFn})}))}}]),t}(l["default"].Component);d.propTypes={color:i.oneOf(["default","primary","danger","dark","accent"]),disabled:i.bool,size:i.oneOf(["default","small","large"]),type:i.oneOf(["submit","button"]),variant:i.oneOf(["default","flat","raised","fab"]),onClick:i.func},d.defaultProps={className:"",color:"default",disabled:!1,size:"default",type:null,variant:"default",onClick:null};var f=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.teardownTimer=setTimeout(function(){var t=e.props.onTeardown;t&&t()},2e3)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.teardownTimer)}},{key:"render",value:function(){var e=this.props.diameter,t=e/2,r={height:e,width:e,top:this.props.yPos-t||0,left:this.props.xPos-t||0};return l["default"].createElement("div",{className:c,style:r})}}]),t}(l["default"].Component);f.propTypes={xPos:i.number,yPos:i.number,diameter:i.number,onTeardown:i.func},f.defaultProps={xPos:0,yPos:0,diameter:0,onTeardown:null},r["default"]=d,t.exports=r["default"]},{"../js/lib/jqLite":4,"../js/lib/util":5,react:"CwoHg3"}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("span",babelHelpers["extends"]({},t,{className:"mui-caret "+this.props.className}))}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=l["default"].PropTypes,o=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return null}}]),t}(l["default"].Component);o.propTypes={value:s.any,label:s.string,onActive:s.func},o.defaultProps={value:null,label:"",onActive:null},r["default"]=o,t.exports=r["default"]},{react:"CwoHg3"}],10:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.TextField=void 0;var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=babelHelpers.interopRequireWildcard(s),a=e("./_helpers"),i=l["default"].PropTypes,u=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e)),n=e.value,l=n||e.defaultValue;r.state={innerValue:l,isDirty:Boolean(l)},void 0!==n&&null===e.onChange&&o.raiseError(a.controlledMessage,!0);var s=o.callback;return r.onChangeCB=s(r,"onChange"),r.onFocusCB=s(r,"onFocus"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.inputEl._muiTextfield=!0}},{key:"onChange",value:function(e){this.setState({innerValue:e.target.value});var t=this.props.onChange;t&&t(e)}},{key:"onFocus",value:function(e){this.setState({isDirty:!0})}},{key:"triggerFocus",value:function(){this.refs.inputEl.focus()}},{key:"render",value:function(){var e={},t=Boolean(this.state.innerValue),r=void 0;e["mui--is-empty"]=!t,e["mui--is-not-empty"]=t,e["mui--is-dirty"]=this.state.isDirty,e["mui--is-invalid"]=this.props.invalid,e=o.classNames(e);var n=this.props,s=(n.children,babelHelpers.objectWithoutProperties(n,["children"]));return r="textarea"===this.props.type?l["default"].createElement("textarea",babelHelpers["extends"]({},s,{ref:"inputEl",className:e,rows:this.props.rows,placeholder:this.props.hint,value:this.props.value,defaultValue:this.props.defaultValue,autoFocus:this.props.autoFocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required})):l["default"].createElement("input",babelHelpers["extends"]({},s,{ref:"inputEl",className:e,type:this.props.type,value:this.props.value,defaultValue:this.props.defaultValue,placeholder:this.props.hint,autoFocus:this.props.autofocus,onChange:this.onChangeCB,onFocus:this.onFocusCB,required:this.props.required}))}}]),t}(l["default"].Component);u.propTypes={hint:i.string,value:i.string,type:i.string,autoFocus:i.bool,onChange:i.func},u.defaultProps={hint:null,type:null,autoFocus:!1,onChange:null};var c=function(e){function t(){var e,r,n,l;babelHelpers.classCallCheck(this,t);for(var s=arguments.length,o=Array(s),a=0;s>a;a++)o[a]=arguments[a];return r=n=babelHelpers.possibleConstructorReturn(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),n.state={style:{}},l=r,babelHelpers.possibleConstructorReturn(n,l)}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){var e=this;this.styleTimer=setTimeout(function(){var t=".15s ease-out",r=void 0;r={transition:t,WebkitTransition:t,MozTransition:t,OTransition:t,msTransform:t},e.setState({style:r})},150)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.styleTimer)}},{key:"render",value:function(){return l["default"].createElement("label",{style:this.state.style,onClick:this.props.onClick},this.props.text)}}]),t}(l["default"].Component);c.defaultProps={text:"",onClick:null};var p=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.onClickCB=o.callback(r,"onClick"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){o.supportsPointerEvents()===!1&&(e.target.style.cursor="text",this.refs.inputEl.triggerFocus())}},{key:"render",value:function(){var e={},t=void 0;return this.props.label.length&&(t=l["default"].createElement(c,{text:this.props.label,onClick:this.onClickCB})),e["mui-textfield"]=!0,e["mui-textfield--float-label"]=this.props.floatingLabel,e=o.classNames(e),l["default"].createElement("div",{className:e},l["default"].createElement(u,babelHelpers["extends"]({ref:"inputEl"},this.props)),t)}}]),t}(l["default"].Component);p.propTypes={label:i.string,floatingLabel:i.bool},p.defaultProps={label:"",floatingLabel:!1},r.TextField=p},{"../js/lib/util":5,"./_helpers":6,react:"CwoHg3"}],11:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-appbar "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],12:[function(e,t,r){t.exports=e(7)},{"../js/lib/jqLite":4,"../js/lib/util":5,react:"CwoHg3"}],13:[function(e,t,r){t.exports=e(8)},{react:"CwoHg3"}],14:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=(babelHelpers.interopRequireWildcard(s),e("./_helpers"),l["default"].PropTypes),a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-checkbox "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"checkbox",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);a.propTypes={name:o.string,label:o.string,value:o.string,checked:o.bool,defaultChecked:o.bool,disabled:o.bool,onChange:o.func},a.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},r["default"]=a,t.exports=r["default"]},{"../js/lib/util":5,"./_helpers":6,react:"CwoHg3"}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=babelHelpers.interopRequireWildcard(s),a=["xs","sm","md","lg","xl"],i=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"defaultProps",value:function(){var e={className:""},t=void 0,r=void 0;for(t=a.length-1;t>-1;t--)r=a[t],e[r]=null,e[r+"-offset"]=null;return e}},{key:"render",value:function(){var e={},t=void 0,r=void 0,n=void 0,s=void 0;for(t=a.length-1;t>-1;t--)r=a[t],s="mui-col-"+r,n=this.props[r],n&&(e[s+"-"+n]=!0),n=this.props[r+"-offset"],n&&(e[s+"-offset-"+n]=!0);return e=o.classNames(e),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);r["default"]=i,t.exports=r["default"]},{"../js/lib/util":5,react:"CwoHg3"}],16:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="mui-container";return this.props.fluid&&(e+="-fluid"),l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.propTypes={fluid:l["default"].PropTypes.bool},s.defaultProps={className:"",fluid:!1},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],17:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-divider "+this.props.className}))}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],18:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=babelHelpers.interopRequireWildcard(s),a=l["default"].PropTypes,i=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.onClickCB=o.callback(r,"onClick"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e){this.props.onClick&&this.props.onClick(this,e)}},{key:"render",value:function(){var e=this.props,t=e.children,r=(e.onClick,babelHelpers.objectWithoutProperties(e,["children","onClick"]));return l["default"].createElement("li",r,l["default"].createElement("a",{href:this.props.link,target:this.props.target,"data-mui-value":this.props.value,onClick:this.onClickCB},t))}}]),t}(l["default"].Component);i.propTypes={link:a.string,target:a.string,onClick:a.func},r["default"]=i,t.exports=r["default"]},{"../js/lib/util":5,react:"CwoHg3"}],19:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./button"),o=babelHelpers.interopRequireDefault(s),a=e("./caret"),i=babelHelpers.interopRequireDefault(a),u=e("../js/lib/jqLite"),c=babelHelpers.interopRequireWildcard(u),p=e("../js/lib/util"),d=babelHelpers.interopRequireWildcard(p),f=l["default"].PropTypes,b="mui-dropdown",h="mui-dropdown__menu",v="mui--is-open",m="mui-dropdown__menu--right",C=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));r.state={opened:!1,menuTop:0};var n=d.callback;return r.selectCB=n(r,"select"),r.onClickCB=n(r,"onClick"),r.onOutsideClickCB=n(r,"onOutsideClick"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){document.addEventListener("click",this.onOutsideClickCB)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.onOutsideClickCB)}},{key:"onClick",value:function(e){if(0===e.button&&!this.props.disabled&&!e.defaultPrevented){this.toggle();var t=this.props.onClick;t&&t(e)}}},{key:"toggle",value:function(){return this.props.children?void(this.state.opened?this.close():this.open()):d.raiseError("Dropdown menu element not found")}},{key:"open",value:function(){var e=this.refs.wrapperEl.getBoundingClientRect(),t=void 0;t=this.refs.button.refs.buttonEl.getBoundingClientRect(),this.setState({opened:!0,menuTop:t.top-e.top+t.height})}},{key:"close",value:function(){this.setState({opened:!1})}},{key:"select",value:function(e){this.props.onSelect&&"A"===e.target.tagName&&this.props.onSelect(e.target.getAttribute("data-mui-value")),e.defaultPrevented||this.close()}},{key:"onOutsideClick",value:function(e){var t=this.refs.wrapperEl.contains(e.target);t||this.close()}},{key:"render",value:function(){var e=void 0,t=void 0,r=void 0;if(r="string"===c.type(this.props.label)?l["default"].createElement("span",null,this.props.label," ",l["default"].createElement(i["default"],null)):this.props.label,e=l["default"].createElement(o["default"],{ref:"button",type:"button",onClick:this.onClickCB,color:this.props.color,variant:this.props.variant,size:this.props.size,disabled:this.props.disabled},r),this.state.opened){var n={};n[h]=!0,n[v]=this.state.opened,n[m]="right"===this.props.alignMenu,n=d.classNames(n),t=l["default"].createElement("ul",{ref:"menuEl",className:n,style:{top:this.state.menuTop},onClick:this.selectCB},this.props.children)}var s=this.props,a=s.className,u=(s.children,s.onClick,babelHelpers.objectWithoutProperties(s,["className","children","onClick"]));return l["default"].createElement("div",babelHelpers["extends"]({},u,{ref:"wrapperEl",className:b+" "+a}),e,t)}}]),t}(l["default"].Component);C.propTypes={color:f.oneOf(["default","primary","danger","dark","accent"]),variant:f.oneOf(["default","flat","raised","fab"]),size:f.oneOf(["default","small","large"]),label:f.oneOfType([f.string,f.element]),alignMenu:f.oneOf(["left","right"]),onClick:f.func,onSelect:f.func,disabled:f.bool},C.defaultProps={className:"",color:"default",variant:"default",size:"default",label:"",alignMenu:"left",onClick:null,onSelect:null,disabled:!1},r["default"]=C,t.exports=r["default"]},{"../js/lib/jqLite":4,"../js/lib/util":5,"./button":7,"./caret":8,react:"CwoHg3"}],20:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e="";return this.props.inline&&(e="mui-form--inline"),l["default"].createElement("form",babelHelpers["extends"]({},this.props,{className:e+" "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.propTypes={inline:l["default"].PropTypes.bool},s.defaultProps={className:"",inline:!1},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],21:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./text-field"),o=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(s.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={type:o.oneOf(["text","email","url","tel","password"])},a.defaultProps={type:"text"},r["default"]=a,t.exports=r["default"]},{"./text-field":10,react:"CwoHg3"}],22:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/forms"),o=(babelHelpers.interopRequireWildcard(s),e("../js/lib/jqLite")),a=(babelHelpers.interopRequireWildcard(o),e("../js/lib/util")),i=(babelHelpers.interopRequireWildcard(a),l["default"].PropTypes),u=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,babelHelpers.objectWithoutProperties(e,["children"]));return l["default"].createElement("option",babelHelpers["extends"]({},t,{value:this.props.value}),this.props.label)}}]),t}(l["default"].Component);u.propTypes={value:i.string,label:i.string},u.defaultProps={value:null,label:null},r["default"]=u,t.exports=r["default"]},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,react:"CwoHg3"}],23:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-panel "+this.props.className}),this.props.children)}}]),t}(l["default"].Component);s.defaultProps={className:""},r["default"]=s,t.exports=r["default"]},{react:"CwoHg3"}],24:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=l["default"].PropTypes,o=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){var e=this.props,t=(e.children,e.onChange,babelHelpers.objectWithoutProperties(e,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},t,{className:"mui-radio "+this.props.className}),l["default"].createElement("label",null,l["default"].createElement("input",{ref:"inputEl",type:"radio",name:this.props.name,value:this.props.value,checked:this.props.checked,defaultChecked:this.props.defaultChecked,disabled:this.props.disabled,onChange:this.props.onChange}),this.props.label))}}]),t}(l["default"].Component);o.propTypes={name:s.string,label:s.string,value:s.string,checked:s.bool,defaultChecked:s.bool,disabled:s.bool,onChange:s.func},o.defaultProps={className:"",name:null,label:null,disabled:!1,onChange:null},r["default"]=o,t.exports=r["default"]},{react:"CwoHg3"}],25:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/util"),o=(babelHelpers.interopRequireWildcard(s),function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement("div",babelHelpers["extends"]({},this.props,{className:"mui-row "+this.props.className}),this.props.children)}}]),t}(l["default"].Component));o.defaultProps={className:""},r["default"]=o,t.exports=r["default"]},{"../js/lib/util":5,react:"CwoHg3"}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("../js/lib/forms"),o=babelHelpers.interopRequireWildcard(s),a=e("../js/lib/jqLite"),i=babelHelpers.interopRequireWildcard(a),u=e("../js/lib/util"),c=babelHelpers.interopRequireWildcard(u),p=e("./_helpers"),d=l["default"].PropTypes,f=function(e){ +function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));r.state={showMenu:!1},e.readOnly===!1&&void 0!==e.value&&null===e.onChange&&c.raiseError(p.controlledMessage,!0),r.state.value=e.value;var n=c.callback;return r.hideMenuCB=n(r,"hideMenu"),r.onInnerChangeCB=n(r,"onInnerChange"),r.onInnerClickCB=n(r,"onInnerClick"),r.onInnerFocusCB=n(r,"onInnerFocus"),r.onInnerMouseDownCB=n(r,"onInnerMouseDown"),r.onKeydownCB=n(r,"onKeydown"),r.onMenuChangeCB=n(r,"onMenuChange"),r.onOuterFocusCB=n(r,"onOuterFocus"),r.onOuterBlurCB=n(r,"onOuterBlur"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentDidMount",value:function(){this.refs.selectEl._muiSelect=!0,this.refs.wrapperEl.tabIndex=-1,this.props.autoFocus&&this.refs.wrapperEl.focus()}},{key:"componentWillReceiveProps",value:function(e){this.setState({value:e.value})}},{key:"onInnerMouseDown",value:function(e){0===e.button&&this.props.useDefault!==!0&&e.preventDefault()}},{key:"onInnerChange",value:function(e){var t=e.target.value;this.setState({value:t});var r=this.props.onChange;r&&r(t)}},{key:"onInnerClick",value:function(e){0===e.button&&this.showMenu()}},{key:"onInnerFocus",value:function(e){var t=this;this.props.useDefault!==!0&&setTimeout(function(){t.refs.wrapperEl.focus()},0)}},{key:"onOuterFocus",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;return t._muiOrigIndex=t.tabIndex,t.tabIndex=-1,t.disabled?this.refs.wrapperEl.blur():void i.on(document,"keydown",this.onKeydownCB)}}},{key:"onOuterBlur",value:function(e){if(e.target===this.refs.wrapperEl){var t=this.refs.selectEl;t.tabIndex=t._muiOrigIndex,i.off(document,"keydown",this.onKeydownCB)}}},{key:"onKeydown",value:function(e){32!==e.keyCode&&38!==e.keyCode&&40!==e.keyCode||(e.preventDefault(),this.refs.selectEl.disabled!==!0&&this.showMenu())}},{key:"showMenu",value:function(){this.props.useDefault!==!0&&(c.enableScrollLock(),i.on(window,"resize",this.hideMenuCB),i.on(document,"click",this.hideMenuCB),this.setState({showMenu:!0}))}},{key:"hideMenu",value:function(){c.disableScrollLock(),i.off(window,"resize",this.hideMenuCB),i.off(document,"click",this.hideMenuCB),this.setState({showMenu:!1}),this.refs.selectEl.focus()}},{key:"onMenuChange",value:function(e){if(this.props.readOnly!==!0){this.setState({value:e});var t=this.props.onChange;t&&t(e)}}},{key:"render",value:function(){var e=void 0;this.state.showMenu&&(e=l["default"].createElement(b,{optionEls:this.refs.selectEl.children,wrapperEl:this.refs.wrapperEl,onChange:this.onMenuChangeCB,onClose:this.hideMenuCB}));var t=this.props,r=(t.children,t.onChange,babelHelpers.objectWithoutProperties(t,["children","onChange"]));return l["default"].createElement("div",babelHelpers["extends"]({},r,{ref:"wrapperEl",className:"mui-select "+this.props.className,onFocus:this.onOuterFocusCB,onBlur:this.onOuterBlurCB}),l["default"].createElement("select",{ref:"selectEl",name:this.props.name,value:this.state.value,defaultValue:this.props.defaultValue,disabled:this.props.disabled,multiple:this.props.multiple,readOnly:this.props.readOnly,required:this.props.required,onChange:this.onInnerChangeCB,onMouseDown:this.onInnerMouseDownCB,onClick:this.onInnerClickCB,onFocus:this.onInnerFocusCB},this.props.children),e)}}]),t}(l["default"].Component);f.propTypes={name:d.string,value:d.string,defaultValue:d.string,autoFocus:d.bool,disabled:d.bool,multiple:d.bool,readOnly:d.bool,required:d.bool,useDefault:d.bool,onChange:d.func},f.defaultProps={className:"",name:null,autoFocus:!1,disabled:!1,multiple:!1,readOnly:!1,required:!1,useDefault:!1,onChange:null};var b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.state={origIndex:null,currentIndex:null},r.onKeydownCB=c.callback(r,"onKeydown"),r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"componentWillMount",value:function(){var e=this.props.optionEls,t=e.length,r=0,n=void 0;for(n=t-1;n>-1;n--)e[n].selected&&(r=n);this.setState({origIndex:r,currentIndex:r})}},{key:"componentDidMount",value:function(){this.blurTimer=setTimeout(function(){var e=document.activeElement;"body"!==e.nodeName.toLowerCase()&&e.blur()},0);var e=o.getMenuPositionalCSS(this.props.wrapperEl,this.props.optionEls.length,this.state.currentIndex),t=this.refs.wrapperEl;i.css(t,e),i.scrollTop(t,e.scrollTop),i.on(document,"keydown",this.onKeydownCB)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.blurTimer),i.off(document,"keydown",this.onKeydownCB)}},{key:"onClick",value:function(e,t){t.stopPropagation(),this.selectAndDestroy(e)}},{key:"onKeydown",value:function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&this.selectAndDestroy()))}},{key:"increment",value:function(){this.state.currentIndex!==this.props.optionEls.length-1&&this.setState({currentIndex:this.state.currentIndex+1})}},{key:"decrement",value:function(){0!==this.state.currentIndex&&this.setState({currentIndex:this.state.currentIndex-1})}},{key:"selectAndDestroy",value:function(e){e=void 0===e?this.state.currentIndex:e,e!==this.state.origIndex&&this.props.onChange(this.props.optionEls[e].value),this.destroy()}},{key:"destroy",value:function(){this.props.onClose()}},{key:"render",value:function(){var e=[],t=this.props.optionEls,r=t.length,n=void 0,s=void 0;for(s=0;r>s;s++)n=s===this.state.currentIndex?"mui--is-selected":"",e.push(l["default"].createElement("div",{key:s,className:n,onClick:this.onClick.bind(this,s)},t[s].textContent));return l["default"].createElement("div",{ref:"wrapperEl",className:"mui-select__menu"},e)}}]),t}(l["default"].Component);b.defaultProps={optionEls:[],wrapperEl:null,onChange:null,onClose:null},r["default"]=f,t.exports=r["default"]},{"../js/lib/forms":3,"../js/lib/jqLite":4,"../js/lib/util":5,"./_helpers":6,react:"CwoHg3"}],27:[function(e,t,r){t.exports=e(9)},{react:"CwoHg3"}],28:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./tab"),o=babelHelpers.interopRequireDefault(s),a=e("../js/lib/util"),i=babelHelpers.interopRequireWildcard(a),u=l["default"].PropTypes,c="mui-tabs__bar",p="mui-tabs__bar--justified",d="mui-tabs__pane",f="mui--is-active",b=function(e){function t(e){babelHelpers.classCallCheck(this,t);var r=babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,e));return r.state={currentSelectedIndex:e.initialSelectedIndex},r}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"onClick",value:function(e,t,r){e!==this.state.currentSelectedIndex&&(this.setState({currentSelectedIndex:e}),t.props.onActive&&t.props.onActive(t),this.props.onChange&&this.props.onChange(e,t.props.value,t,r))}},{key:"render",value:function(){var e=this.props,t=e.children,r=babelHelpers.objectWithoutProperties(e,["children"]),n=[],s=[],a=t.length,u=this.state.currentSelectedIndex%a,b=void 0,h=void 0,v=void 0,m=void 0;for(m=0;a>m;m++)h=t[m],h.type!==o["default"]&&i.raiseError("Expecting MUITab React Element"),b=m===u,n.push(l["default"].createElement("li",{key:m,className:b?f:""},l["default"].createElement("a",{onClick:this.onClick.bind(this,m,h)},h.props.label))),v=d+" ",b&&(v+=f),s.push(l["default"].createElement("div",{key:m,className:v},h.props.children));return v=c,this.props.justified&&(v+=" "+p),l["default"].createElement("div",r,l["default"].createElement("ul",{className:v},n),s)}}]),t}(l["default"].Component);b.propTypes={initialSelectedIndex:u.number,justified:u.bool,onChange:u.func},b.defaultProps={className:"",initialSelectedIndex:0,justified:!1,onChange:null},r["default"]=b,t.exports=r["default"]},{"../js/lib/util":5,"./tab":9,react:"CwoHg3"}],29:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=window.React,l=babelHelpers.interopRequireDefault(n),s=e("./text-field"),o=l["default"].PropTypes,a=function(e){function t(){return babelHelpers.classCallCheck(this,t),babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(t).apply(this,arguments))}return babelHelpers.inherits(t,e),babelHelpers.createClass(t,[{key:"render",value:function(){return l["default"].createElement(s.TextField,this.props)}}]),t}(l["default"].Component);a.propTypes={rows:o.number},a.defaultProps={type:"textarea",rows:2},r["default"]=a,t.exports=r["default"]},{"./text-field":10,react:"CwoHg3"}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js new file mode 100644 index 0000000..6fe112a --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.js @@ -0,0 +1,1023 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o -1); +} + + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || + (args[0] === callback && args[1] === useCapture)) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win)); + else element.scrollLeft = value; +} + + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value); + else element.scrollTop = value; +} + + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function() { + try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { top = !win.frameElement; } catch(e) { } + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +} + + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + + +function _camelCase(name) { + return name. + replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }). + replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || + doc.getElementsByTagName('head')[0] || + doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText; + else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i=nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += (classes[i]) ? i + ' ' : ''; + } + return cs.trim(); +} + + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = (element.style.pointerEvents === 'auto'); + return _supportsPointerEvents; +} + + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function() {instance[funcName].apply(instance, arguments);}; +} + + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = (bubbles !== undefined) ? bubbles : true, + cancelable = (cancelable !== undefined) ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) ev[k] = data[k]; + + // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1 + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = {left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win)}; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1 + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":3}],5:[function(require,module,exports){ +/** + * MUI CSS/JS form-control module + * @module forms/form-control + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + cssSelector = '.mui-textfield > input, .mui-textfield > textarea', + emptyClass = 'mui--is-empty', + notEmptyClass = 'mui--is-not-empty', + dirtyClass = 'mui--is-dirty', + floatingLabelClass = 'mui-textfield--float-label'; + + +/** + * Initialize input element. + * @param {Element} inputEl - The input element. + */ +function initialize(inputEl) { + // check flag + if (inputEl._muiTextfield === true) return; + else inputEl._muiTextfield = true; + + if (inputEl.value.length) jqLite.addClass(inputEl, notEmptyClass); + else jqLite.addClass(inputEl, emptyClass); + + jqLite.on(inputEl, 'input', inputHandler); + jqLite.on(inputEl, 'change', inputHandler); + + // add dirty class on focus + jqLite.on(inputEl, 'focus', function(){jqLite.addClass(this, dirtyClass);}); +} + + +/** + * Handle input events. + */ +function inputHandler() { + var inputEl = this; + + if (inputEl.value.length) { + jqLite.removeClass(inputEl, emptyClass); + jqLite.addClass(inputEl, notEmptyClass); + } else { + jqLite.removeClass(inputEl, notEmptyClass); + jqLite.addClass(inputEl, emptyClass) + } + + jqLite.addClass(inputEl, dirtyClass); +} + + +/** Define module API */ +module.exports = { + /** Initialize input elements */ + initialize: initialize, + + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') initialize(el); + }); + + // add transition css for floating labels + setTimeout(function() { + var css = '.mui-textfield.mui-textfield--float-label > label {' + [ + '-webkit-transition', + '-moz-transition', + '-o-transition', + 'transition', + '' + ].join(':all .15s ease-out;') + '}'; + + util.loadStyle(css); + }, 150); + + // pointer-events shim for floating labels + if (util.supportsPointerEvents() === false) { + jqLite.on(document, 'click', function(ev) { + var targetEl = ev.target; + + if (targetEl.tagName === 'LABEL' && + jqLite.hasClass(targetEl.parentNode, floatingLabelClass)) { + var inputEl = targetEl.previousElementSibling; + if (inputEl) inputEl.focus(); + } + }); + } + } +}; + +},{"./lib/jqLite":3,"./lib/util":4}],6:[function(require,module,exports){ +module.exports = "/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:\" \";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:\" \";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:\" \";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:\" \";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows=\"2\"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=\"\"]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:\" \";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}"; + +},{}],7:[function(require,module,exports){ +/** + * MUI WebComponents buttons module + * @module webcomponents/buttons + */ + +'use strict'; + + +var config = require('../js/config'), + jqLite = require('../js/lib/jqLite'), + btnClass = 'mui-btn', + btnTagName = btnClass, + btnAttrs = {style: 1, color: 1, size: 1}; + + +/** + * Class representing a button. + * @class + */ +var BtnProto = Object.create(HTMLElement.prototype); + + +/** Button createdCallback */ +BtnProto.createdCallback = function() { + var root = this.createShadowRoot(), + innerEl = document.createElement('button'), + cls = btnClass, + k, + v; + + // populate innerEl + for (var i=0; i < this.childNodes.length; i++) { + innerEl.appendChild(this.childNodes[i]); + } + + // style|color|size + for (k in btnAttrs) { + v = this.getAttribute(k); + if (v !== 'default') cls += ' ' + btnClass + '--' + v; + } + + jqLite.addClass(innerEl, cls); + + // disabled + if (this.getAttribute('disabled') !== null) { + innerEl.setAttribute('disabled', 'disabled'); + } + + root.appendChild(_getStyleEl().cloneNode(true)); + root.appendChild(innerEl); +}; + + + + +// ============================================================================ +// UTILITIES +// ============================================================================ + +var styleEl; + + +/** + * Get or create a style element. + * @function + */ +function _getStyleEl() { + if (styleEl === undefined) { + styleEl = document.createElement('style'); + styleEl.innerHTML = require('mui.min.css'); + } + + return styleEl; +} + + +/** Define module API */ +module.exports = { + /** Register module elements */ + registerElements: function() { + var BtnElement = document.registerElement(btnTagName, { + prototype: BtnProto + }); + + return { + BtnElement: BtnElement + } + } +}; + +},{"../js/config":2,"../js/lib/jqLite":3,"mui.min.css":6}],8:[function(require,module,exports){ +/** + * MUI WebComponents forms module + * @module webcomponents/forms + */ + +'use strict'; + + +var jqLite = require('../js/lib/jqLite'), + muiTextfield = require('../js/textfield'), + textfieldClass = 'mui-textfield', + floatingMod = '--float-label', + textfieldTagName = textfieldClass; + + +/** + * Class representing a Textfield element. + * @class + */ +var TextfieldProto = Object.create(HTMLElement.prototype); + + +/** Textfield createdCallback */ +TextfieldProto.createdCallback = function() { + var root = this.createShadowRoot(), + innerEl = document.createElement('div'), + cls; + + var attrs = { + type: this.getAttribute('type') || 'text', + value: this.getAttribute('value'), + placeholder: this.getAttribute('placeholder'), + label: this.getAttribute('label'), + floating: this.getAttribute('floating') + }; + + // set class + cls = textfieldClass; + if (attrs.floating !== null) cls += ' ' + textfieldClass + floatingMod; + + innerEl.setAttribute('class', cls); + + // add input element + innerEl.appendChild(_createInputEl(attrs)); + + // label element + if (attrs.label) { + var labelEl = _createLabelEl(attrs); + innerEl.appendChild(labelEl); + } + + // add to root + root.appendChild(_getStyleEl().cloneNode(true)); + root.appendChild(innerEl); +} + + + + +// ============================================================================ +// UTILITIES +// ============================================================================ + +var styleEl; + + +/** + * Get or create style + * @function + */ +function _getStyleEl() { + if (styleEl === undefined) { + styleEl = document.createElement('style'); + styleEl.innerHTML = require('mui.min.css'); + } + + return styleEl; +} + + +/** + * Create input element. + * @function + */ +function _createInputEl(attrs) { + var inputEl; + + // input element + if (attrs.type === 'textarea') { + inputEl = document.createElement('textarea'); + if (attrs.value) inputEl.appendChild(document.createTextNode(attrs.value)); + } else { + inputEl = document.createElement('input'); + inputEl.setAttribute('type', attrs.type); + if (attrs.value) inputEl.setAttribute('value', attrs.value); + } + + if (attrs.placeholder) { + inputEl.setAttribute('placeholder', attrs.placeholder); + } + + // add event listeners + muiTextfield.initialize(inputEl); + + return inputEl; +} + + +/** + * Create label element. + * @function + */ +function _createLabelEl(attrs) { + var labelEl = document.createElement('label'); + labelEl.appendChild(document.createTextNode(attrs.label)); + + return labelEl; +} + + +/** Define module API */ +module.exports = { + /** Register module elements */ + registerElements: function() { + var TextfieldElement = document.registerElement(textfieldTagName, { + prototype: TextfieldProto + }); + + return { + TextfieldElement: TextfieldElement + }; + } +}; + +},{"../js/lib/jqLite":3,"../js/textfield":5,"mui.min.css":6}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js new file mode 100644 index 0000000..3b339e1 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/cdn/webcomponents/mui-webcomponents.min.js @@ -0,0 +1,2 @@ +!function i(t,e,o){function n(a,m){if(!e[a]){if(!t[a]){var r="function"==typeof require&&require;if(!m&&r)return r(a,!0);if(l)return l(a,!0);throw new Error("Cannot find module '"+a+"'")}var u=e[a]={exports:{}};t[a][0].call(u.exports,function(i){var e=t[a][1][i];return n(e?e:i)},u,u.exports,i,t,e,o)}return e[a].exports}for(var l="function"==typeof require&&require,a=0;a-1:!1}function a(i){if(void 0===i)return"undefined";var t=Object.prototype.toString.call(i);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function m(i,t,e,o){o=void 0===o?!1:o,i.addEventListener(t,e,o);var n=i._muiEventCache=i._muiEventCache||{};n[t]=n[t]||[],n[t].push([e,o])}function r(i,t,e,o){o=void 0===o?!1:o;var n,l,a=i._muiEventCache=i._muiEventCache||{},m=a[t]||[];for(l=m.length;l--;)n=m[l],(void 0===e||n[0]===e&&n[1]===o)&&(m.splice(l,1),i.removeEventListener(t,n[0],n[1]))}function u(i,t,e,o){m(i,t,function n(o){e&&e.apply(this,arguments),r(i,t,n)},o)}function d(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageXOffset||o.scrollLeft)-(o.clientLeft||0)}return i.scrollLeft}i===e?e.scrollTo(t,s(e)):i.scrollLeft=t}function s(i,t){var e=window;if(void 0===t){if(i===e){var o=document.documentElement;return(e.pageYOffset||o.scrollTop)-(o.clientTop||0)}return i.scrollTop}i===e?e.scrollTo(d(e),t):i.scrollTop=t}function c(i){var t=window,e=i.getBoundingClientRect(),o=s(t),n=d(t);return{top:e.top+o,left:e.left+n,height:e.height,width:e.width}}function p(i){var t=!1,e=!0,o=document,n=o.defaultView,l=o.documentElement,a=o.addEventListener?"addEventListener":"attachEvent",m=o.addEventListener?"removeEventListener":"detachEvent",r=o.addEventListener?"":"on",u=function(e){"readystatechange"==e.type&&"complete"!=o.readyState||(("load"==e.type?n:o)[m](r+e.type,u,!1),!t&&(t=!0)&&i.call(n,e.type||e))},d=function(){try{l.doScroll("left")}catch(i){return void setTimeout(d,50)}u("poll")};if("complete"==o.readyState)i.call(n,"lazy");else{if(o.createEventObject&&l.doScroll){try{e=!n.frameElement}catch(s){}e&&d()}o[a](r+"DOMContentLoaded",u,!1),o[a](r+"readystatechange",u,!1),n[a](r+"load",u,!1)}}function b(i,t){if(t&&i.setAttribute){for(var e,o=f(i),n=t.split(" "),l=0;l=0;)o=o.replace(" "+e+" "," ");i.setAttribute("class",o.trim())}}function f(i){var t=(i.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function x(i){return i.replace(v,function(i,t,e,o){return o?e.toUpperCase():e}).replace(y,"Moz$1")}function g(i,t,e){var o;return o=e.getPropertyValue(t),""!==o||i.ownerDocument||(o=i.style[x(t)]),o}var h,v=/([\:\-\_]+(.))/g,y=/^moz([A-Z])/;h={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:o,css:n,hasClass:l,off:r,offset:c,on:m,one:u,ready:p,removeClass:b,type:a,scrollLeft:d,scrollTop:s}},{}],4:[function(i,t,e){"use strict";function o(){var i=window;if(x.debug&&"undefined"!=typeof i.console)try{i.console.log.apply(i.console,arguments)}catch(t){var e=Array.prototype.slice.call(arguments);i.console.log(e.join("\n"))}}function n(i){var t,e=document;t=e.head||e.getElementsByTagName("head")[0]||e.documentElement;var o=e.createElement("style");return o.type="text/css",o.styleSheet?o.styleSheet.cssText=i:o.appendChild(e.createTextNode(i)),t.insertBefore(o,t.firstChild),o}function l(i,t){if(!t)throw new Error("MUI: "+i);"undefined"!=typeof console&&console.error("MUI Warning: "+i)}function a(i){if(h.push(i),void 0===h._initialized){var t=document;g.on(t,"animationstart",m),g.on(t,"mozAnimationStart",m),g.on(t,"webkitAnimationStart",m),h._initialized=!0}}function m(i){if("mui-node-inserted"===i.animationName)for(var t=i.target,e=h.length-1;e>=0;e--)h[e](t)}function r(i){var t="";for(var e in i)t+=i[e]?e+" ":"";return t.trim()}function u(){if(void 0!==f)return f;var i=document.createElement("x");return i.style.cssText="pointer-events:auto",f="auto"===i.style.pointerEvents}function d(i,t){return function(){i[t].apply(i,arguments)}}function s(i,t,e,o,n){var l,a=document.createEvent("HTMLEvents"),e=void 0!==e?e:!0,o=void 0!==o?o:!0;if(a.initEvent(t,e,o),n)for(l in n)a[l]=n[l];return i&&i.dispatchEvent(a),a}function c(){if(v+=1,1===v){var i=window,t=document;b={left:g.scrollLeft(i),top:g.scrollTop(i)},g.addClass(t.body,y),i.scrollTo(b.left,b.top)}}function p(){if(0!==v&&(v-=1,0===v)){var i=window,t=document;g.removeClass(t.body,y),i.scrollTo(b.left,b.top)}}var b,f,x=i("../config"),g=i("./jqLite"),h=[],v=0,y="mui-body--scroll-lock";t.exports={callback:d,classNames:r,disableScrollLock:p,dispatchEvent:s,enableScrollLock:c,log:o,loadStyle:n,onNodeInserted:a,raiseError:l,supportsPointerEvents:u}},{"../config":2,"./jqLite":3}],5:[function(i,t,e){"use strict";function o(i){i._muiTextfield!==!0&&(i._muiTextfield=!0,i.value.length?l.addClass(i,u):l.addClass(i,r),l.on(i,"input",n),l.on(i,"change",n),l.on(i,"focus",function(){l.addClass(this,d)}))}function n(){var i=this;i.value.length?(l.removeClass(i,r),l.addClass(i,u)):(l.removeClass(i,u),l.addClass(i,r)),l.addClass(i,d)}var l=i("./lib/jqLite"),a=i("./lib/util"),m=".mui-textfield > input, .mui-textfield > textarea",r="mui--is-empty",u="mui--is-not-empty",d="mui--is-dirty",s="mui-textfield--float-label";t.exports={initialize:o,initListeners:function(){for(var i=document,t=i.querySelectorAll(m),e=t.length-1;e>=0;e--)o(t[e]);a.onNodeInserted(function(i){"INPUT"!==i.tagName&&"TEXTAREA"!==i.tagName||o(i)}),setTimeout(function(){var i=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";a.loadStyle(i)},150),a.supportsPointerEvents()===!1&&l.on(document,"click",function(i){var t=i.target;if("LABEL"===t.tagName&&l.hasClass(t.parentNode,s)){var e=t.previousElementSibling;e&&e.focus()}})}}},{"./lib/jqLite":3,"./lib/util":4}],6:[function(i,t,e){t.exports='/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase}'; +},{}],7:[function(i,t,e){"use strict";function o(){return void 0===u&&(u=document.createElement("style"),u.innerHTML=i("mui.min.css")),u}var n=(i("../js/config"),i("../js/lib/jqLite")),l="mui-btn",a=l,m={style:1,color:1,size:1},r=Object.create(HTMLElement.prototype);r.createdCallback=function(){for(var i,t,e=this.createShadowRoot(),a=document.createElement("button"),r=l,u=0;u +muicss:mui/ +├── lib +│ ├── css +│ │ └── mui.css +│ └── js +│ └── mui.js +├── LICENSE.txt +├── package.js +└── README.md + diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.css b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.css new file mode 100644 index 0000000..2a65b9e --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.css @@ -0,0 +1,2522 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS and IE text size adjust after device orientation change, + * without disabling user zoom. + */ +html { + font-family: sans-serif; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/** + * Remove default margin. + */ +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ +audio, +canvas, +progress, +video { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ +/** + * Remove the gray background color from active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * Improve readability of focused elements when they are also in an + * active/hover state. + */ +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ +mark { + background: #ff0; + color: #000; +} + +/** + * 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 { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove border when inside `a` element in IE 8/9/10. + */ +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ +/** + * Address margin not present in IE 8/9 and Safari. + */ +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ +button, +input, +optgroup, +select, +textarea { + color: inherit; + /* 1 */ + font: inherit; + /* 2 */ + margin: 0; + /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ +button { + overflow: visible; +} + +/** + * 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 Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ +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"] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + */ +input[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + box-sizing: content-box; + /* 2 */ +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ +legend { + border: 0; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ +/** + * Remove most spacing between table cells. + */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/** + * MUI Colors module + */ +/** + * MUI Reboot + */ +* { + box-sizing: border-box; +} + +*:before, +*:after { + box-sizing: border-box; +} + +html { + font-size: 10px; + -webkit-tap-highlight-color: transparent; +} + +body { + font-family: Arial, Verdana, Tahoma; + font-size: 14px; + font-weight: 400; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +a { + color: #2196F3; + text-decoration: none; +} + +a:hover, a:focus { + color: #1976D2; + text-decoration: underline; +} + +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +p { + margin: 0 0 10px; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +figure { + margin: 0; +} + +img { + vertical-align: middle; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 10px; + font-size: 21px; + color: rgba(0, 0, 0, 0.87); + line-height: inherit; + border: 0; +} + +input[type="search"] { + box-sizing: border-box; + -webkit-appearance: none; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; +} + +strong { + font-weight: 700; +} + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #2196F3; +} + +h1, h2, h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, h5, h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +/** + * MUI Appbar + */ +.mui--appbar-height { + height: 56px; +} + +.mui--appbar-min-height, .mui-appbar { + min-height: 56px; +} + +.mui--appbar-line-height { + line-height: 56px; +} + +.mui--appbar-top { + top: 56px; +} + +@media (orientation: landscape) and (max-height: 480px) { + .mui--appbar-height { + height: 48px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 48px; + } + .mui--appbar-line-height { + line-height: 48px; + } + .mui--appbar-top { + top: 48px; + } +} + +@media (min-width: 480px) { + .mui--appbar-height { + height: 64px; + } + .mui--appbar-min-height, .mui-appbar { + min-height: 64px; + } + .mui--appbar-line-height { + line-height: 64px; + } + .mui--appbar-top { + top: 64px; + } +} + +.mui-appbar { + background-color: #2196F3; + color: #FFF; +} + +/** + * MUI Buttons + */ +.mui-btn { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; + transition: all 0.2s ease-in-out; + display: inline-block; + height: 36px; + padding: 0 26px; + margin-top: 6px; + margin-bottom: 6px; + border: none; + border-radius: 2px; + cursor: pointer; + -ms-touch-action: manipulation; + touch-action: manipulation; + background-image: none; + text-align: center; + line-height: 36px; + vertical-align: middle; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + font-size: 14px; + letter-spacing: 0.03em; + position: relative; + overflow: hidden; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + color: rgba(0, 0, 0, 0.87); + background-color: white; +} + +.mui-btn[disabled]:hover, .mui-btn[disabled]:focus, .mui-btn[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: #FFF; +} + +.mui-btn.mui-btn--flat { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn.mui-btn--flat:hover, .mui-btn.mui-btn--flat:focus, .mui-btn.mui-btn--flat:active { + color: rgba(0, 0, 0, 0.87); + background-color: #f2f2f2; +} + +.mui-btn.mui-btn--flat[disabled]:hover, .mui-btn.mui-btn--flat[disabled]:focus, .mui-btn.mui-btn--flat[disabled]:active { + color: rgba(0, 0, 0, 0.87); + background-color: transparent; +} + +.mui-btn:hover, .mui-btn:focus, .mui-btn:active { + outline: 0; + text-decoration: none; + color: rgba(0, 0, 0, 0.87); +} + +.mui-btn:hover, .mui-btn:focus { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:hover, .mui-btn:focus { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn:disabled, .mui-btn.mui--is-disabled { + cursor: not-allowed; + pointer-events: none; + opacity: 0.60; + box-shadow: none; +} + +.mui-btn + .mui-btn { + margin-left: 8px; +} + +.mui-btn--flat { + background-color: transparent; +} + +.mui-btn--flat:hover, .mui-btn--flat:focus, .mui-btn--flat:active { + box-shadow: none; + background-color: #f2f2f2; +} + +.mui-btn--raised, .mui-btn--fab { + box-shadow: 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised, .mui-btn--fab { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 0px 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); + } +} + +.mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-btn--raised:active, .mui-btn--fab:active { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.12), -1px 0px 2px rgba(0, 0, 0, 0.12), 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); + } +} + +.mui-btn--fab { + position: relative; + padding: 0; + width: 55px; + height: 55px; + line-height: 55px; + border-radius: 50%; + z-index: 1; +} + +.mui-btn--primary { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary:hover, .mui-btn--primary:focus, .mui-btn--primary:active { + color: #FFF; + background-color: #39a1f4; +} + +.mui-btn--primary[disabled]:hover, .mui-btn--primary[disabled]:focus, .mui-btn--primary[disabled]:active { + color: #FFF; + background-color: #2196F3; +} + +.mui-btn--primary.mui-btn--flat { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--primary.mui-btn--flat:hover, .mui-btn--primary.mui-btn--flat:focus, .mui-btn--primary.mui-btn--flat:active { + color: #2196F3; + background-color: #f2f2f2; +} + +.mui-btn--primary.mui-btn--flat[disabled]:hover, .mui-btn--primary.mui-btn--flat[disabled]:focus, .mui-btn--primary.mui-btn--flat[disabled]:active { + color: #2196F3; + background-color: transparent; +} + +.mui-btn--dark { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark:hover, .mui-btn--dark:focus, .mui-btn--dark:active { + color: #FFF; + background-color: #4f4f4f; +} + +.mui-btn--dark[disabled]:hover, .mui-btn--dark[disabled]:focus, .mui-btn--dark[disabled]:active { + color: #FFF; + background-color: #424242; +} + +.mui-btn--dark.mui-btn--flat { + color: #424242; + background-color: transparent; +} + +.mui-btn--dark.mui-btn--flat:hover, .mui-btn--dark.mui-btn--flat:focus, .mui-btn--dark.mui-btn--flat:active { + color: #424242; + background-color: #f2f2f2; +} + +.mui-btn--dark.mui-btn--flat[disabled]:hover, .mui-btn--dark.mui-btn--flat[disabled]:focus, .mui-btn--dark.mui-btn--flat[disabled]:active { + color: #424242; + background-color: transparent; +} + +.mui-btn--danger { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger:hover, .mui-btn--danger:focus, .mui-btn--danger:active { + color: #FFF; + background-color: #f55a4e; +} + +.mui-btn--danger[disabled]:hover, .mui-btn--danger[disabled]:focus, .mui-btn--danger[disabled]:active { + color: #FFF; + background-color: #F44336; +} + +.mui-btn--danger.mui-btn--flat { + color: #F44336; + background-color: transparent; +} + +.mui-btn--danger.mui-btn--flat:hover, .mui-btn--danger.mui-btn--flat:focus, .mui-btn--danger.mui-btn--flat:active { + color: #F44336; + background-color: #f2f2f2; +} + +.mui-btn--danger.mui-btn--flat[disabled]:hover, .mui-btn--danger.mui-btn--flat[disabled]:focus, .mui-btn--danger.mui-btn--flat[disabled]:active { + color: #F44336; + background-color: transparent; +} + +.mui-btn--accent { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent:hover, .mui-btn--accent:focus, .mui-btn--accent:active { + color: #FFF; + background-color: #ff5a92; +} + +.mui-btn--accent[disabled]:hover, .mui-btn--accent[disabled]:focus, .mui-btn--accent[disabled]:active { + color: #FFF; + background-color: #FF4081; +} + +.mui-btn--accent.mui-btn--flat { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--accent.mui-btn--flat:hover, .mui-btn--accent.mui-btn--flat:focus, .mui-btn--accent.mui-btn--flat:active { + color: #FF4081; + background-color: #f2f2f2; +} + +.mui-btn--accent.mui-btn--flat[disabled]:hover, .mui-btn--accent.mui-btn--flat[disabled]:focus, .mui-btn--accent.mui-btn--flat[disabled]:active { + color: #FF4081; + background-color: transparent; +} + +.mui-btn--small { + height: 30.6px; + line-height: 30.6px; + padding: 0 16px; + font-size: 13px; +} + +.mui-btn--large { + height: 54px; + line-height: 54px; + padding: 0 26px; + font-size: 14px; +} + +.mui-btn--fab.mui-btn--small { + width: 44px; + height: 44px; + line-height: 44px; +} + +.mui-btn--fab.mui-btn--large { + width: 75px; + height: 75px; + line-height: 75px; +} + +/** + * MUI Checkboxe and Radio Components + */ +.mui-radio, +.mui-checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} + +.mui-radio > label, +.mui-checkbox > label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.mui-radio > label > input[type="radio"], +.mui-radio--inline > label > input[type="radio"], +.mui-checkbox > label > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px; +} + +.mui-radio + .mui-radio, +.mui-checkbox + .mui-checkbox { + margin-top: -5px; +} + +.mui-radio--inline, +.mui-checkbox--inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} + +.mui-radio--inline > input[type="radio"], +.mui-radio--inline > input[type="checkbox"], +.mui-radio--inline > label > input[type="radio"], +.mui-radio--inline > label > input[type="checkbox"], +.mui-checkbox--inline > input[type="radio"], +.mui-checkbox--inline > input[type="checkbox"], +.mui-checkbox--inline > label > input[type="radio"], +.mui-checkbox--inline > label > input[type="checkbox"] { + margin: 4px 0 0; + line-height: normal; +} + +.mui-radio--inline + .mui-radio--inline, +.mui-checkbox--inline + .mui-checkbox--inline { + margin-top: 0; + margin-left: 10px; +} + +/** + * MUI Container module + */ +.mui-container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container:before, .mui-container:after { + content: " "; + display: table; +} + +.mui-container:after { + clear: both; +} + +@media (min-width: 544px) { + .mui-container { + max-width: 570px; + } +} + +@media (min-width: 768px) { + .mui-container { + max-width: 740px; + } +} + +@media (min-width: 992px) { + .mui-container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .mui-container { + max-width: 1170px; + } +} + +.mui-container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} + +.mui-container-fluid:before, .mui-container-fluid:after { + content: " "; + display: table; +} + +.mui-container-fluid:after { + clear: both; +} + +/** + * MUI Divider Component and CSS Helpers + */ +.mui-divider { + display: block; + height: 1px; + background-color: rgba(0, 0, 0, 0.12); +} + +.mui--divider-top { + border-top: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-bottom { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-left { + border-left: 1px solid rgba(0, 0, 0, 0.12); +} + +.mui--divider-right { + border-right: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Dropdown module + */ +.mui-dropdown { + display: inline-block; + position: relative; +} + +[data-mui-toggle="dropdown"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + outline: 0; +} + +.mui-dropdown__menu { + position: absolute; + top: 100%; + left: 0; + display: none; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border-radius: 2px; + z-index: 1; + background-clip: padding-box; +} + +.mui-dropdown__menu.mui--is-open { + display: block; +} + +.mui-dropdown__menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.429; + color: rgba(0, 0, 0, 0.87); + white-space: nowrap; +} + +.mui-dropdown__menu > li > a:hover, .mui-dropdown__menu > li > a:focus { + text-decoration: none; + color: rgba(0, 0, 0, 0.87); + background-color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a, .mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + color: #EEEEEE; +} + +.mui-dropdown__menu > .mui--is-disabled > a:hover, .mui-dropdown__menu > .mui--is-disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + cursor: not-allowed; +} + +.mui-dropdown__menu--right { + left: auto; + right: 0; +} + +/** + * MUI Form Component + */ +@media (min-width: 544px) { + .mui-form--inline > .mui-textfield { + display: inline-block; + margin-bottom: 0; + } + .mui-form--inline > .mui-radio, + .mui-form--inline > .mui-checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .mui-form--inline > .mui-radio > label, + .mui-form--inline > .mui-checkbox > label { + padding-left: 0; + } + .mui-form--inline > .mui-radio > label > input[type="radio"], + .mui-form--inline > .mui-checkbox > label > input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .mui-form--inline > .mui-select { + display: inline-block; + } + .mui-form--inline > .mui-btn { + margin-bottom: 0; + margin-top: 0; + vertical-align: bottom; + } +} + +/** + * MUI Grid module + */ +.mui-row { + margin-left: -15px; + margin-right: -15px; +} + +.mui-row:before, .mui-row:after { + content: " "; + display: table; +} + +.mui-row:after { + clear: both; +} + +.mui-col-xs-1, .mui-col-sm-1, .mui-col-md-1, .mui-col-lg-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-md-2, .mui-col-lg-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-md-3, .mui-col-lg-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-md-4, .mui-col-lg-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-md-5, .mui-col-lg-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-md-6, .mui-col-lg-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-md-7, .mui-col-lg-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-md-8, .mui-col-lg-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-md-9, .mui-col-lg-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-md-10, .mui-col-lg-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-md-11, .mui-col-lg-11, .mui-col-xs-12, .mui-col-sm-12, .mui-col-md-12, .mui-col-lg-12 { + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} + +.mui-col-xs-1, .mui-col-xs-2, .mui-col-xs-3, .mui-col-xs-4, .mui-col-xs-5, .mui-col-xs-6, .mui-col-xs-7, .mui-col-xs-8, .mui-col-xs-9, .mui-col-xs-10, .mui-col-xs-11, .mui-col-xs-12 { + float: left; +} + +.mui-col-xs-1 { + width: 8.33333%; +} + +.mui-col-xs-2 { + width: 16.66667%; +} + +.mui-col-xs-3 { + width: 25%; +} + +.mui-col-xs-4 { + width: 33.33333%; +} + +.mui-col-xs-5 { + width: 41.66667%; +} + +.mui-col-xs-6 { + width: 50%; +} + +.mui-col-xs-7 { + width: 58.33333%; +} + +.mui-col-xs-8 { + width: 66.66667%; +} + +.mui-col-xs-9 { + width: 75%; +} + +.mui-col-xs-10 { + width: 83.33333%; +} + +.mui-col-xs-11 { + width: 91.66667%; +} + +.mui-col-xs-12 { + width: 100%; +} + +.mui-col-xs-offset-0 { + margin-left: 0%; +} + +.mui-col-xs-offset-1 { + margin-left: 8.33333%; +} + +.mui-col-xs-offset-2 { + margin-left: 16.66667%; +} + +.mui-col-xs-offset-3 { + margin-left: 25%; +} + +.mui-col-xs-offset-4 { + margin-left: 33.33333%; +} + +.mui-col-xs-offset-5 { + margin-left: 41.66667%; +} + +.mui-col-xs-offset-6 { + margin-left: 50%; +} + +.mui-col-xs-offset-7 { + margin-left: 58.33333%; +} + +.mui-col-xs-offset-8 { + margin-left: 66.66667%; +} + +.mui-col-xs-offset-9 { + margin-left: 75%; +} + +.mui-col-xs-offset-10 { + margin-left: 83.33333%; +} + +.mui-col-xs-offset-11 { + margin-left: 91.66667%; +} + +.mui-col-xs-offset-12 { + margin-left: 100%; +} + +@media (min-width: 544px) { + .mui-col-sm-1, .mui-col-sm-2, .mui-col-sm-3, .mui-col-sm-4, .mui-col-sm-5, .mui-col-sm-6, .mui-col-sm-7, .mui-col-sm-8, .mui-col-sm-9, .mui-col-sm-10, .mui-col-sm-11, .mui-col-sm-12 { + float: left; + } + .mui-col-sm-1 { + width: 8.33333%; + } + .mui-col-sm-2 { + width: 16.66667%; + } + .mui-col-sm-3 { + width: 25%; + } + .mui-col-sm-4 { + width: 33.33333%; + } + .mui-col-sm-5 { + width: 41.66667%; + } + .mui-col-sm-6 { + width: 50%; + } + .mui-col-sm-7 { + width: 58.33333%; + } + .mui-col-sm-8 { + width: 66.66667%; + } + .mui-col-sm-9 { + width: 75%; + } + .mui-col-sm-10 { + width: 83.33333%; + } + .mui-col-sm-11 { + width: 91.66667%; + } + .mui-col-sm-12 { + width: 100%; + } + .mui-col-sm-offset-0 { + margin-left: 0%; + } + .mui-col-sm-offset-1 { + margin-left: 8.33333%; + } + .mui-col-sm-offset-2 { + margin-left: 16.66667%; + } + .mui-col-sm-offset-3 { + margin-left: 25%; + } + .mui-col-sm-offset-4 { + margin-left: 33.33333%; + } + .mui-col-sm-offset-5 { + margin-left: 41.66667%; + } + .mui-col-sm-offset-6 { + margin-left: 50%; + } + .mui-col-sm-offset-7 { + margin-left: 58.33333%; + } + .mui-col-sm-offset-8 { + margin-left: 66.66667%; + } + .mui-col-sm-offset-9 { + margin-left: 75%; + } + .mui-col-sm-offset-10 { + margin-left: 83.33333%; + } + .mui-col-sm-offset-11 { + margin-left: 91.66667%; + } + .mui-col-sm-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 768px) { + .mui-col-md-1, .mui-col-md-2, .mui-col-md-3, .mui-col-md-4, .mui-col-md-5, .mui-col-md-6, .mui-col-md-7, .mui-col-md-8, .mui-col-md-9, .mui-col-md-10, .mui-col-md-11, .mui-col-md-12 { + float: left; + } + .mui-col-md-1 { + width: 8.33333%; + } + .mui-col-md-2 { + width: 16.66667%; + } + .mui-col-md-3 { + width: 25%; + } + .mui-col-md-4 { + width: 33.33333%; + } + .mui-col-md-5 { + width: 41.66667%; + } + .mui-col-md-6 { + width: 50%; + } + .mui-col-md-7 { + width: 58.33333%; + } + .mui-col-md-8 { + width: 66.66667%; + } + .mui-col-md-9 { + width: 75%; + } + .mui-col-md-10 { + width: 83.33333%; + } + .mui-col-md-11 { + width: 91.66667%; + } + .mui-col-md-12 { + width: 100%; + } + .mui-col-md-offset-0 { + margin-left: 0%; + } + .mui-col-md-offset-1 { + margin-left: 8.33333%; + } + .mui-col-md-offset-2 { + margin-left: 16.66667%; + } + .mui-col-md-offset-3 { + margin-left: 25%; + } + .mui-col-md-offset-4 { + margin-left: 33.33333%; + } + .mui-col-md-offset-5 { + margin-left: 41.66667%; + } + .mui-col-md-offset-6 { + margin-left: 50%; + } + .mui-col-md-offset-7 { + margin-left: 58.33333%; + } + .mui-col-md-offset-8 { + margin-left: 66.66667%; + } + .mui-col-md-offset-9 { + margin-left: 75%; + } + .mui-col-md-offset-10 { + margin-left: 83.33333%; + } + .mui-col-md-offset-11 { + margin-left: 91.66667%; + } + .mui-col-md-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 992px) { + .mui-col-lg-1, .mui-col-lg-2, .mui-col-lg-3, .mui-col-lg-4, .mui-col-lg-5, .mui-col-lg-6, .mui-col-lg-7, .mui-col-lg-8, .mui-col-lg-9, .mui-col-lg-10, .mui-col-lg-11, .mui-col-lg-12 { + float: left; + } + .mui-col-lg-1 { + width: 8.33333%; + } + .mui-col-lg-2 { + width: 16.66667%; + } + .mui-col-lg-3 { + width: 25%; + } + .mui-col-lg-4 { + width: 33.33333%; + } + .mui-col-lg-5 { + width: 41.66667%; + } + .mui-col-lg-6 { + width: 50%; + } + .mui-col-lg-7 { + width: 58.33333%; + } + .mui-col-lg-8 { + width: 66.66667%; + } + .mui-col-lg-9 { + width: 75%; + } + .mui-col-lg-10 { + width: 83.33333%; + } + .mui-col-lg-11 { + width: 91.66667%; + } + .mui-col-lg-12 { + width: 100%; + } + .mui-col-lg-offset-0 { + margin-left: 0%; + } + .mui-col-lg-offset-1 { + margin-left: 8.33333%; + } + .mui-col-lg-offset-2 { + margin-left: 16.66667%; + } + .mui-col-lg-offset-3 { + margin-left: 25%; + } + .mui-col-lg-offset-4 { + margin-left: 33.33333%; + } + .mui-col-lg-offset-5 { + margin-left: 41.66667%; + } + .mui-col-lg-offset-6 { + margin-left: 50%; + } + .mui-col-lg-offset-7 { + margin-left: 58.33333%; + } + .mui-col-lg-offset-8 { + margin-left: 66.66667%; + } + .mui-col-lg-offset-9 { + margin-left: 75%; + } + .mui-col-lg-offset-10 { + margin-left: 83.33333%; + } + .mui-col-lg-offset-11 { + margin-left: 91.66667%; + } + .mui-col-lg-offset-12 { + margin-left: 100%; + } +} + +@media (min-width: 1200px) { + .mui-col-xl-1, .mui-col-xl-2, .mui-col-xl-3, .mui-col-xl-4, .mui-col-xl-5, .mui-col-xl-6, .mui-col-xl-7, .mui-col-xl-8, .mui-col-xl-9, .mui-col-xl-10, .mui-col-xl-11, .mui-col-xl-12 { + float: left; + } + .mui-col-xl-1 { + width: 8.33333%; + } + .mui-col-xl-2 { + width: 16.66667%; + } + .mui-col-xl-3 { + width: 25%; + } + .mui-col-xl-4 { + width: 33.33333%; + } + .mui-col-xl-5 { + width: 41.66667%; + } + .mui-col-xl-6 { + width: 50%; + } + .mui-col-xl-7 { + width: 58.33333%; + } + .mui-col-xl-8 { + width: 66.66667%; + } + .mui-col-xl-9 { + width: 75%; + } + .mui-col-xl-10 { + width: 83.33333%; + } + .mui-col-xl-11 { + width: 91.66667%; + } + .mui-col-xl-12 { + width: 100%; + } + .mui-col-xl-offset-0 { + margin-left: 0%; + } + .mui-col-xl-offset-1 { + margin-left: 8.33333%; + } + .mui-col-xl-offset-2 { + margin-left: 16.66667%; + } + .mui-col-xl-offset-3 { + margin-left: 25%; + } + .mui-col-xl-offset-4 { + margin-left: 33.33333%; + } + .mui-col-xl-offset-5 { + margin-left: 41.66667%; + } + .mui-col-xl-offset-6 { + margin-left: 50%; + } + .mui-col-xl-offset-7 { + margin-left: 58.33333%; + } + .mui-col-xl-offset-8 { + margin-left: 66.66667%; + } + .mui-col-xl-offset-9 { + margin-left: 75%; + } + .mui-col-xl-offset-10 { + margin-left: 83.33333%; + } + .mui-col-xl-offset-11 { + margin-left: 91.66667%; + } + .mui-col-xl-offset-12 { + margin-left: 100%; + } +} + +/** + * MUI Panel module + */ +.mui-panel { + padding: 15px; + margin-bottom: 20px; + border-radius: 0; + background-color: #FFF; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); +} + +.mui-panel:before, .mui-panel:after { + content: " "; + display: table; +} + +.mui-panel:after { + clear: both; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-panel { + box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.12), -1px 0px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0px 2px 0 rgba(0, 0, 0, 0.12); + } +} + +/** + * MUI Select Component + */ +.mui-select { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-select:focus { + outline: 0; +} + +.mui-select:focus > select { + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + height: 32px; + width: 100%; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + outline: none; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + border-radius: 0px; + box-shadow: none; + background-color: transparent; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg=="); + background-repeat: no-repeat; + background-position: right center; + cursor: pointer; + color: rgba(0, 0, 0, 0.87); + font-size: 16px; + padding: 0 25px 0 0; +} + +.mui-select > select::-ms-expand { + display: none; +} + +.mui-select > select:focus { + outline: 0; + height: 33px; + margin-bottom: -1px; + border-color: #2196F3; + border-width: 2px; +} + +.mui-select > select:disabled { + color: rgba(0, 0, 0, 0.38); + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-select__menu { + position: absolute; + z-index: 2; + min-width: 100%; + overflow-y: auto; + padding: 8px 0; + background-color: #FFF; + font-size: 16px; +} + +@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { + .mui-select__menu { + border-left: 1px solid rgba(0, 0, 0, 0.12); + border-top: 1px solid rgba(0, 0, 0, 0.12); + } +} + +.mui-select__menu > div { + padding: 0 22px; + height: 42px; + line-height: 42px; + cursor: pointer; + white-space: nowrap; +} + +.mui-select__menu > div:hover { + background-color: #E0E0E0; +} + +.mui-select__menu > div.mui--is-selected { + background-color: #EEEEEE; +} + +/** + * MUI Table Component + */ +th { + text-align: left; +} + +.mui-table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} + +.mui-table > thead > tr > th, +.mui-table > thead > tr > td, +.mui-table > tbody > tr > th, +.mui-table > tbody > tr > td, +.mui-table > tfoot > tr > th, +.mui-table > tfoot > tr > td { + padding: 10px; + line-height: 1.429; +} + +.mui-table > thead > tr > th { + border-bottom: 2px solid rgba(0, 0, 0, 0.12); + font-weight: 700; +} + +.mui-table > tbody + tbody { + border-top: 2px solid rgba(0, 0, 0, 0.12); +} + +.mui-table.mui-table--bordered > tbody > tr > td { + border-bottom: 1px solid rgba(0, 0, 0, 0.12); +} + +/** + * MUI Tabs module + */ +.mui-tabs__bar { + list-style: none; + padding-left: 0; + margin-bottom: 0; + background-color: transparent; + white-space: nowrap; + overflow-x: auto; +} + +.mui-tabs__bar > li { + display: inline-block; +} + +.mui-tabs__bar > li > a { + display: block; + white-space: nowrap; + text-transform: uppercase; + font-weight: 500; + font-size: 14px; + color: rgba(0, 0, 0, 0.87); + cursor: default; + height: 48px; + line-height: 48px; + padding-left: 24px; + padding-right: 24px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-tabs__bar > li > a:hover { + text-decoration: none; +} + +.mui-tabs__bar > li.mui--is-active { + border-bottom: 2px solid #2196F3; +} + +.mui-tabs__bar > li.mui--is-active > a { + color: #2196F3; +} + +.mui-tabs__bar.mui-tabs__bar--justified { + display: table; + width: 100%; + table-layout: fixed; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li { + display: table-cell; +} + +.mui-tabs__bar.mui-tabs__bar--justified > li > a { + text-align: center; + padding-left: 0px; + padding-right: 0px; +} + +.mui-tabs__pane { + display: none; +} + +.mui-tabs__pane.mui--is-active { + display: block; +} + +[data-mui-toggle="tab"] { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; +} + +/** + * MUI Textfield Component + */ +.mui-textfield { + display: block; + padding-top: 15px; + margin-bottom: 20px; + position: relative; +} + +.mui-textfield > label { + position: absolute; + top: 0; + display: block; + width: 100%; + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + font-weight: 400; + line-height: 15px; + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.mui-textfield > textarea { + padding-top: 5px; +} + +.mui-textfield > input, +.mui-textfield > textarea { + display: block; +} + +.mui-textfield > input:focus ~ label, +.mui-textfield > textarea:focus ~ label { + color: #2196F3; +} + +.mui-textfield--float-label > label { + position: absolute; + transform: translate(0px, 15px); + font-size: 16px; + line-height: 32px; + color: rgba(0, 0, 0, 0.26); + text-overflow: clip; + cursor: text; + pointer-events: none; +} + +.mui-textfield--float-label > input:focus ~ label, +.mui-textfield--float-label > textarea:focus ~ label { + transform: translate(0px, 0px); + font-size: 12px; + line-height: 15px; + text-overflow: ellipsis; +} + +.mui-textfield--float-label > input:not(:focus).mui--is-not-empty ~ label, .mui-textfield--float-label > input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield--float-label > input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus).mui--is-not-empty ~ label, +.mui-textfield--float-label > textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield--float-label > textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: rgba(0, 0, 0, 0.54); + font-size: 12px; + line-height: 15px; + transform: translate(0px, 0px); + text-overflow: ellipsis; +} + +.mui-textfield--wrap-label { + display: table; + width: 100%; + padding-top: 0px; +} + +.mui-textfield--wrap-label:not(.mui-textfield--float-label) > label { + display: table-header-group; + position: static; + white-space: normal; + overflow-x: visible; +} + +.mui-textfield > input, +.mui-textfield > textarea { + animation-duration: 0.0001s; + animation-name: mui-node-inserted; + display: block; + background-color: transparent; + color: rgba(0, 0, 0, 0.87); + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.26); + outline: none; + width: 100%; + font-size: 16px; + padding: 0; + box-shadow: none; + border-radius: 0px; + background-image: none; +} + +.mui-textfield > input:focus, +.mui-textfield > textarea:focus { + border-color: #2196F3; + border-width: 2px; +} + +.mui-textfield > input:disabled, .mui-textfield > input:-moz-read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:-moz-read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input:disabled, .mui-textfield > input:read-only, +.mui-textfield > textarea:disabled, +.mui-textfield > textarea:read-only { + cursor: not-allowed; + background-color: transparent; + opacity: 1; +} + +.mui-textfield > input::-webkit-input-placeholder, +.mui-textfield > textarea::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::-moz-placeholder, +.mui-textfield > textarea::-moz-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input:-ms-input-placeholder, +.mui-textfield > textarea:-ms-input-placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input::placeholder, +.mui-textfield > textarea::placeholder { + color: rgba(0, 0, 0, 0.26); + opacity: 1; +} + +.mui-textfield > input { + height: 32px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > textarea { + min-height: 64px; +} + +.mui-textfield > textarea[rows]:not([rows="2"]):focus { + margin-bottom: -1px; +} + +.mui-textfield > input:focus { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):not(:required), +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + border-color: #F44336; + border-width: 2px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required), .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty, .mui-textfield > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required), +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty), +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) { + height: 33px; + margin-bottom: -1px; +} + +.mui-textfield > input:invalid:not(:focus):not(:required) ~ label, .mui-textfield > input:invalid:not(:focus):required.mui--is-not-empty ~ label, .mui-textfield > input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, .mui-textfield > input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):not(:required) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required.mui--is-not-empty ~ label, +.mui-textfield > textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:not(:required) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty) ~ label, +.mui-textfield > textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty) ~ label { + color: #F44336; +} + +.mui-textfield:not(.mui-textfield--float-label) > input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label, +.mui-textfield:not(.mui-textfield--float-label) > textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty ~ label { + color: #F44336; +} + +/** + * MUI Helpers module + */ +@keyframes mui-node-inserted { + from { + opacity: 0.99; + } + to { + opacity: 1; + } +} + +.mui--no-transition { + transition: none !important; +} + +.mui--no-user-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.mui-caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} + +.mui--text-left { + text-align: left !important; +} + +.mui--text-right { + text-align: right !important; +} + +.mui--text-center { + text-align: center !important; +} + +.mui--text-justify { + text-align: justify !important; +} + +.mui--text-nowrap { + white-space: nowrap !important; +} + +.mui--align-baseline { + vertical-align: baseline !important; +} + +.mui--align-top { + vertical-align: top !important; +} + +.mui--align-middle { + vertical-align: middle !important; +} + +.mui--align-bottom { + vertical-align: bottom !important; +} + +.mui--text-dark { + color: rgba(0, 0, 0, 0.87); +} + +.mui--text-dark-secondary { + color: rgba(0, 0, 0, 0.54); +} + +.mui--text-dark-hint { + color: rgba(0, 0, 0, 0.38); +} + +.mui--text-light { + color: #FFF; +} + +.mui--text-light-secondary { + color: rgba(255, 255, 255, 0.7); +} + +.mui--text-light-hint { + color: rgba(255, 255, 255, 0.3); +} + +.mui--text-accent { + color: rgba(255, 64, 129, 0.87); +} + +.mui--text-accent-secondary { + color: rgba(255, 64, 129, 0.54); +} + +.mui--text-accent-hint { + color: rgba(255, 64, 129, 0.38); +} + +.mui--text-black { + color: #000; +} + +.mui--text-white { + color: #FFF; +} + +.mui--text-danger { + color: #F44336; +} + +.mui-list--unstyled { + padding-left: 0; + list-style: none; +} + +.mui-list--inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} + +.mui-list--inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} + +.mui--z1, .mui-dropdown__menu, .mui-select__menu { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); +} + +.mui--z2 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z3 { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +.mui--z4 { + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} + +.mui--z5 { + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); +} + +.mui--clearfix:before, .mui--clearfix:after { + content: " "; + display: table; +} + +.mui--clearfix:after { + clear: both; +} + +.mui--pull-right { + float: right !important; +} + +.mui--pull-left { + float: left !important; +} + +.mui--hide { + display: none !important; +} + +.mui--show { + display: block !important; +} + +.mui--invisible { + visibility: hidden; +} + +.mui--overflow-hidden { + overflow: hidden !important; +} + +.mui--overflow-hidden-x { + overflow-x: hidden !important; +} + +.mui--overflow-hidden-y { + overflow-y: hidden !important; +} + +.mui--visible-xs-block, +.mui--visible-xs-inline, +.mui--visible-xs-inline-block, +.mui--visible-sm-block, +.mui--visible-sm-inline, +.mui--visible-sm-inline-block, +.mui--visible-md-block, +.mui--visible-md-inline, +.mui--visible-md-inline-block, +.mui--visible-lg-block, +.mui--visible-lg-inline, +.mui--visible-lg-inline-block, +.mui--visible-xl-block, +.mui--visible-xl-inline, +.mui--visible-xl-inline-block { + display: none !important; +} + +@media (max-width: 543px) { + .mui-visible-xs { + display: block !important; + } + table.mui-visible-xs { + display: table; + } + tr.mui-visible-xs { + display: table-row !important; + } + th.mui-visible-xs, + td.mui-visible-xs { + display: table-cell !important; + } + .mui--visible-xs-block { + display: block !important; + } + .mui--visible-xs-inline { + display: inline !important; + } + .mui--visible-xs-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui-visible-sm { + display: block !important; + } + table.mui-visible-sm { + display: table; + } + tr.mui-visible-sm { + display: table-row !important; + } + th.mui-visible-sm, + td.mui-visible-sm { + display: table-cell !important; + } + .mui--visible-sm-block { + display: block !important; + } + .mui--visible-sm-inline { + display: inline !important; + } + .mui--visible-sm-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui-visible-md { + display: block !important; + } + table.mui-visible-md { + display: table; + } + tr.mui-visible-md { + display: table-row !important; + } + th.mui-visible-md, + td.mui-visible-md { + display: table-cell !important; + } + .mui--visible-md-block { + display: block !important; + } + .mui--visible-md-inline { + display: inline !important; + } + .mui--visible-md-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui-visible-lg { + display: block !important; + } + table.mui-visible-lg { + display: table; + } + tr.mui-visible-lg { + display: table-row !important; + } + th.mui-visible-lg, + td.mui-visible-lg { + display: table-cell !important; + } + .mui--visible-lg-block { + display: block !important; + } + .mui--visible-lg-inline { + display: inline !important; + } + .mui--visible-lg-inline-block { + display: inline-block !important; + } +} + +@media (min-width: 1200px) { + .mui-visible-xl { + display: block !important; + } + table.mui-visible-xl { + display: table; + } + tr.mui-visible-xl { + display: table-row !important; + } + th.mui-visible-xl, + td.mui-visible-xl { + display: table-cell !important; + } + .mui--visible-xl-block { + display: block !important; + } + .mui--visible-xl-inline { + display: inline !important; + } + .mui--visible-xl-inline-block { + display: inline-block !important; + } +} + +@media (max-width: 543px) { + .mui--hidden-xs { + display: none !important; + } +} + +@media (min-width: 544px) and (max-width: 767px) { + .mui--hidden-sm { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .mui--hidden-md { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .mui--hidden-lg { + display: none !important; + } +} + +@media (min-width: 1200px) { + .mui--hidden-xl { + display: none !important; + } +} + +body.mui-body--scroll-lock { + overflow: hidden !important; +} + +/** + * MUI Overlay module + */ +#mui-overlay { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 99999999; + background-color: rgba(0, 0, 0, 0.2); + overflow: auto; +} + +/** + * MUI Ripple module + */ +.mui-ripple-effect { + position: absolute; + border-radius: 50%; + pointer-events: none; + opacity: 0; + animation: mui-ripple-animation 2s; +} + +@keyframes mui-ripple-animation { + from { + transform: scale(1); + opacity: 0.4; + } + to { + transform: scale(100); + opacity: 0; + } +} + +.mui-btn > .mui-ripple-effect { + background-color: #a6a6a6; +} + +.mui-btn--primary > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--dark > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--danger > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--accent > .mui-ripple-effect { + background-color: #FFF; +} + +.mui-btn--flat > .mui-ripple-effect { + background-color: #a6a6a6; +} + +/** + * MUI Typography module + */ +.mui--text-display4 { + font-weight: 300; + font-size: 112px; + line-height: 112px; +} + +.mui--text-display3 { + font-weight: 400; + font-size: 56px; + line-height: 56px; +} + +.mui--text-display2 { + font-weight: 400; + font-size: 45px; + line-height: 48px; +} + +.mui--text-display1, h1 { + font-weight: 400; + font-size: 34px; + line-height: 40px; +} + +.mui--text-headline, h2 { + font-weight: 400; + font-size: 24px; + line-height: 32px; +} + +.mui--text-title, h3 { + font-weight: 400; + font-size: 20px; + line-height: 28px; +} + +.mui--text-subhead, h4 { + font-weight: 400; + font-size: 16px; + line-height: 24px; +} + +.mui--text-body2, h5 { + font-weight: 500; + font-size: 14px; + line-height: 24px; +} + +.mui--text-body1 { + font-weight: 400; + font-size: 14px; + line-height: 20px; +} + +.mui--text-caption { + font-weight: 400; + font-size: 12px; + line-height: 16px; +} + +.mui--text-menu { + font-weight: 500; + font-size: 13px; + line-height: 17px; +} + +.mui--text-button { + font-weight: 500; + font-size: 14px; + line-height: 18px; + text-transform: uppercase; +} diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.min.css b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.min.css new file mode 100644 index 0000000..750f365 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/css/mui.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Arial,Verdana,Tahoma;font-size:14px;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);background-color:#FFF}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196F3;text-decoration:none}a:focus,a:hover{color:#1976D2;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}p{margin:0 0 10px}ol,ul{margin-top:0;margin-bottom:10px}figure{margin:0}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;height:1px;background-color:rgba(0,0,0,.12)}legend{display:block;width:100%;padding:0;margin-bottom:10px;font-size:21px;color:rgba(0,0,0,.87);line-height:inherit;border:0}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox]:focus,input[type=radio]:focus,input[type=file]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}strong{font-weight:700}abbr[title]{cursor:help;border-bottom:1px dotted #2196F3}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}.mui--appbar-height{height:56px}.mui--appbar-min-height,.mui-appbar{min-height:56px}.mui--appbar-line-height{line-height:56px}.mui--appbar-top{top:56px}@media (orientation:landscape) and (max-height:480px){.mui--appbar-height{height:48px}.mui--appbar-min-height,.mui-appbar{min-height:48px}.mui--appbar-line-height{line-height:48px}.mui--appbar-top{top:48px}}@media (min-width:480px){.mui--appbar-height{height:64px}.mui--appbar-min-height,.mui-appbar{min-height:64px}.mui--appbar-line-height{line-height:64px}.mui--appbar-top{top:64px}}.mui-appbar{background-color:#2196F3;color:#FFF}.mui-btn{animation-duration:.1ms;animation-name:mui-node-inserted;font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase;color:rgba(0,0,0,.87);background-color:#FFF;transition:all .2s ease-in-out;display:inline-block;height:36px;padding:0 26px;margin-top:6px;margin-bottom:6px;border:none;border-radius:2px;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;text-align:center;line-height:36px;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:14px;letter-spacing:.03em;position:relative;overflow:hidden}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{color:rgba(0,0,0,.87);background-color:#fff}.mui-btn[disabled]:active,.mui-btn[disabled]:focus,.mui-btn[disabled]:hover{color:rgba(0,0,0,.87);background-color:#FFF}.mui-btn.mui-btn--flat{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn.mui-btn--flat:active,.mui-btn.mui-btn--flat:focus,.mui-btn.mui-btn--flat:hover{color:rgba(0,0,0,.87);background-color:#f2f2f2}.mui-btn.mui-btn--flat[disabled]:active,.mui-btn.mui-btn--flat[disabled]:focus,.mui-btn.mui-btn--flat[disabled]:hover{color:rgba(0,0,0,.87);background-color:transparent}.mui-btn:active,.mui-btn:focus,.mui-btn:hover{outline:0;text-decoration:none;color:rgba(0,0,0,.87)}.mui-btn:focus,.mui-btn:hover{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:focus,.mui-btn:hover{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn.mui--is-disabled,.mui-btn:disabled{cursor:not-allowed;pointer-events:none;opacity:.6;box-shadow:none}.mui-btn+.mui-btn{margin-left:8px}.mui-btn--flat{background-color:transparent}.mui-btn--flat:active,.mui-btn--flat:focus,.mui-btn--flat:hover{box-shadow:none;background-color:#f2f2f2}.mui-btn--fab,.mui-btn--raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab,.mui-btn--raised{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}}.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-btn--fab:active,.mui-btn--raised:active{box-shadow:0 -1px 2px rgba(0,0,0,.12),-1px 0 2px rgba(0,0,0,.12),0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}}.mui-btn--fab{position:relative;padding:0;width:55px;height:55px;line-height:55px;border-radius:50%;z-index:1}.mui-btn--primary{color:#FFF;background-color:#2196F3}.mui-btn--primary:active,.mui-btn--primary:focus,.mui-btn--primary:hover{color:#FFF;background-color:#39a1f4}.mui-btn--primary[disabled]:active,.mui-btn--primary[disabled]:focus,.mui-btn--primary[disabled]:hover{color:#FFF;background-color:#2196F3}.mui-btn--primary.mui-btn--flat{color:#2196F3;background-color:transparent}.mui-btn--primary.mui-btn--flat:active,.mui-btn--primary.mui-btn--flat:focus,.mui-btn--primary.mui-btn--flat:hover{color:#2196F3;background-color:#f2f2f2}.mui-btn--primary.mui-btn--flat[disabled]:active,.mui-btn--primary.mui-btn--flat[disabled]:focus,.mui-btn--primary.mui-btn--flat[disabled]:hover{color:#2196F3;background-color:transparent}.mui-btn--dark{color:#FFF;background-color:#424242}.mui-btn--dark:active,.mui-btn--dark:focus,.mui-btn--dark:hover{color:#FFF;background-color:#4f4f4f}.mui-btn--dark[disabled]:active,.mui-btn--dark[disabled]:focus,.mui-btn--dark[disabled]:hover{color:#FFF;background-color:#424242}.mui-btn--dark.mui-btn--flat{color:#424242;background-color:transparent}.mui-btn--dark.mui-btn--flat:active,.mui-btn--dark.mui-btn--flat:focus,.mui-btn--dark.mui-btn--flat:hover{color:#424242;background-color:#f2f2f2}.mui-btn--dark.mui-btn--flat[disabled]:active,.mui-btn--dark.mui-btn--flat[disabled]:focus,.mui-btn--dark.mui-btn--flat[disabled]:hover{color:#424242;background-color:transparent}.mui-btn--danger{color:#FFF;background-color:#F44336}.mui-btn--danger:active,.mui-btn--danger:focus,.mui-btn--danger:hover{color:#FFF;background-color:#f55a4e}.mui-btn--danger[disabled]:active,.mui-btn--danger[disabled]:focus,.mui-btn--danger[disabled]:hover{color:#FFF;background-color:#F44336}.mui-btn--danger.mui-btn--flat{color:#F44336;background-color:transparent}.mui-btn--danger.mui-btn--flat:active,.mui-btn--danger.mui-btn--flat:focus,.mui-btn--danger.mui-btn--flat:hover{color:#F44336;background-color:#f2f2f2}.mui-btn--danger.mui-btn--flat[disabled]:active,.mui-btn--danger.mui-btn--flat[disabled]:focus,.mui-btn--danger.mui-btn--flat[disabled]:hover{color:#F44336;background-color:transparent}.mui-btn--accent{color:#FFF;background-color:#FF4081}.mui-btn--accent:active,.mui-btn--accent:focus,.mui-btn--accent:hover{color:#FFF;background-color:#ff5a92}.mui-btn--accent[disabled]:active,.mui-btn--accent[disabled]:focus,.mui-btn--accent[disabled]:hover{color:#FFF;background-color:#FF4081}.mui-btn--accent.mui-btn--flat{color:#FF4081;background-color:transparent}.mui-btn--accent.mui-btn--flat:active,.mui-btn--accent.mui-btn--flat:focus,.mui-btn--accent.mui-btn--flat:hover{color:#FF4081;background-color:#f2f2f2}.mui-btn--accent.mui-btn--flat[disabled]:active,.mui-btn--accent.mui-btn--flat[disabled]:focus,.mui-btn--accent.mui-btn--flat[disabled]:hover{color:#FF4081;background-color:transparent}.mui-btn--small{height:30.6px;line-height:30.6px;padding:0 16px;font-size:13px}.mui-btn--large{height:54px;line-height:54px;padding:0 26px;font-size:14px}.mui-btn--fab.mui-btn--small{width:44px;height:44px;line-height:44px}.mui-btn--fab.mui-btn--large{width:75px;height:75px;line-height:75px}.mui-checkbox,.mui-radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.mui-checkbox>label,.mui-radio>label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio],.mui-radio>label>input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.mui-checkbox+.mui-checkbox,.mui-radio+.mui-radio{margin-top:-5px}.mui-checkbox--inline,.mui-radio--inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.mui-checkbox--inline>input[type=checkbox],.mui-checkbox--inline>input[type=radio],.mui-checkbox--inline>label>input[type=checkbox],.mui-checkbox--inline>label>input[type=radio],.mui-radio--inline>input[type=checkbox],.mui-radio--inline>input[type=radio],.mui-radio--inline>label>input[type=checkbox],.mui-radio--inline>label>input[type=radio]{margin:4px 0 0;line-height:normal}.mui-checkbox--inline+.mui-checkbox--inline,.mui-radio--inline+.mui-radio--inline{margin-top:0;margin-left:10px}.mui-container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container:after,.mui-container:before{content:" ";display:table}.mui-container:after{clear:both}@media (min-width:544px){.mui-container{max-width:570px}}@media (min-width:768px){.mui-container{max-width:740px}}@media (min-width:992px){.mui-container{max-width:960px}}@media (min-width:1200px){.mui-container{max-width:1170px}}.mui-container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.mui-container-fluid:after,.mui-container-fluid:before{content:" ";display:table}.mui-container-fluid:after{clear:both}.mui-divider{display:block;height:1px;background-color:rgba(0,0,0,.12)}.mui--divider-top{border-top:1px solid rgba(0,0,0,.12)}.mui--divider-bottom{border-bottom:1px solid rgba(0,0,0,.12)}.mui--divider-left{border-left:1px solid rgba(0,0,0,.12)}.mui--divider-right{border-right:1px solid rgba(0,0,0,.12)}.mui-dropdown{display:inline-block;position:relative}[data-mui-toggle=dropdown]{animation-duration:.1ms;animation-name:mui-node-inserted;outline:0}.mui-dropdown__menu{position:absolute;top:100%;left:0;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#FFF;border-radius:2px;z-index:1;background-clip:padding-box}.mui-dropdown__menu.mui--is-open{display:block}.mui-dropdown__menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.429;color:rgba(0,0,0,.87);white-space:nowrap}.mui-dropdown__menu>li>a:focus,.mui-dropdown__menu>li>a:hover{text-decoration:none;color:rgba(0,0,0,.87);background-color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a,.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{color:#EEE}.mui-dropdown__menu>.mui--is-disabled>a:focus,.mui-dropdown__menu>.mui--is-disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.mui-dropdown__menu--right{left:auto;right:0}@media (min-width:544px){.mui-form--inline>.mui-textfield{display:inline-block;margin-bottom:0}.mui-form--inline>.mui-checkbox,.mui-form--inline>.mui-radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.mui-form--inline>.mui-checkbox>label,.mui-form--inline>.mui-radio>label{padding-left:0}.mui-form--inline>.mui-checkbox>label>input[type=checkbox],.mui-form--inline>.mui-radio>label>input[type=radio]{position:relative;margin-left:0}.mui-form--inline>.mui-select{display:inline-block}.mui-form--inline>.mui-btn{margin-bottom:0;margin-top:0;vertical-align:bottom}}.mui-row{margin-left:-15px;margin-right:-15px}.mui-row:after,.mui-row:before{content:" ";display:table}.mui-row:after{clear:both}.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9,.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9,.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{min-height:1px;padding-left:15px;padding-right:15px}.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{float:left}.mui-col-xs-1{width:8.33333%}.mui-col-xs-2{width:16.66667%}.mui-col-xs-3{width:25%}.mui-col-xs-4{width:33.33333%}.mui-col-xs-5{width:41.66667%}.mui-col-xs-6{width:50%}.mui-col-xs-7{width:58.33333%}.mui-col-xs-8{width:66.66667%}.mui-col-xs-9{width:75%}.mui-col-xs-10{width:83.33333%}.mui-col-xs-11{width:91.66667%}.mui-col-xs-12{width:100%}.mui-col-xs-offset-0{margin-left:0}.mui-col-xs-offset-1{margin-left:8.33333%}.mui-col-xs-offset-2{margin-left:16.66667%}.mui-col-xs-offset-3{margin-left:25%}.mui-col-xs-offset-4{margin-left:33.33333%}.mui-col-xs-offset-5{margin-left:41.66667%}.mui-col-xs-offset-6{margin-left:50%}.mui-col-xs-offset-7{margin-left:58.33333%}.mui-col-xs-offset-8{margin-left:66.66667%}.mui-col-xs-offset-9{margin-left:75%}.mui-col-xs-offset-10{margin-left:83.33333%}.mui-col-xs-offset-11{margin-left:91.66667%}.mui-col-xs-offset-12{margin-left:100%}@media (min-width:544px){.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9{float:left}.mui-col-sm-1{width:8.33333%}.mui-col-sm-2{width:16.66667%}.mui-col-sm-3{width:25%}.mui-col-sm-4{width:33.33333%}.mui-col-sm-5{width:41.66667%}.mui-col-sm-6{width:50%}.mui-col-sm-7{width:58.33333%}.mui-col-sm-8{width:66.66667%}.mui-col-sm-9{width:75%}.mui-col-sm-10{width:83.33333%}.mui-col-sm-11{width:91.66667%}.mui-col-sm-12{width:100%}.mui-col-sm-offset-0{margin-left:0}.mui-col-sm-offset-1{margin-left:8.33333%}.mui-col-sm-offset-2{margin-left:16.66667%}.mui-col-sm-offset-3{margin-left:25%}.mui-col-sm-offset-4{margin-left:33.33333%}.mui-col-sm-offset-5{margin-left:41.66667%}.mui-col-sm-offset-6{margin-left:50%}.mui-col-sm-offset-7{margin-left:58.33333%}.mui-col-sm-offset-8{margin-left:66.66667%}.mui-col-sm-offset-9{margin-left:75%}.mui-col-sm-offset-10{margin-left:83.33333%}.mui-col-sm-offset-11{margin-left:91.66667%}.mui-col-sm-offset-12{margin-left:100%}}@media (min-width:768px){.mui-col-md-1,.mui-col-md-10,.mui-col-md-11,.mui-col-md-12,.mui-col-md-2,.mui-col-md-3,.mui-col-md-4,.mui-col-md-5,.mui-col-md-6,.mui-col-md-7,.mui-col-md-8,.mui-col-md-9{float:left}.mui-col-md-1{width:8.33333%}.mui-col-md-2{width:16.66667%}.mui-col-md-3{width:25%}.mui-col-md-4{width:33.33333%}.mui-col-md-5{width:41.66667%}.mui-col-md-6{width:50%}.mui-col-md-7{width:58.33333%}.mui-col-md-8{width:66.66667%}.mui-col-md-9{width:75%}.mui-col-md-10{width:83.33333%}.mui-col-md-11{width:91.66667%}.mui-col-md-12{width:100%}.mui-col-md-offset-0{margin-left:0}.mui-col-md-offset-1{margin-left:8.33333%}.mui-col-md-offset-2{margin-left:16.66667%}.mui-col-md-offset-3{margin-left:25%}.mui-col-md-offset-4{margin-left:33.33333%}.mui-col-md-offset-5{margin-left:41.66667%}.mui-col-md-offset-6{margin-left:50%}.mui-col-md-offset-7{margin-left:58.33333%}.mui-col-md-offset-8{margin-left:66.66667%}.mui-col-md-offset-9{margin-left:75%}.mui-col-md-offset-10{margin-left:83.33333%}.mui-col-md-offset-11{margin-left:91.66667%}.mui-col-md-offset-12{margin-left:100%}}@media (min-width:992px){.mui-col-lg-1,.mui-col-lg-10,.mui-col-lg-11,.mui-col-lg-12,.mui-col-lg-2,.mui-col-lg-3,.mui-col-lg-4,.mui-col-lg-5,.mui-col-lg-6,.mui-col-lg-7,.mui-col-lg-8,.mui-col-lg-9{float:left}.mui-col-lg-1{width:8.33333%}.mui-col-lg-2{width:16.66667%}.mui-col-lg-3{width:25%}.mui-col-lg-4{width:33.33333%}.mui-col-lg-5{width:41.66667%}.mui-col-lg-6{width:50%}.mui-col-lg-7{width:58.33333%}.mui-col-lg-8{width:66.66667%}.mui-col-lg-9{width:75%}.mui-col-lg-10{width:83.33333%}.mui-col-lg-11{width:91.66667%}.mui-col-lg-12{width:100%}.mui-col-lg-offset-0{margin-left:0}.mui-col-lg-offset-1{margin-left:8.33333%}.mui-col-lg-offset-2{margin-left:16.66667%}.mui-col-lg-offset-3{margin-left:25%}.mui-col-lg-offset-4{margin-left:33.33333%}.mui-col-lg-offset-5{margin-left:41.66667%}.mui-col-lg-offset-6{margin-left:50%}.mui-col-lg-offset-7{margin-left:58.33333%}.mui-col-lg-offset-8{margin-left:66.66667%}.mui-col-lg-offset-9{margin-left:75%}.mui-col-lg-offset-10{margin-left:83.33333%}.mui-col-lg-offset-11{margin-left:91.66667%}.mui-col-lg-offset-12{margin-left:100%}}@media (min-width:1200px){.mui-col-xl-1,.mui-col-xl-10,.mui-col-xl-11,.mui-col-xl-12,.mui-col-xl-2,.mui-col-xl-3,.mui-col-xl-4,.mui-col-xl-5,.mui-col-xl-6,.mui-col-xl-7,.mui-col-xl-8,.mui-col-xl-9{float:left}.mui-col-xl-1{width:8.33333%}.mui-col-xl-2{width:16.66667%}.mui-col-xl-3{width:25%}.mui-col-xl-4{width:33.33333%}.mui-col-xl-5{width:41.66667%}.mui-col-xl-6{width:50%}.mui-col-xl-7{width:58.33333%}.mui-col-xl-8{width:66.66667%}.mui-col-xl-9{width:75%}.mui-col-xl-10{width:83.33333%}.mui-col-xl-11{width:91.66667%}.mui-col-xl-12{width:100%}.mui-col-xl-offset-0{margin-left:0}.mui-col-xl-offset-1{margin-left:8.33333%}.mui-col-xl-offset-2{margin-left:16.66667%}.mui-col-xl-offset-3{margin-left:25%}.mui-col-xl-offset-4{margin-left:33.33333%}.mui-col-xl-offset-5{margin-left:41.66667%}.mui-col-xl-offset-6{margin-left:50%}.mui-col-xl-offset-7{margin-left:58.33333%}.mui-col-xl-offset-8{margin-left:66.66667%}.mui-col-xl-offset-9{margin-left:75%}.mui-col-xl-offset-10{margin-left:83.33333%}.mui-col-xl-offset-11{margin-left:91.66667%}.mui-col-xl-offset-12{margin-left:100%}}.mui-panel{padding:15px;margin-bottom:20px;border-radius:0;background-color:#FFF;box-shadow:0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}.mui-panel:after,.mui-panel:before{content:" ";display:table}.mui-panel:after{clear:both}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-panel{box-shadow:0 -1px 2px 0 rgba(0,0,0,.12),-1px 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.16),0 0 2px 0 rgba(0,0,0,.12)}}.mui-select{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-select:focus{outline:0}.mui-select:focus>select{height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;height:32px;width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:0;border:none;border-bottom:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none;background-color:transparent;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNiIgd2lkdGg9IjEwIj48cG9seWdvbiBwb2ludHM9IjAsMCAxMCwwIDUsNiIgc3R5bGU9ImZpbGw6cmdiYSgwLDAsMCwuMjQpOyIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:right center;cursor:pointer;color:rgba(0,0,0,.87);font-size:16px;padding:0 25px 0 0}.mui-select>select::-ms-expand{display:none}.mui-select>select:focus{outline:0;height:33px;margin-bottom:-1px;border-color:#2196F3;border-width:2px}.mui-select>select:disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background-color:transparent;opacity:1}.mui-select__menu{position:absolute;z-index:2;min-width:100%;overflow-y:auto;padding:8px 0;background-color:#FFF;font-size:16px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.mui-select__menu{border-left:1px solid rgba(0,0,0,.12);border-top:1px solid rgba(0,0,0,.12)}}.mui-select__menu>div{padding:0 22px;height:42px;line-height:42px;cursor:pointer;white-space:nowrap}.mui-select__menu>div:hover{background-color:#E0E0E0}.mui-select__menu>div.mui--is-selected{background-color:#EEE}th{text-align:left}.mui-table{width:100%;max-width:100%;margin-bottom:20px}.mui-table>tbody>tr>td,.mui-table>tbody>tr>th,.mui-table>tfoot>tr>td,.mui-table>tfoot>tr>th,.mui-table>thead>tr>td,.mui-table>thead>tr>th{padding:10px;line-height:1.429}.mui-table>thead>tr>th{border-bottom:2px solid rgba(0,0,0,.12);font-weight:700}.mui-table>tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.mui-table.mui-table--bordered>tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.12)}.mui-tabs__bar{list-style:none;padding-left:0;margin-bottom:0;background-color:transparent;white-space:nowrap;overflow-x:auto}.mui-tabs__bar>li{display:inline-block}.mui-tabs__bar>li>a{display:block;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;color:rgba(0,0,0,.87);cursor:default;height:48px;line-height:48px;padding-left:24px;padding-right:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-tabs__bar>li>a:hover{text-decoration:none}.mui-tabs__bar>li.mui--is-active{border-bottom:2px solid #2196F3}.mui-tabs__bar>li.mui--is-active>a{color:#2196F3}.mui-tabs__bar.mui-tabs__bar--justified{display:table;width:100%;table-layout:fixed}.mui-tabs__bar.mui-tabs__bar--justified>li{display:table-cell}.mui-tabs__bar.mui-tabs__bar--justified>li>a{text-align:center;padding-left:0;padding-right:0}.mui-tabs__pane{display:none}.mui-tabs__pane.mui--is-active{display:block}[data-mui-toggle=tab]{animation-duration:.1ms;animation-name:mui-node-inserted}.mui-textfield{display:block;padding-top:15px;margin-bottom:20px;position:relative}.mui-textfield>label{position:absolute;top:0;display:block;width:100%;color:rgba(0,0,0,.54);font-size:12px;font-weight:400;line-height:15px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.mui-textfield>textarea{padding-top:5px}.mui-textfield>input,.mui-textfield>textarea{display:block}.mui-textfield>input:focus~label,.mui-textfield>textarea:focus~label{color:#2196F3}.mui-textfield--float-label>label{position:absolute;transform:translate(0,15px);font-size:16px;line-height:32px;color:rgba(0,0,0,.26);text-overflow:clip;cursor:text;pointer-events:none}.mui-textfield--float-label>input:focus~label,.mui-textfield--float-label>textarea:focus~label{transform:translate(0,0);font-size:12px;line-height:15px;text-overflow:ellipsis}.mui-textfield--float-label>input:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>input:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>input:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus).mui--is-not-empty~label,.mui-textfield--float-label>textarea:not(:focus):not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield--float-label>textarea:not(:focus)[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:rgba(0,0,0,.54);font-size:12px;line-height:15px;transform:translate(0,0);text-overflow:ellipsis}.mui-textfield--wrap-label{display:table;width:100%;padding-top:0}.mui-textfield--wrap-label:not(.mui-textfield--float-label)>label{display:table-header-group;position:static;white-space:normal;overflow-x:visible}.mui-textfield>input,.mui-textfield>textarea{animation-duration:.1ms;animation-name:mui-node-inserted;display:block;background-color:transparent;color:rgba(0,0,0,.87);border:none;border-bottom:1px solid rgba(0,0,0,.26);outline:0;width:100%;font-size:16px;padding:0;box-shadow:none;border-radius:0;background-image:none}.mui-textfield>input:focus,.mui-textfield>textarea:focus{border-color:#2196F3;border-width:2px}.mui-textfield>input:-moz-read-only,.mui-textfield>input:disabled,.mui-textfield>textarea:-moz-read-only,.mui-textfield>textarea:disabled{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input:disabled,.mui-textfield>input:read-only,.mui-textfield>textarea:disabled,.mui-textfield>textarea:read-only{cursor:not-allowed;background-color:transparent;opacity:1}.mui-textfield>input::-webkit-input-placeholder,.mui-textfield>textarea::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::-moz-placeholder,.mui-textfield>textarea::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input:-ms-input-placeholder,.mui-textfield>textarea:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input::placeholder,.mui-textfield>textarea::placeholder{color:rgba(0,0,0,.26);opacity:1}.mui-textfield>input{height:32px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>textarea{min-height:64px}.mui-textfield>textarea[rows]:not([rows="2"]):focus{margin-bottom:-1px}.mui-textfield>input:focus{height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):not(:required),.mui-textfield>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required),.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){border-color:#F44336;border-width:2px}.mui-textfield>input:invalid:not(:focus):not(:required),.mui-textfield>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:not(:required),.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty),.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty){height:33px;margin-bottom:-1px}.mui-textfield>input:invalid:not(:focus):not(:required)~label,.mui-textfield>input:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>input:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>input:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>input:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):not(:required)~label,.mui-textfield>textarea:invalid:not(:focus):required.mui--is-not-empty~label,.mui-textfield>textarea:invalid:not(:focus):required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:invalid:not(:focus):required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:not(:required)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required.mui--is-not-empty~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required:not(:empty):not(.mui--is-empty):not(.mui--is-not-empty)~label,.mui-textfield>textarea:not(:focus).mui--is-invalid:required[value]:not([value=""]):not(.mui--is-empty):not(.mui--is-not-empty)~label{color:#F44336}.mui-textfield:not(.mui-textfield--float-label)>input:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>input:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:invalid:not(:focus):required.mui--is-empty.mui--is-dirty~label,.mui-textfield:not(.mui-textfield--float-label)>textarea:not(:focus).mui--is-invalid:required.mui--is-empty.mui--is-dirty~label{color:#F44336}@keyframes mui-node-inserted{from{opacity:.99}to{opacity:1}}.mui--no-transition{transition:none!important}.mui--no-user-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mui-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.mui--text-left{text-align:left!important}.mui--text-right{text-align:right!important}.mui--text-center{text-align:center!important}.mui--text-justify{text-align:justify!important}.mui--text-nowrap{white-space:nowrap!important}.mui--align-baseline{vertical-align:baseline!important}.mui--align-top{vertical-align:top!important}.mui--align-middle{vertical-align:middle!important}.mui--align-bottom{vertical-align:bottom!important}.mui--text-dark{color:rgba(0,0,0,.87)}.mui--text-dark-secondary{color:rgba(0,0,0,.54)}.mui--text-dark-hint{color:rgba(0,0,0,.38)}.mui--text-light{color:#FFF}.mui--text-light-secondary{color:rgba(255,255,255,.7)}.mui--text-light-hint{color:rgba(255,255,255,.3)}.mui--text-accent{color:rgba(255,64,129,.87)}.mui--text-accent-secondary{color:rgba(255,64,129,.54)}.mui--text-accent-hint{color:rgba(255,64,129,.38)}.mui--text-black{color:#000}.mui--text-white{color:#FFF}.mui--text-danger{color:#F44336}.mui-list--unstyled{padding-left:0;list-style:none}.mui-list--inline{padding-left:0;list-style:none;margin-left:-5px}.mui-list--inline>li{display:inline-block;padding-left:5px;padding-right:5px}.mui--z1,.mui-dropdown__menu,.mui-select__menu{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.mui--z2{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.mui--z3{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.mui--z4{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.mui--z5{box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.mui--clearfix:after,.mui--clearfix:before{content:" ";display:table}.mui--clearfix:after{clear:both}.mui--pull-right{float:right!important}.mui--pull-left{float:left!important}.mui--hide{display:none!important}.mui--show{display:block!important}.mui--invisible{visibility:hidden}.mui--overflow-hidden{overflow:hidden!important}.mui--overflow-hidden-x{overflow-x:hidden!important}.mui--overflow-hidden-y{overflow-y:hidden!important}.mui--visible-lg-block,.mui--visible-lg-inline,.mui--visible-lg-inline-block,.mui--visible-md-block,.mui--visible-md-inline,.mui--visible-md-inline-block,.mui--visible-sm-block,.mui--visible-sm-inline,.mui--visible-sm-inline-block,.mui--visible-xl-block,.mui--visible-xl-inline,.mui--visible-xl-inline-block,.mui--visible-xs-block,.mui--visible-xs-inline,.mui--visible-xs-inline-block{display:none!important}@media (max-width:543px){.mui-visible-xs{display:block!important}table.mui-visible-xs{display:table}tr.mui-visible-xs{display:table-row!important}td.mui-visible-xs,th.mui-visible-xs{display:table-cell!important}.mui--visible-xs-block{display:block!important}.mui--visible-xs-inline{display:inline!important}.mui--visible-xs-inline-block{display:inline-block!important}}@media (min-width:544px) and (max-width:767px){.mui-visible-sm{display:block!important}table.mui-visible-sm{display:table}tr.mui-visible-sm{display:table-row!important}td.mui-visible-sm,th.mui-visible-sm{display:table-cell!important}.mui--visible-sm-block{display:block!important}.mui--visible-sm-inline{display:inline!important}.mui--visible-sm-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.mui-visible-md{display:block!important}table.mui-visible-md{display:table}tr.mui-visible-md{display:table-row!important}td.mui-visible-md,th.mui-visible-md{display:table-cell!important}.mui--visible-md-block{display:block!important}.mui--visible-md-inline{display:inline!important}.mui--visible-md-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.mui-visible-lg{display:block!important}table.mui-visible-lg{display:table}tr.mui-visible-lg{display:table-row!important}td.mui-visible-lg,th.mui-visible-lg{display:table-cell!important}.mui--visible-lg-block{display:block!important}.mui--visible-lg-inline{display:inline!important}.mui--visible-lg-inline-block{display:inline-block!important}}@media (min-width:1200px){.mui-visible-xl{display:block!important}table.mui-visible-xl{display:table}tr.mui-visible-xl{display:table-row!important}td.mui-visible-xl,th.mui-visible-xl{display:table-cell!important}.mui--visible-xl-block{display:block!important}.mui--visible-xl-inline{display:inline!important}.mui--visible-xl-inline-block{display:inline-block!important}}@media (max-width:543px){.mui--hidden-xs{display:none!important}}@media (min-width:544px) and (max-width:767px){.mui--hidden-sm{display:none!important}}@media (min-width:768px) and (max-width:991px){.mui--hidden-md{display:none!important}}@media (min-width:992px) and (max-width:1199px){.mui--hidden-lg{display:none!important}}@media (min-width:1200px){.mui--hidden-xl{display:none!important}}body.mui-body--scroll-lock{overflow:hidden!important}#mui-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;background-color:rgba(0,0,0,.2);overflow:auto}.mui-ripple-effect{position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation:mui-ripple-animation 2s}@keyframes mui-ripple-animation{from{transform:scale(1);opacity:.4}to{transform:scale(100);opacity:0}}.mui-btn>.mui-ripple-effect{background-color:#a6a6a6}.mui-btn--primary>.mui-ripple-effect{background-color:#FFF}.mui-btn--dark>.mui-ripple-effect{background-color:#FFF}.mui-btn--danger>.mui-ripple-effect{background-color:#FFF}.mui-btn--accent>.mui-ripple-effect{background-color:#FFF}.mui-btn--flat>.mui-ripple-effect{background-color:#a6a6a6}.mui--text-display4{font-weight:300;font-size:112px;line-height:112px}.mui--text-display3{font-weight:400;font-size:56px;line-height:56px}.mui--text-display2{font-weight:400;font-size:45px;line-height:48px}.mui--text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.mui--text-headline,h2{font-weight:400;font-size:24px;line-height:32px}.mui--text-title,h3{font-weight:400;font-size:20px;line-height:28px}.mui--text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.mui--text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.mui--text-body1{font-weight:400;font-size:14px;line-height:20px}.mui--text-caption{font-weight:400;font-size:12px;line-height:16px}.mui--text-menu{font-weight:500;font-size:13px;line-height:17px}.mui--text-button{font-weight:500;font-size:14px;line-height:18px;text-transform:uppercase} \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.js new file mode 100644 index 0000000..1d101ee --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.js @@ -0,0 +1,1809 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o viewHeight) { + scrollIdeal = (menuPadding + (currentIndex + 1) * optionHeight) - + (-1 * top + wrapperPadding + inputHeight); + scrollMax = numOptions * optionHeight + 2 * menuPadding - height; + scrollTop = Math.min(scrollIdeal, scrollMax); + } + + return { + 'height': height + 'px', + 'top': top + 'px', + 'scrollTop': scrollTop + }; +} + + +/** Define module API */ +module.exports = { + getMenuPositionalCSS: getMenuPositionalCSSFn +}; + +},{}],4:[function(require,module,exports){ +/** + * MUI CSS/JS jqLite module + * @module lib/jqLite + */ + +'use strict'; + + +/** + * Add a class to an element. + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteAddClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + if (existingClasses.indexOf(' ' + cssClass + ' ') === -1) { + existingClasses += cssClass + ' '; + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +/** + * Get or set CSS properties. + * @param {Element} element - The DOM element. + * @param {string} [name] - The property name. + * @param {string} [value] - The property value. + */ +function jqLiteCss(element, name, value) { + // Return full style object + if (name === undefined) { + return getComputedStyle(element); + } + + var nameType = jqLiteType(name); + + // Set multiple values + if (nameType === 'object') { + for (var key in name) element.style[_camelCase(key)] = name[key]; + return; + } + + // Set a single value + if (nameType === 'string' && value !== undefined) { + element.style[_camelCase(name)] = value; + } + + var styleObj = getComputedStyle(element), + isArray = (jqLiteType(name) === 'array'); + + // Read single value + if (!isArray) return _getCurrCssProp(element, name, styleObj); + + // Read multiple values + var outObj = {}, + key; + + for (var i=0; i < name.length; i++) { + key = name[i]; + outObj[key] = _getCurrCssProp(element, key, styleObj); + } + + return outObj; +} + + +/** + * Check if element has class. + * @param {Element} element - The DOM element. + * @param {string} cls - The class name string. + */ +function jqLiteHasClass(element, cls) { + if (!cls || !element.getAttribute) return false; + return (_getExistingClasses(element).indexOf(' ' + cls + ' ') > -1); +} + + +/** + * Return the type of a variable. + * @param {} somevar - The JavaScript variable. + */ +function jqLiteType(somevar) { + // handle undefined + if (somevar === undefined) return 'undefined'; + + // handle others (of type [object ]) + var typeStr = Object.prototype.toString.call(somevar); + if (typeStr.indexOf('[object ') === 0) { + return typeStr.slice(8, -1).toLowerCase(); + } else { + throw new Error("MUI: Could not understand type: " + typeStr); + } +} + + +/** + * Attach an event handler to a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOn(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // add to DOM + element.addEventListener(type, callback, useCapture); + + // add to cache + var cache = element._muiEventCache = element._muiEventCache || {}; + cache[type] = cache[type] || []; + cache[type].push([callback, useCapture]); +} + + +/** + * Remove an event handler from a DOM element + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOff(element, type, callback, useCapture) { + useCapture = (useCapture === undefined) ? false : useCapture; + + // remove from cache + var cache = element._muiEventCache = element._muiEventCache || {}, + argsList = cache[type] || [], + args, + i; + + i = argsList.length; + while (i--) { + args = argsList[i]; + + // remove all events if callback is undefined + if (callback === undefined || + (args[0] === callback && args[1] === useCapture)) { + + // remove from cache + argsList.splice(i, 1); + + // remove from DOM + element.removeEventListener(type, args[0], args[1]); + } + } +} + + +/** + * Attach an event hander which will only execute once + * @param {Element} element - The DOM element. + * @param {string} type - The event type name. + * @param {Function} callback - The callback function. + * @param {Boolean} useCapture - Use capture flag. + */ +function jqLiteOne(element, type, callback, useCapture) { + jqLiteOn(element, type, function onFn(ev) { + // execute callback + if (callback) callback.apply(this, arguments); + + // remove wrapper + jqLiteOff(element, type, onFn); + }, useCapture); +} + + +/** + * Get or set horizontal scroll position + * @param {Element} element - The DOM element + * @param {number} [value] - The scroll position + */ +function jqLiteScrollLeft(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0); + } else { + return element.scrollLeft; + } + } + + // set + if (element === win) win.scrollTo(value, jqLiteScrollTop(win)); + else element.scrollLeft = value; +} + + +/** + * Get or set vertical scroll position + * @param {Element} element - The DOM element + * @param {number} value - The scroll position + */ +function jqLiteScrollTop(element, value) { + var win = window; + + // get + if (value === undefined) { + if (element === win) { + var docEl = document.documentElement; + return (win.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); + } else { + return element.scrollTop; + } + } + + // set + if (element === win) win.scrollTo(jqLiteScrollLeft(win), value); + else element.scrollTop = value; +} + + +/** + * Return object representing top/left offset and element height/width. + * @param {Element} element - The DOM element. + */ +function jqLiteOffset(element) { + var win = window, + rect = element.getBoundingClientRect(), + scrollTop = jqLiteScrollTop(win), + scrollLeft = jqLiteScrollLeft(win); + + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft, + height: rect.height, + width: rect.width + }; +} + + +/** + * Attach a callback to the DOM ready event listener + * @param {Function} fn - The callback function. + */ +function jqLiteReady(fn) { + var done = false, + top = true, + doc = document, + win = doc.defaultView, + root = doc.documentElement, + add = doc.addEventListener ? 'addEventListener' : 'attachEvent', + rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent', + pre = doc.addEventListener ? '' : 'on'; + + var init = function(e) { + if (e.type == 'readystatechange' && doc.readyState != 'complete') { + return; + } + + (e.type == 'load' ? win : doc)[rem](pre + e.type, init, false); + if (!done && (done = true)) fn.call(win, e.type || e); + }; + + var poll = function() { + try { root.doScroll('left'); } catch(e) { setTimeout(poll, 50); return; } + init('poll'); + }; + + if (doc.readyState == 'complete') { + fn.call(win, 'lazy'); + } else { + if (doc.createEventObject && root.doScroll) { + try { top = !win.frameElement; } catch(e) { } + if (top) poll(); + } + doc[add](pre + 'DOMContentLoaded', init, false); + doc[add](pre + 'readystatechange', init, false); + win[add](pre + 'load', init, false); + } +} + + +/** + * Remove classes from a DOM element + * @param {Element} element - The DOM element. + * @param {string} cssClasses - Space separated list of class names. + */ +function jqLiteRemoveClass(element, cssClasses) { + if (!cssClasses || !element.setAttribute) return; + + var existingClasses = _getExistingClasses(element), + splitClasses = cssClasses.split(' '), + cssClass; + + for (var i=0; i < splitClasses.length; i++) { + cssClass = splitClasses[i].trim(); + while (existingClasses.indexOf(' ' + cssClass + ' ') >= 0) { + existingClasses = existingClasses.replace(' ' + cssClass + ' ', ' '); + } + } + + element.setAttribute('class', existingClasses.trim()); +} + + +// ------------------------------ +// Utilities +// ------------------------------ +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g, + MOZ_HACK_REGEXP = /^moz([A-Z])/, + ESCAPE_REGEXP = /([.*+?^=!:${}()|\[\]\/\\])/g, + BOOLEAN_ATTRS; + + +BOOLEAN_ATTRS = { + multiple: true, + selected: true, + checked: true, + disabled: true, + readonly: true, + required: true, + open: true +} + + +function _getExistingClasses(element) { + var classes = (element.getAttribute('class') || '').replace(/[\n\t]/g, ''); + return ' ' + classes + ' '; +} + + +function _camelCase(name) { + return name. + replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { + return offset ? letter.toUpperCase() : letter; + }). + replace(MOZ_HACK_REGEXP, 'Moz$1'); +} + + +function _escapeRegExp(string) { + return string.replace(ESCAPE_REGEXP, "\\$1"); +} + + +function _getCurrCssProp(elem, name, computed) { + var ret; + + // try computed style + ret = computed.getPropertyValue(name); + + // try style attribute (if element is not attached to document) + if (ret === '' && !elem.ownerDocument) ret = elem.style[_camelCase(name)]; + + return ret; +} + + +/** + * Module API + */ +module.exports = { + /** Add classes */ + addClass: jqLiteAddClass, + + /** Get or set CSS properties */ + css: jqLiteCss, + + /** Check for class */ + hasClass: jqLiteHasClass, + + /** Remove event handlers */ + off: jqLiteOff, + + /** Return offset values */ + offset: jqLiteOffset, + + /** Add event handlers */ + on: jqLiteOn, + + /** Add an execute-once event handler */ + one: jqLiteOne, + + /** DOM ready event handler */ + ready: jqLiteReady, + + /** Remove classes */ + removeClass: jqLiteRemoveClass, + + /** Check JavaScript variable instance type */ + type: jqLiteType, + + /** Get or set horizontal scroll position */ + scrollLeft: jqLiteScrollLeft, + + /** Get or set vertical scroll position */ + scrollTop: jqLiteScrollTop +}; + +},{}],5:[function(require,module,exports){ +/** + * MUI CSS/JS utilities module + * @module lib/util + */ + +'use strict'; + + +var config = require('../config'), + jqLite = require('./jqLite'), + nodeInsertedCallbacks = [], + scrollLock = 0, + scrollLockCls = 'mui-body--scroll-lock', + scrollLockPos, + _supportsPointerEvents; + + +/** + * Logging function + */ +function logFn() { + var win = window; + + if (config.debug && typeof win.console !== "undefined") { + try { + win.console.log.apply(win.console, arguments); + } catch (a) { + var e = Array.prototype.slice.call(arguments); + win.console.log(e.join("\n")); + } + } +} + + +/** + * Load CSS text in new stylesheet + * @param {string} cssText - The css text. + */ +function loadStyleFn(cssText) { + var doc = document, + head; + + // copied from jQuery + head = doc.head || + doc.getElementsByTagName('head')[0] || + doc.documentElement; + + var e = doc.createElement('style'); + e.type = 'text/css'; + + if (e.styleSheet) e.styleSheet.cssText = cssText; + else e.appendChild(doc.createTextNode(cssText)); + + // add to document + head.insertBefore(e, head.firstChild); + + return e; +} + + +/** + * Raise an error + * @param {string} msg - The error message. + */ +function raiseErrorFn(msg, useConsole) { + if (useConsole) { + if (typeof console !== 'undefined') console.error('MUI Warning: ' + msg); + } else { + throw new Error('MUI: ' + msg); + } +} + + +/** + * Register callbacks on muiNodeInserted event + * @param {function} callbackFn - The callback function. + */ +function onNodeInsertedFn(callbackFn) { + nodeInsertedCallbacks.push(callbackFn); + + // initalize listeners + if (nodeInsertedCallbacks._initialized === undefined) { + var doc = document; + + jqLite.on(doc, 'animationstart', animationHandlerFn); + jqLite.on(doc, 'mozAnimationStart', animationHandlerFn); + jqLite.on(doc, 'webkitAnimationStart', animationHandlerFn); + + nodeInsertedCallbacks._initialized = true; + } +} + + +/** + * Execute muiNodeInserted callbacks + * @param {Event} ev - The DOM event. + */ +function animationHandlerFn(ev) { + // check animation name + if (ev.animationName !== 'mui-node-inserted') return; + + var el = ev.target; + + // iterate through callbacks + for (var i=nodeInsertedCallbacks.length - 1; i >= 0; i--) { + nodeInsertedCallbacks[i](el); + } +} + + +/** + * Convert Classname object, with class as key and true/false as value, to an + * class string. + * @param {Object} classes The classes + * @return {String} class string + */ +function classNamesFn(classes) { + var cs = ''; + for (var i in classes) { + cs += (classes[i]) ? i + ' ' : ''; + } + return cs.trim(); +} + + +/** + * Check if client supports pointer events. + */ +function supportsPointerEventsFn() { + // check cache + if (_supportsPointerEvents !== undefined) return _supportsPointerEvents; + + var element = document.createElement('x'); + element.style.cssText = 'pointer-events:auto'; + _supportsPointerEvents = (element.style.pointerEvents === 'auto'); + return _supportsPointerEvents; +} + + +/** + * Create callback closure. + * @param {Object} instance - The object instance. + * @param {String} funcName - The name of the callback function. + */ +function callbackFn(instance, funcName) { + return function() {instance[funcName].apply(instance, arguments);}; +} + + +/** + * Dispatch event. + * @param {Element} element - The DOM element. + * @param {String} eventType - The event type. + * @param {Boolean} bubbles=true - If true, event bubbles. + * @param {Boolean} cancelable=true = If true, event is cancelable + * @param {Object} [data] - Data to add to event object + */ +function dispatchEventFn(element, eventType, bubbles, cancelable, data) { + var ev = document.createEvent('HTMLEvents'), + bubbles = (bubbles !== undefined) ? bubbles : true, + cancelable = (cancelable !== undefined) ? cancelable : true, + k; + + ev.initEvent(eventType, bubbles, cancelable); + + // add data to event object + if (data) for (k in data) ev[k] = data[k]; + + // dispatch + if (element) element.dispatchEvent(ev); + + return ev; +} + + +/** + * Turn on window scroll lock. + */ +function enableScrollLockFn() { + // increment counter + scrollLock += 1 + + // add lock + if (scrollLock === 1) { + var win = window, + doc = document; + + scrollLockPos = {left: jqLite.scrollLeft(win), top: jqLite.scrollTop(win)}; + jqLite.addClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Turn off window scroll lock. + */ +function disableScrollLockFn() { + // ignore + if (scrollLock === 0) return; + + // decrement counter + scrollLock -= 1 + + // remove lock + if (scrollLock === 0) { + var win = window, + doc = document; + + jqLite.removeClass(doc.body, scrollLockCls); + win.scrollTo(scrollLockPos.left, scrollLockPos.top); + } +} + + +/** + * Define the module API + */ +module.exports = { + /** Create callback closures */ + callback: callbackFn, + + /** Classnames object to string */ + classNames: classNamesFn, + + /** Disable scroll lock */ + disableScrollLock: disableScrollLockFn, + + /** Dispatch event */ + dispatchEvent: dispatchEventFn, + + /** Enable scroll lock */ + enableScrollLock: enableScrollLockFn, + + /** Log messages to the console when debug is turned on */ + log: logFn, + + /** Load CSS text as new stylesheet */ + loadStyle: loadStyleFn, + + /** Register muiNodeInserted handler */ + onNodeInserted: onNodeInsertedFn, + + /** Raise MUI error */ + raiseError: raiseErrorFn, + + /** Support Pointer Events check */ + supportsPointerEvents: supportsPointerEventsFn +}; + +},{"../config":2,"./jqLite":4}],6:[function(require,module,exports){ +/** + * MUI CSS/JS dropdown module + * @module dropdowns + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[data-mui-toggle="dropdown"]', + openClass = 'mui--is-open', + menuClass = 'mui-dropdown__menu'; + + +/** + * Initialize toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiDropdown === true) return; + else toggleEl._muiDropdown = true; + + // use type "button" to prevent form submission by default + if (!toggleEl.hasAttribute('type')) toggleEl.type = 'button'; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle click events on dropdown toggle element. + * @param {Event} ev - The DOM event + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle button is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + // toggle dropdown + toggleDropdown(toggleEl); +} + + +/** + * Toggle the dropdown. + * @param {Element} toggleEl - The dropdown toggle element. + */ +function toggleDropdown(toggleEl) { + var wrapperEl = toggleEl.parentNode, + menuEl = toggleEl.nextElementSibling, + doc = wrapperEl.ownerDocument; + + // exit if no menu element + if (!menuEl || !jqLite.hasClass(menuEl, menuClass)) { + return util.raiseError('Dropdown menu element not found'); + } + + // method to close dropdown + function closeDropdownFn() { + jqLite.removeClass(menuEl, openClass); + + // remove event handlers + jqLite.off(doc, 'click', closeDropdownFn); + } + + // method to open dropdown + function openDropdownFn() { + // position menu element below toggle button + var wrapperRect = wrapperEl.getBoundingClientRect(), + toggleRect = toggleEl.getBoundingClientRect(); + + var top = toggleRect.top - wrapperRect.top + toggleRect.height; + jqLite.css(menuEl, 'top', top + 'px'); + + // add open class to wrapper + jqLite.addClass(menuEl, openClass); + + // close dropdown when user clicks outside of menu + setTimeout(function() {jqLite.on(doc, 'click', closeDropdownFn);}, 0); + } + + // toggle dropdown + if (jqLite.hasClass(menuEl, openClass)) closeDropdownFn(); + else openDropdownFn(); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'dropdown') initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],7:[function(require,module,exports){ +module.exports=require(4) +},{}],8:[function(require,module,exports){ +/** + * MUI CSS/JS overlay module + * @module overlay + */ + +'use strict'; + + +var util = require('./lib/util'), + jqLite = require('./lib/jqLite'), + overlayId = 'mui-overlay', + bodyClass = 'mui--overflow-hidden', + iosRegex = /(iPad|iPhone|iPod)/g; + + +/** + * Turn overlay on/off. + * @param {string} action - Turn overlay "on"/"off". + * @param {object} [options] + * @config {boolean} [keyboard] - If true, close when escape key is pressed. + * @config {boolean} [static] - If false, close when backdrop is clicked. + * @config {Function} [onclose] - Callback function to execute on close + * @param {Element} [childElement] - Child element to add to overlay. + */ +function overlayFn(action) { + var overlayEl; + + if (action === 'on') { + // extract arguments + var arg, options, childElement; + + // pull options and childElement from arguments + for (var i=arguments.length - 1; i > 0; i--) { + arg = arguments[i]; + + if (jqLite.type(arg) === 'object') options = arg; + if (arg instanceof Element && arg.nodeType === 1) childElement = arg; + } + + // option defaults + options = options || {}; + if (options.keyboard === undefined) options.keyboard = true; + if (options.static === undefined) options.static = false; + + // execute method + overlayEl = overlayOn(options, childElement); + + } else if (action === 'off') { + overlayEl = overlayOff(); + + } else { + // raise error + util.raiseError("Expecting 'on' or 'off'"); + } + + return overlayEl; +} + + +/** + * Turn on overlay. + * @param {object} options - Overlay options. + * @param {Element} childElement - The child element. + */ +function overlayOn(options, childElement) { + var bodyEl = document.body, + overlayEl = document.getElementById(overlayId); + + // add overlay + util.enableScrollLock(); + //jqLite.addClass(bodyEl, bodyClass); + + if (!overlayEl) { + // create overlayEl + overlayEl = document.createElement('div'); + overlayEl.setAttribute('id', overlayId); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + + bodyEl.appendChild(overlayEl); + + } else { + // remove existing children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // add child element + if (childElement) overlayEl.appendChild(childElement); + } + + // iOS bugfix + if (iosRegex.test(navigator.userAgent)) { + jqLite.css(overlayEl, 'cursor', 'pointer'); + } + + // handle options + if (options.keyboard) addKeyupHandler(); + else removeKeyupHandler(); + + if (options.static) removeClickHandler(overlayEl); + else addClickHandler(overlayEl); + + // attach options + overlayEl.muiOptions = options; + + return overlayEl; +} + + +/** + * Turn off overlay. + */ +function overlayOff() { + var overlayEl = document.getElementById(overlayId), + callbackFn; + + if (overlayEl) { + // remove children + while (overlayEl.firstChild) overlayEl.removeChild(overlayEl.firstChild); + + // remove overlay element + overlayEl.parentNode.removeChild(overlayEl); + + // callback reference + callbackFn = overlayEl.muiOptions.onclose; + + // remove click handler + removeClickHandler(overlayEl); + } + + util.disableScrollLock(); + + // remove keyup handler + removeKeyupHandler(); + + // execute callback + if (callbackFn) callbackFn(); + + return overlayEl; +} + + +/** + * Add keyup handler. + */ +function addKeyupHandler() { + jqLite.on(document, 'keyup', onKeyup); +} + + +/** + * Remove keyup handler. + */ +function removeKeyupHandler() { + jqLite.off(document, 'keyup', onKeyup); +} + + +/** + * Teardown overlay when escape key is pressed. + */ +function onKeyup(ev) { + if (ev.keyCode === 27) overlayOff(); +} + + +/** + * Add click handler. + */ +function addClickHandler(overlayEl) { + jqLite.on(overlayEl, 'click', onClick); +} + + +/** + * Remove click handler. + */ +function removeClickHandler(overlayEl) { + jqLite.off(overlayEl, 'click', onClick); +} + + +/** + * Teardown overlay when backdrop is clicked. + */ +function onClick(ev) { + if (ev.target.id === overlayId) overlayOff(); +} + + +/** Define module API */ +module.exports = overlayFn; + +},{"./lib/jqLite":4,"./lib/util":5}],9:[function(require,module,exports){ +/** + * MUI CSS/JS ripple module + * @module ripple + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + btnClass = 'mui-btn', + btnFABClass = 'mui-btn--fab', + rippleClass = 'mui-ripple-effect', + animationName = 'mui-btn-inserted'; + + +/** + * Add ripple effects to button element. + * @param {Element} buttonEl - The button element. + */ +function initialize(buttonEl) { + // check flag + if (buttonEl._muiRipple === true) return; + else buttonEl._muiRipple = true; + + // exit if element is INPUT (doesn't support absolute positioned children) + if (buttonEl.tagName === 'INPUT') return; + + // attach event handler + jqLite.on(buttonEl, 'touchstart', eventHandler); + jqLite.on(buttonEl, 'mousedown', eventHandler); +} + + +/** + * Event handler + * @param {Event} ev - The DOM event + */ +function eventHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var buttonEl = this; + + // exit if button is disabled + if (buttonEl.disabled === true) return; + + // de-dupe touchstart and mousedown with 100msec flag + if (buttonEl.touchFlag === true) { + return; + } else { + buttonEl.touchFlag = true; + setTimeout(function() { + buttonEl.touchFlag = false; + }, 100); + } + + var rippleEl = document.createElement('div'); + rippleEl.className = rippleClass; + + var offset = jqLite.offset(buttonEl), + xPos = ev.pageX - offset.left, + yPos = ev.pageY - offset.top, + diameter, + radius; + + // get height + if (jqLite.hasClass(buttonEl, btnFABClass)) diameter = offset.height / 2; + else diameter = offset.height; + + radius = diameter / 2; + + jqLite.css(rippleEl, { + height: diameter + 'px', + width: diameter + 'px', + top: yPos - radius + 'px', + left: xPos - radius + 'px' + }); + + buttonEl.appendChild(rippleEl); + + window.setTimeout(function() { + var parentNode = rippleEl.parentNode; + if (parentNode) parentNode.removeChild(rippleEl); + }, 2000); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.getElementsByClassName(btnClass); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (jqLite.hasClass(el, btnClass)) initialize(el); + }); + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],10:[function(require,module,exports){ +/** + * MUI CSS/JS select module + * @module forms/select + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + formlib = require('./lib/forms'), + wrapperClass = 'mui-select', + cssSelector = '.mui-select > select', + menuClass = 'mui-select__menu', + selectedClass = 'mui--is-selected', + doc = document, + win = window; + + +/** + * Initialize select element. + * @param {Element} selectEl - The select element. + */ +function initialize(selectEl) { + // check flag + if (selectEl._muiSelect === true) return; + else selectEl._muiSelect = true; + + // use default behavior on touch devices + if ('ontouchstart' in doc.documentElement) return; + + // initialize element + new Select(selectEl); +} + + +/** + * Creates a new Select object + * @class + */ +function Select(selectEl) { + // instance variables + this.selectEl = selectEl; + this.wrapperEl = selectEl.parentNode; + this.useDefault = false; // currently unused but let's keep just in case + + // attach event handlers + jqLite.on(selectEl, 'mousedown', util.callback(this, 'mousedownHandler')); + jqLite.on(selectEl, 'focus', util.callback(this, 'focusHandler')); + jqLite.on(selectEl, 'click', util.callback(this, 'clickHandler')); + + // make wrapper focusable and fix firefox bug + this.wrapperEl.tabIndex = -1; + var callbackFn = util.callback(this, 'wrapperFocusHandler'); + jqLite.on(this.wrapperEl, 'focus', callbackFn); +} + + +/** + * Disable default dropdown on mousedown. + * @param {Event} ev - The DOM event + */ +Select.prototype.mousedownHandler = function(ev) { + if (ev.button !== 0 || this.useDefault === true) return; + ev.preventDefault(); +} + + +/** + * Handle focus event on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.focusHandler = function(ev) { + // check flag + if (this.useDefault === true) return; + + var selectEl = this.selectEl, + wrapperEl = this.wrapperEl, + origIndex = selectEl.tabIndex, + keydownFn = util.callback(this, 'keydownHandler'); + + // attach keydown handler + jqLite.on(doc, 'keydown', keydownFn); + + // disable tabfocus once + selectEl.tabIndex = -1; + jqLite.one(wrapperEl, 'blur', function() { + selectEl.tabIndex = origIndex; + jqLite.off(doc, 'keydown', keydownFn); + }); + + // defer focus to parent + wrapperEl.focus(); +} + + +/** + * Handle keydown events on doc + **/ +Select.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // spacebar, down, up + if (keyCode === 32 || keyCode === 38 || keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.selectEl.disabled !== true) this.renderMenu(); + } +} + + +/** + * Handle focus event on wrapper element. + */ +Select.prototype.wrapperFocusHandler = function() { + // firefox bugfix + if (this.selectEl.disabled) return this.wrapperEl.blur(); +} + + +/** + * Handle click events on select element. + * @param {Event} ev - The DOM event + */ +Select.prototype.clickHandler = function(ev) { + // only left clicks + if (ev.button !== 0) return; + this.renderMenu(); +} + + +/** + * Render options dropdown. + */ +Select.prototype.renderMenu = function() { + // check and reset flag + if (this.useDefault === true) return this.useDefault = false; + + new Menu(this.wrapperEl, this.selectEl); +} + + +/** + * Creates a new Menu + * @class + */ +function Menu(wrapperEl, selectEl) { + // add scroll lock + util.enableScrollLock(); + + // instance variables + this.origIndex = null; + this.currentIndex = null; + this.selectEl = selectEl; + this.menuEl = this._createMenuEl(wrapperEl, selectEl); + this.clickCallbackFn = util.callback(this, 'clickHandler'); + this.keydownCallbackFn = util.callback(this, 'keydownHandler'); + this.destroyCallbackFn = util.callback(this, 'destroy'); + + // add to DOM + wrapperEl.appendChild(this.menuEl); + jqLite.scrollTop(this.menuEl, this.menuEl._muiScrollTop); + + // blur active element + setTimeout(function() { + // ie10 bugfix + if (doc.activeElement.nodeName.toLowerCase() !== "body") { + doc.activeElement.blur(); + } + }, 0); + + // attach event handlers + jqLite.on(this.menuEl, 'click', this.clickCallbackFn); + jqLite.on(doc, 'keydown', this.keydownCallbackFn); + jqLite.on(win, 'resize', this.destroyCallbackFn); + + // attach event handler after current event loop exits + var fn = this.destroyCallbackFn; + setTimeout(function() {jqLite.on(doc, 'click', fn);}, 0); +} + + +/** + * Create menu element + * @param {Element} selectEl - The select element + */ +Menu.prototype._createMenuEl = function(wrapperEl, selectEl) { + var menuEl = doc.createElement('div'), + optionEls = selectEl.children, + numOptions = optionEls.length, + selectedPos = 0, + optionEl, + itemEl, + i; + + menuEl.className = menuClass; + + // add options + for (i=0; i < numOptions; i++) { + optionEl = optionEls[i]; + + itemEl = doc.createElement('div'); + itemEl.textContent = optionEl.textContent; + itemEl._muiPos = i; + + if (optionEl.selected) { + itemEl.setAttribute('class', selectedClass); + selectedPos = i; + } + + menuEl.appendChild(itemEl); + } + + // save indices + this.origIndex = selectedPos; + this.currentIndex = selectedPos; + + // set position + var props = formlib.getMenuPositionalCSS( + wrapperEl, + numOptions, + selectedPos + ); + + jqLite.css(menuEl, props); + menuEl._muiScrollTop = props.scrollTop; + + return menuEl; +} + + +/** + * Handle keydown events on doc element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.keydownHandler = function(ev) { + var keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) { + this.destroy(); + } else if (keyCode === 40) { + this.increment(); + } else if (keyCode === 38) { + this.decrement(); + } else if (keyCode === 13) { + this.selectCurrent(); + this.destroy(); + } +} + + +/** + * Handle click events on menu element. + * @param {Event} ev - The DOM event + */ +Menu.prototype.clickHandler = function(ev) { + // don't allow events to bubble + ev.stopPropagation(); + + var pos = ev.target._muiPos; + + // ignore clicks on non-items + if (pos === undefined) return; + + // select option + this.currentIndex = pos; + this.selectCurrent(); + + // destroy menu + this.destroy(); +} + + +/** + * Increment selected item + */ +Menu.prototype.increment = function() { + if (this.currentIndex === this.menuEl.children.length - 1) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex += 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Decrement selected item + */ +Menu.prototype.decrement = function() { + if (this.currentIndex === 0) return; + + var optionEls = this.menuEl.children; + + jqLite.removeClass(optionEls[this.currentIndex], selectedClass); + this.currentIndex -= 1; + jqLite.addClass(optionEls[this.currentIndex], selectedClass); +} + + +/** + * Select current item + */ +Menu.prototype.selectCurrent = function() { + if (this.currentIndex !== this.origIndex) { + var optionEls = this.selectEl.children; + optionEls[this.origIndex].selected = false; + optionEls[this.currentIndex].selected = true; + + // trigger change event + util.dispatchEvent(this.selectEl, 'change'); + } +} + + +/** + * Destroy menu and detach event handlers + */ +Menu.prototype.destroy = function() { + // remove element and focus element + var parentNode = this.menuEl.parentNode; + if (parentNode) parentNode.removeChild(this.menuEl); + + this.selectEl.focus(); + + // remove scroll lock + util.disableScrollLock(); + + // remove event handlers + jqLite.off(this.menuEl, 'click', this.clickCallbackFn); + jqLite.off(doc, 'keydown', this.keydownCallbackFn); + jqLite.off(doc, 'click', this.destroyCallbackFn); + jqLite.off(win, 'resize', this.destroyCallbackFn); +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'SELECT' && + jqLite.hasClass(el.parentNode, wrapperClass)) { + initialize(el); + } + }); + } +}; + +},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(require,module,exports){ +/** + * MUI CSS/JS tabs module + * @module tabs + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + attrKey = 'data-mui-toggle', + attrSelector = '[' + attrKey + '="tab"]', + controlsAttrKey = 'data-mui-controls', + activeClass = 'mui--is-active', + showstartKey = 'mui.tabs.showstart', + showendKey = 'mui.tabs.showend', + hidestartKey = 'mui.tabs.hidestart', + hideendKey = 'mui.tabs.hideend'; + + +/** + * Initialize the toggle element + * @param {Element} toggleEl - The toggle element. + */ +function initialize(toggleEl) { + // check flag + if (toggleEl._muiTabs === true) return; + else toggleEl._muiTabs = true; + + // attach click handler + jqLite.on(toggleEl, 'click', clickHandler); +} + + +/** + * Handle clicks on the toggle element. + * @param {Event} ev - The DOM event. + */ +function clickHandler(ev) { + // only left clicks + if (ev.button !== 0) return; + + var toggleEl = this; + + // exit if toggle element is disabled + if (toggleEl.getAttribute('disabled') !== null) return; + + activateTab(toggleEl); +} + + +/** + * Activate the tab controlled by the toggle element. + * @param {Element} toggleEl - The toggle element. + */ +function activateTab(currToggleEl) { + var currTabEl = currToggleEl.parentNode, + currPaneId = currToggleEl.getAttribute(controlsAttrKey), + currPaneEl = document.getElementById(currPaneId), + prevTabEl, + prevPaneEl, + prevPaneId, + prevToggleEl, + currData, + prevData, + ev1, + ev2, + cssSelector; + + // exit if already active + if (jqLite.hasClass(currTabEl, activeClass)) return; + + // raise error if pane doesn't exist + if (!currPaneEl) util.raiseError('Tab pane "' + currPaneId + '" not found'); + + // get previous pane + prevPaneEl = getActiveSibling(currPaneEl); + prevPaneId = prevPaneEl.id; + + // get previous toggle and tab elements + cssSelector = '[' + controlsAttrKey + '="' + prevPaneId + '"]'; + prevToggleEl = document.querySelectorAll(cssSelector)[0]; + prevTabEl = prevToggleEl.parentNode; + + // define event data + currData = {paneId: currPaneId, relatedPaneId: prevPaneId}; + prevData = {paneId: prevPaneId, relatedPaneId: currPaneId}; + + // dispatch 'hidestart', 'showstart' events + ev1 = util.dispatchEvent(prevToggleEl, hidestartKey, true, true, prevData); + ev2 = util.dispatchEvent(currToggleEl, showstartKey, true, true, currData); + + // let events bubble + setTimeout(function() { + // exit if either event was canceled + if (ev1.defaultPrevented || ev2.defaultPrevented) return; + + // de-activate previous + if (prevTabEl) jqLite.removeClass(prevTabEl, activeClass); + if (prevPaneEl) jqLite.removeClass(prevPaneEl, activeClass); + + // activate current + jqLite.addClass(currTabEl, activeClass); + jqLite.addClass(currPaneEl, activeClass); + + // dispatch 'hideend', 'showend' events + util.dispatchEvent(prevToggleEl, hideendKey, true, false, prevData); + util.dispatchEvent(currToggleEl, showendKey, true, false, currData); + }, 0); +} + + +/** + * Get previous active sibling. + * @param {Element} el - The anchor element. + */ +function getActiveSibling(el) { + var elList = el.parentNode.children, + q = elList.length, + activeEl = null, + tmpEl; + + while (q-- && !activeEl) { + tmpEl = elList[q]; + if (tmpEl !== el && jqLite.hasClass(tmpEl, activeClass)) activeEl = tmpEl + } + + return activeEl; +} + + +/** Define module API */ +module.exports = { + /** Initialize module listeners */ + initListeners: function() { + // markup elements available when method is called + var elList = document.querySelectorAll(attrSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // TODO: listen for new elements + util.onNodeInserted(function(el) { + if (el.getAttribute(attrKey) === 'tab') initialize(el); + }); + }, + + /** External API */ + api: { + activate: function(paneId) { + var cssSelector = '[' + controlsAttrKey + '=' + paneId + ']', + toggleEl = document.querySelectorAll(cssSelector); + + if (!toggleEl.length) { + util.raiseError('Tab control for pane "' + paneId + '" not found'); + } + + activateTab(toggleEl[0]); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}],12:[function(require,module,exports){ +/** + * MUI CSS/JS form-control module + * @module forms/form-control + */ + +'use strict'; + + +var jqLite = require('./lib/jqLite'), + util = require('./lib/util'), + cssSelector = '.mui-textfield > input, .mui-textfield > textarea', + emptyClass = 'mui--is-empty', + notEmptyClass = 'mui--is-not-empty', + dirtyClass = 'mui--is-dirty', + floatingLabelClass = 'mui-textfield--float-label'; + + +/** + * Initialize input element. + * @param {Element} inputEl - The input element. + */ +function initialize(inputEl) { + // check flag + if (inputEl._muiTextfield === true) return; + else inputEl._muiTextfield = true; + + if (inputEl.value.length) jqLite.addClass(inputEl, notEmptyClass); + else jqLite.addClass(inputEl, emptyClass); + + jqLite.on(inputEl, 'input', inputHandler); + jqLite.on(inputEl, 'change', inputHandler); + + // add dirty class on focus + jqLite.on(inputEl, 'focus', function(){jqLite.addClass(this, dirtyClass);}); +} + + +/** + * Handle input events. + */ +function inputHandler() { + var inputEl = this; + + if (inputEl.value.length) { + jqLite.removeClass(inputEl, emptyClass); + jqLite.addClass(inputEl, notEmptyClass); + } else { + jqLite.removeClass(inputEl, notEmptyClass); + jqLite.addClass(inputEl, emptyClass) + } + + jqLite.addClass(inputEl, dirtyClass); +} + + +/** Define module API */ +module.exports = { + /** Initialize input elements */ + initialize: initialize, + + /** Initialize module listeners */ + initListeners: function() { + var doc = document; + + // markup elements available when method is called + var elList = doc.querySelectorAll(cssSelector); + for (var i=elList.length - 1; i >= 0; i--) initialize(elList[i]); + + // listen for new elements + util.onNodeInserted(function(el) { + if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') initialize(el); + }); + + // add transition css for floating labels + setTimeout(function() { + var css = '.mui-textfield.mui-textfield--float-label > label {' + [ + '-webkit-transition', + '-moz-transition', + '-o-transition', + 'transition', + '' + ].join(':all .15s ease-out;') + '}'; + + util.loadStyle(css); + }, 150); + + // pointer-events shim for floating labels + if (util.supportsPointerEvents() === false) { + jqLite.on(document, 'click', function(ev) { + var targetEl = ev.target; + + if (targetEl.tagName === 'LABEL' && + jqLite.hasClass(targetEl.parentNode, floatingLabelClass)) { + var inputEl = targetEl.previousElementSibling; + if (inputEl) inputEl.focus(); + } + }); + } + } +}; + +},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]) \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.min.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.min.js new file mode 100644 index 0000000..833d99c --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/lib/js/mui.min.js @@ -0,0 +1 @@ +!function e(t,n,i){function o(l,s){if(!n[l]){if(!t[l]){var a="function"==typeof require&&require;if(!s&&a)return a(l,!0);if(r)return r(l,!0);throw new Error("Cannot find module '"+l+"'")}var c=n[l]={exports:{}};t[l][0].call(c.exports,function(e){var n=t[l][1][e];return o(n?n:e)},c,c.exports,e,t,n,i)}return n[l].exports}for(var r="function"==typeof require&&require,l=0;ld&&(h=s+(n+1)*l-(-1*i+o+r),m=t*l+2*s-p,v=Math.min(h,m)),{height:p+"px",top:i+"px",scrollTop:v}}var o=15,r=32,l=42,s=8;t.exports={getMenuPositionalCSS:i}},{}],4:[function(e,t,n){"use strict";function i(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r-1:!1}function l(e){if(void 0===e)return"undefined";var t=Object.prototype.toString.call(e);if(0===t.indexOf("[object "))return t.slice(8,-1).toLowerCase();throw new Error("MUI: Could not understand type: "+t)}function s(e,t,n,i){i=void 0===i?!1:i,e.addEventListener(t,n,i);var o=e._muiEventCache=e._muiEventCache||{};o[t]=o[t]||[],o[t].push([n,i])}function a(e,t,n,i){i=void 0===i?!1:i;var o,r,l=e._muiEventCache=e._muiEventCache||{},s=l[t]||[];for(r=s.length;r--;)o=s[r],(void 0===n||o[0]===n&&o[1]===i)&&(s.splice(r,1),e.removeEventListener(t,o[0],o[1]))}function c(e,t,n,i){s(e,t,function o(i){n&&n.apply(this,arguments),a(e,t,o)},i)}function u(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageXOffset||i.scrollLeft)-(i.clientLeft||0)}return e.scrollLeft}e===n?n.scrollTo(t,d(n)):e.scrollLeft=t}function d(e,t){var n=window;if(void 0===t){if(e===n){var i=document.documentElement;return(n.pageYOffset||i.scrollTop)-(i.clientTop||0)}return e.scrollTop}e===n?n.scrollTo(u(n),t):e.scrollTop=t}function f(e){var t=window,n=e.getBoundingClientRect(),i=d(t),o=u(t);return{top:n.top+i,left:n.left+o,height:n.height,width:n.width}}function p(e){var t=!1,n=!0,i=document,o=i.defaultView,r=i.documentElement,l=i.addEventListener?"addEventListener":"attachEvent",s=i.addEventListener?"removeEventListener":"detachEvent",a=i.addEventListener?"":"on",c=function(n){"readystatechange"==n.type&&"complete"!=i.readyState||(("load"==n.type?o:i)[s](a+n.type,c,!1),!t&&(t=!0)&&e.call(o,n.type||n))},u=function(){try{r.doScroll("left")}catch(e){return void setTimeout(u,50)}c("poll")};if("complete"==i.readyState)e.call(o,"lazy");else{if(i.createEventObject&&r.doScroll){try{n=!o.frameElement}catch(d){}n&&u()}i[l](a+"DOMContentLoaded",c,!1),i[l](a+"readystatechange",c,!1),o[l](a+"load",c,!1)}}function h(e,t){if(t&&e.setAttribute){for(var n,i=m(e),o=t.split(" "),r=0;r=0;)i=i.replace(" "+n+" "," ");e.setAttribute("class",i.trim())}}function m(e){var t=(e.getAttribute("class")||"").replace(/[\n\t]/g,"");return" "+t+" "}function v(e){return e.replace(g,function(e,t,n,i){return i?n.toUpperCase():n}).replace(E,"Moz$1")}function b(e,t,n){var i;return i=n.getPropertyValue(t),""!==i||e.ownerDocument||(i=e.style[v(t)]),i}var y,g=/([\:\-\_]+(.))/g,E=/^moz([A-Z])/;y={multiple:!0,selected:!0,checked:!0,disabled:!0,readonly:!0,required:!0,open:!0},t.exports={addClass:i,css:o,hasClass:r,off:a,offset:f,on:s,one:c,ready:p,removeClass:h,type:l,scrollLeft:u,scrollTop:d}},{}],5:[function(e,t,n){"use strict";function i(){var e=window;if(v.debug&&"undefined"!=typeof e.console)try{e.console.log.apply(e.console,arguments)}catch(t){var n=Array.prototype.slice.call(arguments);e.console.log(n.join("\n"))}}function o(e){var t,n=document;t=n.head||n.getElementsByTagName("head")[0]||n.documentElement;var i=n.createElement("style");return i.type="text/css",i.styleSheet?i.styleSheet.cssText=e:i.appendChild(n.createTextNode(e)),t.insertBefore(i,t.firstChild),i}function r(e,t){if(!t)throw new Error("MUI: "+e);"undefined"!=typeof console&&console.error("MUI Warning: "+e)}function l(e){if(y.push(e),void 0===y._initialized){var t=document;b.on(t,"animationstart",s),b.on(t,"mozAnimationStart",s),b.on(t,"webkitAnimationStart",s),y._initialized=!0}}function s(e){if("mui-node-inserted"===e.animationName)for(var t=e.target,n=y.length-1;n>=0;n--)y[n](t)}function a(e){var t="";for(var n in e)t+=e[n]?n+" ":"";return t.trim()}function c(){if(void 0!==m)return m;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",m="auto"===e.style.pointerEvents}function u(e,t){return function(){e[t].apply(e,arguments)}}function d(e,t,n,i,o){var r,l=document.createEvent("HTMLEvents"),n=void 0!==n?n:!0,i=void 0!==i?i:!0;if(l.initEvent(t,n,i),o)for(r in o)l[r]=o[r];return e&&e.dispatchEvent(l),l}function f(){if(g+=1,1===g){var e=window,t=document;h={left:b.scrollLeft(e),top:b.scrollTop(e)},b.addClass(t.body,E),e.scrollTo(h.left,h.top)}}function p(){if(0!==g&&(g-=1,0===g)){var e=window,t=document;b.removeClass(t.body,E),e.scrollTo(h.left,h.top)}}var h,m,v=e("../config"),b=e("./jqLite"),y=[],g=0,E="mui-body--scroll-lock";t.exports={callback:u,classNames:a,disableScrollLock:p,dispatchEvent:d,enableScrollLock:f,log:i,loadStyle:o,onNodeInserted:l,raiseError:r,supportsPointerEvents:c}},{"../config":2,"./jqLite":4}],6:[function(e,t,n){"use strict";function i(e){e._muiDropdown!==!0&&(e._muiDropdown=!0,e.hasAttribute("type")||(e.type="button"),l.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){function t(){l.removeClass(o,u),l.off(r,"click",t)}function n(){var n=i.getBoundingClientRect(),s=e.getBoundingClientRect(),a=s.top-n.top+s.height;l.css(o,"top",a+"px"),l.addClass(o,u),setTimeout(function(){l.on(r,"click",t)},0)}var i=e.parentNode,o=e.nextElementSibling,r=i.ownerDocument;return o&&l.hasClass(o,d)?void(l.hasClass(o,u)?t():n()):s.raiseError("Dropdown menu element not found")}var l=e("./lib/jqLite"),s=e("./lib/util"),a="data-mui-toggle",c='[data-mui-toggle="dropdown"]',u="mui--is-open",d="mui-dropdown__menu";t.exports={initListeners:function(){for(var e=document,t=e.querySelectorAll(c),n=t.length-1;n>=0;n--)i(t[n]);s.onNodeInserted(function(e){"dropdown"===e.getAttribute(a)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],7:[function(e,t,n){t.exports=e(4)},{}],8:[function(e,t,n){"use strict";function i(e){var t;if("on"===e){for(var n,i,l,s=arguments.length-1;s>0;s--)n=arguments[s],"object"===p.type(n)&&(i=n),n instanceof Element&&1===n.nodeType&&(l=n);i=i||{},void 0===i.keyboard&&(i.keyboard=!0),void 0===i["static"]&&(i["static"]=!1),t=o(i,l)}else"off"===e?t=r():f.raiseError("Expecting 'on' or 'off'");return t}function o(e,t){var n=document.body,i=document.getElementById(h);if(f.enableScrollLock(),i){for(;i.firstChild;)i.removeChild(i.firstChild);t&&i.appendChild(t)}else i=document.createElement("div"),i.setAttribute("id",h),t&&i.appendChild(t),n.appendChild(i);return m.test(navigator.userAgent)&&p.css(i,"cursor","pointer"),e.keyboard?l():s(),e["static"]?u(i):c(i),i.muiOptions=e,i}function r(){var e,t=document.getElementById(h);if(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.parentNode.removeChild(t),e=t.muiOptions.onclose,u(t)}return f.disableScrollLock(),s(),e&&e(),t}function l(){p.on(document,"keyup",a)}function s(){p.off(document,"keyup",a)}function a(e){27===e.keyCode&&r()}function c(e){p.on(e,"click",d)}function u(e){p.off(e,"click",d)}function d(e){e.target.id===h&&r()}var f=e("./lib/util"),p=e("./lib/jqLite"),h="mui-overlay",m=/(iPad|iPhone|iPod)/g;t.exports=i},{"./lib/jqLite":4,"./lib/util":5}],9:[function(e,t,n){"use strict";function i(e){e._muiRipple!==!0&&(e._muiRipple=!0,"INPUT"!==e.tagName&&(r.on(e,"touchstart",o),r.on(e,"mousedown",o)))}function o(e){if(0===e.button){var t=this;if(t.disabled!==!0&&t.touchFlag!==!0){t.touchFlag=!0,setTimeout(function(){t.touchFlag=!1},100);var n=document.createElement("div");n.className=c;var i,o,l=r.offset(t),s=e.pageX-l.left,u=e.pageY-l.top;i=r.hasClass(t,a)?l.height/2:l.height,o=i/2,r.css(n,{height:i+"px",width:i+"px",top:u-o+"px",left:s-o+"px"}),t.appendChild(n),window.setTimeout(function(){var e=n.parentNode;e&&e.removeChild(n)},2e3)}}}var r=e("./lib/jqLite"),l=e("./lib/util"),s="mui-btn",a="mui-btn--fab",c="mui-ripple-effect";t.exports={initListeners:function(){for(var e=document,t=e.getElementsByClassName(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){r.hasClass(e,s)&&i(e)})}}},{"./lib/jqLite":4,"./lib/util":5}],10:[function(e,t,n){"use strict";function i(e){e._muiSelect!==!0&&(e._muiSelect=!0,"ontouchstart"in p.documentElement||new o(e))}function o(e){this.selectEl=e,this.wrapperEl=e.parentNode,this.useDefault=!1,l.on(e,"mousedown",s.callback(this,"mousedownHandler")),l.on(e,"focus",s.callback(this,"focusHandler")),l.on(e,"click",s.callback(this,"clickHandler")),this.wrapperEl.tabIndex=-1;var t=s.callback(this,"wrapperFocusHandler");l.on(this.wrapperEl,"focus",t)}function r(e,t){s.enableScrollLock(),this.origIndex=null,this.currentIndex=null,this.selectEl=t,this.menuEl=this._createMenuEl(e,t),this.clickCallbackFn=s.callback(this,"clickHandler"),this.keydownCallbackFn=s.callback(this,"keydownHandler"),this.destroyCallbackFn=s.callback(this,"destroy"),e.appendChild(this.menuEl),l.scrollTop(this.menuEl,this.menuEl._muiScrollTop),setTimeout(function(){"body"!==p.activeElement.nodeName.toLowerCase()&&p.activeElement.blur()},0),l.on(this.menuEl,"click",this.clickCallbackFn),l.on(p,"keydown",this.keydownCallbackFn),l.on(h,"resize",this.destroyCallbackFn);var n=this.destroyCallbackFn;setTimeout(function(){l.on(p,"click",n)},0)}var l=e("./lib/jqLite"),s=e("./lib/util"),a=e("./lib/forms"),c="mui-select",u=".mui-select > select",d="mui-select__menu",f="mui--is-selected",p=document,h=window;o.prototype.mousedownHandler=function(e){0===e.button&&this.useDefault!==!0&&e.preventDefault()},o.prototype.focusHandler=function(e){if(this.useDefault!==!0){var t=this.selectEl,n=this.wrapperEl,i=t.tabIndex,o=s.callback(this,"keydownHandler");l.on(p,"keydown",o),t.tabIndex=-1,l.one(n,"blur",function(){t.tabIndex=i,l.off(p,"keydown",o)}),n.focus()}},o.prototype.keydownHandler=function(e){var t=e.keyCode;32!==t&&38!==t&&40!==t||(e.preventDefault(),this.selectEl.disabled!==!0&&this.renderMenu())},o.prototype.wrapperFocusHandler=function(){return this.selectEl.disabled?this.wrapperEl.blur():void 0},o.prototype.clickHandler=function(e){0===e.button&&this.renderMenu()},o.prototype.renderMenu=function(){return this.useDefault===!0?this.useDefault=!1:void new r(this.wrapperEl,this.selectEl)},r.prototype._createMenuEl=function(e,t){var n,i,o,r=p.createElement("div"),s=t.children,c=s.length,u=0;for(r.className=d,o=0;c>o;o++)n=s[o],i=p.createElement("div"),i.textContent=n.textContent,i._muiPos=o,n.selected&&(i.setAttribute("class",f),u=o),r.appendChild(i);this.origIndex=u,this.currentIndex=u;var h=a.getMenuPositionalCSS(e,c,u);return l.css(r,h),r._muiScrollTop=h.scrollTop,r},r.prototype.keydownHandler=function(e){var t=e.keyCode;return 9===t?this.destroy():(27!==t&&40!==t&&38!==t&&13!==t||e.preventDefault(),void(27===t?this.destroy():40===t?this.increment():38===t?this.decrement():13===t&&(this.selectCurrent(),this.destroy())))},r.prototype.clickHandler=function(e){e.stopPropagation();var t=e.target._muiPos;void 0!==t&&(this.currentIndex=t,this.selectCurrent(),this.destroy())},r.prototype.increment=function(){if(this.currentIndex!==this.menuEl.children.length-1){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex+=1,l.addClass(e[this.currentIndex],f)}},r.prototype.decrement=function(){if(0!==this.currentIndex){var e=this.menuEl.children;l.removeClass(e[this.currentIndex],f),this.currentIndex-=1,l.addClass(e[this.currentIndex],f)}},r.prototype.selectCurrent=function(){if(this.currentIndex!==this.origIndex){var e=this.selectEl.children;e[this.origIndex].selected=!1,e[this.currentIndex].selected=!0,s.dispatchEvent(this.selectEl,"change")}},r.prototype.destroy=function(){var e=this.menuEl.parentNode;e&&e.removeChild(this.menuEl),this.selectEl.focus(),s.disableScrollLock(),l.off(this.menuEl,"click",this.clickCallbackFn),l.off(p,"keydown",this.keydownCallbackFn),l.off(p,"click",this.destroyCallbackFn),l.off(h,"resize",this.destroyCallbackFn)},t.exports={initListeners:function(){for(var e=p.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);s.onNodeInserted(function(e){"SELECT"===e.tagName&&l.hasClass(e.parentNode,c)&&i(e)})}}},{"./lib/forms":3,"./lib/jqLite":4,"./lib/util":5}],11:[function(e,t,n){"use strict";function i(e){e._muiTabs!==!0&&(e._muiTabs=!0,s.on(e,"click",o))}function o(e){if(0===e.button){var t=this;null===t.getAttribute("disabled")&&r(t)}}function r(e){var t,n,i,o,r,c,u,b,y,g=e.parentNode,E=e.getAttribute(d),C=document.getElementById(E);s.hasClass(g,f)||(C||a.raiseError('Tab pane "'+E+'" not found'),n=l(C),i=n.id,y="["+d+'="'+i+'"]',o=document.querySelectorAll(y)[0],t=o.parentNode,r={paneId:E,relatedPaneId:i},c={paneId:i,relatedPaneId:E},u=a.dispatchEvent(o,m,!0,!0,c),b=a.dispatchEvent(e,p,!0,!0,r),setTimeout(function(){u.defaultPrevented||b.defaultPrevented||(t&&s.removeClass(t,f),n&&s.removeClass(n,f),s.addClass(g,f),s.addClass(C,f),a.dispatchEvent(o,v,!0,!1,c),a.dispatchEvent(e,h,!0,!1,r))},0))}function l(e){for(var t,n=e.parentNode.children,i=n.length,o=null;i--&&!o;)t=n[i],t!==e&&s.hasClass(t,f)&&(o=t);return o}var s=e("./lib/jqLite"),a=e("./lib/util"),c="data-mui-toggle",u="["+c+'="tab"]',d="data-mui-controls",f="mui--is-active",p="mui.tabs.showstart",h="mui.tabs.showend",m="mui.tabs.hidestart",v="mui.tabs.hideend";t.exports={initListeners:function(){for(var e=document.querySelectorAll(u),t=e.length-1;t>=0;t--)i(e[t]);a.onNodeInserted(function(e){"tab"===e.getAttribute(c)&&i(e)})},api:{activate:function(e){var t="["+d+"="+e+"]",n=document.querySelectorAll(t);n.length||a.raiseError('Tab control for pane "'+e+'" not found'),r(n[0])}}}},{"./lib/jqLite":4,"./lib/util":5}],12:[function(e,t,n){"use strict";function i(e){e._muiTextfield!==!0&&(e._muiTextfield=!0,e.value.length?r.addClass(e,c):r.addClass(e,a),r.on(e,"input",o),r.on(e,"change",o),r.on(e,"focus",function(){r.addClass(this,u)}))}function o(){var e=this;e.value.length?(r.removeClass(e,a),r.addClass(e,c)):(r.removeClass(e,c),r.addClass(e,a)),r.addClass(e,u)}var r=e("./lib/jqLite"),l=e("./lib/util"),s=".mui-textfield > input, .mui-textfield > textarea",a="mui--is-empty",c="mui--is-not-empty",u="mui--is-dirty",d="mui-textfield--float-label";t.exports={initialize:i,initListeners:function(){for(var e=document,t=e.querySelectorAll(s),n=t.length-1;n>=0;n--)i(t[n]);l.onNodeInserted(function(e){"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName||i(e)}),setTimeout(function(){var e=".mui-textfield.mui-textfield--float-label > label {"+["-webkit-transition","-moz-transition","-o-transition","transition",""].join(":all .15s ease-out;")+"}";l.loadStyle(e)},150),l.supportsPointerEvents()===!1&&r.on(document,"click",function(e){var t=e.target;if("LABEL"===t.tagName&&r.hasClass(t.parentNode,d)){var n=t.previousElementSibling;n&&n.focus()}})}}},{"./lib/jqLite":4,"./lib/util":5}]},{},[1]); \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/package.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/package.js new file mode 100644 index 0000000..f71c18f --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/meteor/package.js @@ -0,0 +1,22 @@ +Package.describe({ + name: 'muicss:mui', + version: '0.5.9', + // Brief, one-line summary of the package. + summary: 'MUI is a lightweight CSS framework based on Google\'s Material Design guidelines', + // URL to the Git repository containing the source code for this package. + git: 'https://github.com/muicss/mui', + // By default, Meteor will default to using README.md for documentation. + // To avoid submitting documentation, set this field to null. + documentation: 'README.md' +}); + +Package.onUse(function(api) { + api.versionsFrom('1.0'); + + api.addFiles([ + 'lib/css/mui.css', + 'lib/css/mui.min.css', + 'lib/js/mui.js', + 'lib/js/mui.min.js' + ], 'client'); +}); diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/LICENSE.txt b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/LICENSE.txt new file mode 100644 index 0000000..4b0aef4 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/LICENSE.txt @@ -0,0 +1,31 @@ +Copyright (c) 2015 Andres Morey + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +==== + +All files located in the node_modules and bower_components directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/README.md b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/README.md new file mode 100644 index 0000000..0d180d1 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/README.md @@ -0,0 +1,487 @@ +# Material Design CSS Framework + +[![MUI](https://www.muicss.com/static/favicons/icon-192x192.png)](https://www.muicss.com) + +MUI is a lightweight CSS framework that follows Google's Material Design guidelines. + +[![Join the chat at https://gitter.im/muicss/mui](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/muicss/mui?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Build Status](https://travis-ci.org/muicss/mui.svg?branch=master)](https://travis-ci.org/muicss/mui) +[![Dependency Status](https://david-dm.org/muicss/mui.svg)](https://david-dm.org/muicss/mui) +[![devDependency Status](https://david-dm.org/muicss/mui/dev-status.svg)](https://david-dm.org/muicss/mui#info=devDependencies) + +## Introduction + +The MUI NPM package makes it easy to import MUI into a project and create a custom build that only includes the components you need. + +The simplest way to use MUI is via the top level imports `muicss` and `muicss/react`: + +```javascript +import { Appbar, Button, Panel } from 'muicss/react'; +``` + +You can also optimize your builds by importing modules one-by-one from the lower level API: + +```javascript +import Appbar from 'muicss/lib/react/appbar'; +import Button from 'muicss/lib/react/button'; +import Container from 'muicss/lib/react/container'; +``` + +Here's an example of how to use MUI in a React app: + +```javascript +import React from 'react'; +import ReactDOM from 'react-dom'; +import { Appbar, Button, Panel } from 'muicss/react'; + +class Example extends React.Component { + onClick() { + console.log('clicked on button'); + } + + render() { + return ( +
          + + + + + + +
          + ); + } +} + +ReactDOM.render(, document.getElementById('example')); +``` + +## API Documentation + +### React Library + +All of the MUI React components can be accessed as top-level attributes of the `muicss/react` package. In addition, they can be accessed individually at `muicss/lib/react/{component}`. + +#### Appbar + +```jsx +import Appbar from 'muicss/lib/react/appbar'; + + +``` + +Read more: https://www.muicss.com/docs/v1/react/appbar + +#### Button + +```jsx +import Button from 'muicss/lib/react/button'; + +
          '; + + // directive function + return ['$timeout', function ($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: scopeArgs, + replace: true, + template: template, + link: function link(scope, element, attrs, controllers) { + var inputEl = element.find('input') || element.find('textarea'), + labelEl = element.find('label'), + ngModelCtrl = controllers[0], + formCtrl = controllers[1], + isUndef = _angular2.default.isUndefined, + el = inputEl[0]; + + // disable MUI js + if (el) el._muiTextfield = true; + + // remove attributes from wrapper + element.removeAttr('ng-change'); + element.removeAttr('ng-model'); + + // scope defaults + if (!isTextArea) scope.type = scope.type || 'text';else scope.rows = scope.rows || 2; + + // autofocus + if (!isUndef(attrs.autofocus)) inputEl[0].focus(); + + // required + if (!isUndef(attrs.required)) inputEl.prop('required', true); + + // invalid + if (!isUndef(attrs.invalid)) inputEl.addClass('mui--is-invalid'); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, scope.ngModel); + + // float-label + if (!isUndef(scope.floatLabel)) { + element.addClass('mui-textfield--float-label'); + + $timeout(function () { + labelEl.css({ + 'transition': '.15s ease-out', + '-webkit-transition': '.15s ease-out', + '-moz-transition': '.15s ease-out', + '-o-transition': '.15s ease-out', + '-ms-transition': '.15s ease-out' + }); + }, 150); + } + + // handle changes + scope.onChange = function () { + var val = scope.ngModel; + + // trigger ng-change + if (ngModelCtrl) ngModelCtrl.$setViewValue(val); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, val); + + // add is-dirty + inputEl.addClass(dirtyClass); + }; + + // handle focus event + scope.onFocus = function () { + inputEl.addClass(dirtyClass); + }; + } + }; + }]; +} + +_angular2.default.module(moduleName, []).directive('muiInput', inputFactory(false)).directive('muiTextarea', inputFactory(true)); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/panel.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/panel.js new file mode 100644 index 0000000..6b07daf --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/panel.js @@ -0,0 +1,34 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var moduleName = 'mui.panel'; /** + * MUI Angular Panel Component + * @module angular/panel + */ + +_angular2.default.module(moduleName, []).directive('muiPanel', function () { + return { + restrict: 'AE', + replace: true, + scope: true, + template: '
          ', + transclude: true, + link: function link(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function (clone) { + element.append(clone); + }); + } + }; +}); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/radio.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/radio.js new file mode 100644 index 0000000..17dcc99 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/radio.js @@ -0,0 +1,35 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var moduleName = 'mui.radio'; /** + * MUI Angular Radio Component + * @module angular/radio + */ + +_angular2.default.module(moduleName, []).directive('muiRadio', function () { + return { + restrict: 'AE', + replace: true, + require: ['?ngModel'], + scope: { + label: '@', + name: '@', + value: '@', + ngModel: '=', + ngDisabled: '=' + }, + template: '
          ' + ' ' + '
          ' + }; +}); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/row.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/row.js new file mode 100644 index 0000000..2e7735b --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/row.js @@ -0,0 +1,34 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var moduleName = 'mui.row'; /** + * MUI Angular Grid/Row Module + * @module angular/row.js + */ + +_angular2.default.module('mui.row', []).directive('muiRow', function () { + return { + restrict: 'AE', + scope: true, + replace: true, + template: '
          ', + transclude: true, + link: function link(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function (clone) { + element.append(clone); + }); + } + }; +}); + +/** Define module API */ +exports.default = moduleName; +module.exports = exports['default']; \ No newline at end of file diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/select.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/select.js new file mode 100644 index 0000000..2778c9f --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/packages/npm/lib/angular/select.js @@ -0,0 +1,256 @@ +var babelHelpers = require('./babel-helpers.js'); +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _angular = require('angular'); + +var _angular2 = babelHelpers.interopRequireDefault(_angular); + +var _forms = require('../js/lib/forms'); + +var formlib = babelHelpers.interopRequireWildcard(_forms); + +var _util = require('../js/lib/util'); + +var util = babelHelpers.interopRequireWildcard(_util); + +var _jqLite = require('../js/lib/jqLite'); + +var jqLite = babelHelpers.interopRequireWildcard(_jqLite); +/** + * MUI Angular Select Component + * @module angular/select + */ + +var moduleName = 'mui.select'; + +_angular2.default.module(moduleName, []).directive('muiSelect', ['$timeout', function ($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: { + name: '@', + ngDisabled: '=', + ngModel: '=' + }, + replace: true, + transclude: true, + template: '
          ' + '' + '
          ' + '
          {{option.label}}
          ' + '
          ' + '
          ', + link: function link(scope, element, attrs, controller, transcludeFn) { + var wrapperEl = element, + menuEl = element.find('div'), + selectEl = element.find('select'), + isUndef = _angular2.default.isUndefined, + cacheIndex; + + // disable MUI js + selectEl[0]._muiSelect = true; + + // init scope + scope.options = []; + scope.isOpen = false; + scope.useDefault = false; + scope.origTabIndex = selectEl[0].tabIndex; + scope.menuIndex = 0; + + // handle `use-default` attribute + if (!isUndef(attrs.useDefault)) scope.useDefault = true; + + // make wrapper focusable + wrapperEl.prop('tabIndex', -1); + + // extract
          '; + + // directive function + return ['$timeout', function($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: scopeArgs, + replace: true, + template: template, + link: function(scope, element, attrs, controllers) { + var inputEl = element.find('input') || element.find('textarea'), + labelEl = element.find('label'), + ngModelCtrl = controllers[0], + formCtrl = controllers[1], + isUndef = angular.isUndefined, + el = inputEl[0]; + + // disable MUI js + if (el) el._muiTextfield = true; + + // remove attributes from wrapper + element.removeAttr('ng-change'); + element.removeAttr('ng-model'); + + // scope defaults + if (!isTextArea) scope.type = scope.type || 'text'; + else scope.rows = scope.rows || 2; + + // autofocus + if (!isUndef(attrs.autofocus)) inputEl[0].focus(); + + // required + if (!isUndef(attrs.required)) inputEl.prop('required', true); + + // invalid + if (!isUndef(attrs.invalid)) inputEl.addClass('mui--is-invalid'); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, scope.ngModel); + + // float-label + if (!isUndef(scope.floatLabel)) { + element.addClass('mui-textfield--float-label'); + + $timeout(function() { + labelEl.css({ + 'transition': '.15s ease-out', + '-webkit-transition': '.15s ease-out', + '-moz-transition': '.15s ease-out', + '-o-transition': '.15s ease-out', + '-ms-transition': '.15s ease-out', + }) + }, 150); + } + + // handle changes + scope.onChange = function() { + var val = scope.ngModel; + + // trigger ng-change + if (ngModelCtrl) ngModelCtrl.$setViewValue(val); + + // set is-empty|is-no-empty + handleEmptyClasses(inputEl, val); + + // add is-dirty + inputEl.addClass(dirtyClass); + } + + // handle focus event + scope.onFocus = function() { + inputEl.addClass(dirtyClass); + } + } + }; + }]; +} + + +angular.module(moduleName, []) + .directive('muiInput', inputFactory(false)) + .directive('muiTextarea', inputFactory(true)); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/panel.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/panel.js new file mode 100644 index 0000000..a9585f0 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/panel.js @@ -0,0 +1,30 @@ +/** + * MUI Angular Panel Component + * @module angular/panel + */ + +import angular from 'angular'; + + +const moduleName = 'mui.panel'; + + +angular.module(moduleName, []) + .directive('muiPanel', function() { + return { + restrict: 'AE', + replace: true, + scope : true, + template: '
          ', + transclude: true, + link: function(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function(clone) { + element.append(clone); + }); + } + }; + }); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/radio.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/radio.js new file mode 100644 index 0000000..5a7351a --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/radio.js @@ -0,0 +1,39 @@ +/** + * MUI Angular Radio Component + * @module angular/radio + */ + +import angular from 'angular'; + + +const moduleName = 'mui.radio'; + + +angular.module(moduleName, []) + .directive('muiRadio', function() { + return { + restrict: 'AE', + replace: true, + require: ['?ngModel'], + scope: { + label: '@', + name: '@', + value: '@', + ngModel: '=', + ngDisabled: '=' + }, + template: '
          ' + + ' ' + + '
          ' + } + }); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/row.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/row.js new file mode 100644 index 0000000..fd3bf31 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/row.js @@ -0,0 +1,30 @@ +/** + * MUI Angular Grid/Row Module + * @module angular/row.js + */ + +import angular from 'angular'; + + +const moduleName = 'mui.row'; + + +angular.module('mui.row', []) + .directive('muiRow', function() { + return { + restrict: 'AE', + scope: true, + replace: true, + template: '
          ', + transclude: true, + link: function(scope, element, attr, controller, transcludeFn) { + transcludeFn(scope, function(clone) { + element.append(clone); + }); + } + }; + }); + + +/** Define module API */ +export default moduleName; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/select.js b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/select.js new file mode 100644 index 0000000..eb4c67b --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/angular/select.js @@ -0,0 +1,284 @@ +/** + * MUI Angular Select Component + * @module angular/select + */ + +import angular from 'angular'; + +import * as formlib from '../js/lib/forms'; +import * as util from '../js/lib/util'; +import * as jqLite from '../js/lib/jqLite'; + + +const moduleName = 'mui.select'; + + +angular.module(moduleName, []) + .directive('muiSelect', ['$timeout', function($timeout) { + return { + restrict: 'AE', + require: ['ngModel'], + scope: { + name: '@', + ngDisabled: '=', + ngModel: '=' + }, + replace: true, + transclude: true, + template: '
          ' + + '' + + '
          ' + + '
          {{option.label}}
          ' + + '
          ' + + '
          ', + link: function(scope, element, attrs, controller, transcludeFn) { + var wrapperEl = element, + menuEl = element.find('div'), + selectEl = element.find('select'), + isUndef = angular.isUndefined, + cacheIndex; + + // disable MUI js + selectEl[0]._muiSelect = true; + + // init scope + scope.options = []; + scope.isOpen = false; + scope.useDefault = false; + scope.origTabIndex = selectEl[0].tabIndex; + scope.menuIndex = 0; + + // handle `use-default` attribute + if (!isUndef(attrs.useDefault)) scope.useDefault = true; + + // make wrapper focusable + wrapperEl.prop('tabIndex', -1); + + // extract
          + ); + } +} + + +/** Define module API */ +export default Checkbox; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/col.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/col.jsx new file mode 100644 index 0000000..d18cbe4 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/col.jsx @@ -0,0 +1,72 @@ +/** + * MUI React Col Component + * @module react/col + */ + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; + + +const breakpoints = ['xs', 'sm', 'md', 'lg', 'xl']; + + +/** + * Col constructor + * @class + */ +class Col extends React.Component { + defaultProps() { + let props = {className: ''}, + i, + v; + + // add {breakpoint}, {breakpoint}-offset to props + for (i=breakpoints.length - 1; i > -1; i--) { + v = breakpoints[i]; + props[v] = null; + props[v + '-offset'] = null; + } + + return props; + } + + render() { + let cls = {}, + i, + bk, + val, + baseCls; + + // add mui-col classes + for (i=breakpoints.length - 1; i > -1; i--) { + bk = breakpoints[i]; + baseCls = 'mui-col-' + bk; + + // add mui-col-{bk}-{val} + val = this.props[bk]; + if (val) cls[baseCls + '-' + val] = true; + + // add mui-col-{bk}-offset-{val} + val = this.props[bk + '-offset']; + if (val) cls[baseCls + '-offset-' + val] = true; + } + + cls = util.classNames(cls); + + return ( +
          + {this.props.children} +
          + ); + } +} + + +/** Define module API */ +export default Col; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/container.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/container.jsx new file mode 100644 index 0000000..7c665dc --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/container.jsx @@ -0,0 +1,44 @@ +/** + * MUI React container module + * @module react/container + */ + +'use strict'; + +import React from 'react'; + + +/** + * Container constructor + * @class + */ +class Container extends React.Component { + static propTypes = { + fluid: React.PropTypes.bool + }; + + static defaultProps = { + className: '', + fluid: false + }; + + render() { + let cls = 'mui-container'; + + // fluid containers + if (this.props.fluid) cls += '-fluid'; + + return ( +
          + {this.props.children} +
          + ); + } +} + + +/** Define module API */ +export default Container; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/divider.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/divider.jsx new file mode 100644 index 0000000..c39816e --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/divider.jsx @@ -0,0 +1,35 @@ +/** + * MUI React divider module + * @module react/divider + */ + +'use strict'; + +import React from 'react'; + + +/** + * Divider constructor + * @class + */ +class Divider extends React.Component { + static defaultProps = { + className: '' + }; + + render() { + let { children, ...other } = this.props; + + return ( +
          +
          + ); + } +} + + +/** Define module API */ +export default Divider; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown-item.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown-item.jsx new file mode 100644 index 0000000..17e7117 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown-item.jsx @@ -0,0 +1,59 @@ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes; + + +/** + * DropdownItem constructor + * @class + */ +class DropdownItem extends React.Component { + constructor(props) { + super(props); + + this.onClickCB = util.callback(this, 'onClick'); + } + + static propTypes = { + link: PropTypes.string, + target: PropTypes.string, + onClick: PropTypes.func + }; + + onClick(ev) { + if (this.props.onClick) this.props.onClick(this, ev); + } + + render() { + let { children, onClick, ...other } = this.props; + + return ( +
        • + + {children} + +
        • + ); + } +} + + +/** Define module API */ +export default DropdownItem; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown.jsx new file mode 100644 index 0000000..af0dffb --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/dropdown.jsx @@ -0,0 +1,200 @@ +/** + * MUI React dropdowns module + * @module react/dropdowns + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + +import Button from './button'; +import Caret from './caret'; +import * as jqLite from '../js/lib/jqLite'; +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes, + dropdownClass = 'mui-dropdown', + menuClass = 'mui-dropdown__menu', + openClass = 'mui--is-open', + rightClass = 'mui-dropdown__menu--right'; + + +/** + * Dropdown constructor + * @class + */ +class Dropdown extends React.Component { + constructor(props) { + super(props); + + this.state = { + opened: false, + menuTop: 0 + } + + let cb = util.callback; + this.selectCB = cb(this, 'select'); + this.onClickCB = cb(this, 'onClick'); + this.onOutsideClickCB = cb(this, 'onOutsideClick'); + } + + static propTypes = { + color: PropTypes.oneOf(['default', 'primary', 'danger', 'dark', + 'accent']), + variant: PropTypes.oneOf(['default', 'flat', 'raised', 'fab']), + size: PropTypes.oneOf(['default', 'small', 'large']), + label: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.element + ]), + alignMenu: PropTypes.oneOf(['left', 'right']), + onClick: PropTypes.func, + onSelect: PropTypes.func, + disabled: PropTypes.bool + }; + + static defaultProps = { + className: '', + color: 'default', + variant: 'default', + size: 'default', + label: '', + alignMenu: 'left', + onClick: null, + onSelect: null, + disabled: false + }; + + componentWillMount() { + document.addEventListener('click', this.onOutsideClickCB); + } + + componentWillUnmount() { + document.removeEventListener('click', this.onOutsideClickCB); + } + + onClick(ev) { + // only left clicks + if (ev.button !== 0) return; + + // exit if toggle button is disabled + if (this.props.disabled) return; + + if (!ev.defaultPrevented) { + this.toggle(); + + // execute onClick method + let onClickFn = this.props.onClick; + onClickFn && onClickFn(ev); + } + } + + toggle() { + // exit if no menu element + if (!this.props.children) { + return util.raiseError('Dropdown menu element not found'); + } + + if (this.state.opened) this.close(); + else this.open(); + } + + open() { + // position menu element below toggle button + let wrapperRect = this.refs.wrapperEl.getBoundingClientRect(), + toggleRect; + + toggleRect = this.refs.button.refs.buttonEl.getBoundingClientRect(); + + this.setState({ + opened: true, + menuTop: toggleRect.top - wrapperRect.top + toggleRect.height + }); + } + + close() { + this.setState({opened: false}); + } + + select(ev) { + // onSelect callback + if (this.props.onSelect && ev.target.tagName === 'A') { + this.props.onSelect(ev.target.getAttribute('data-mui-value')); + } + + // close menu + if (!ev.defaultPrevented) this.close(); + } + + onOutsideClick(ev) { + let isClickInside = this.refs.wrapperEl.contains(ev.target); + if (!isClickInside) this.close(); + } + + render() { + let buttonEl, + menuEl, + labelEl; + + // build label + if (jqLite.type(this.props.label) === 'string') { + labelEl = {this.props.label} ; + } else { + labelEl = this.props.label; + } + + buttonEl = ( + + ); + + if (this.state.opened) { + let cs = {}; + + cs[menuClass] = true; + cs[openClass] = this.state.opened; + cs[rightClass] = (this.props.alignMenu === 'right'); + cs = util.classNames(cs); + + menuEl = ( +
            + {this.props.children} +
          + ); + } + + let { className, children, onClick, ...other } = this.props; + + return ( +
          + {buttonEl} + {menuEl} +
          + ); + } +} + + +/** Define module API */ +export default Dropdown; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/form.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/form.jsx new file mode 100644 index 0000000..127a0d3 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/form.jsx @@ -0,0 +1,44 @@ +/** + * MUI React form module + * @module react/form + */ + +'use strict'; + +import React from 'react'; + + +/** + * Form constructor + * @class + */ +class Form extends React.Component { + static propTypes = { + inline: React.PropTypes.bool + }; + + static defaultProps = { + className: '', + inline: false + }; + + render() { + let cls = ''; + + // inline form + if (this.props.inline) cls = 'mui-form--inline'; + + return ( + + {this.props.children} + + ); + } +} + + +/** Define module API */ +export default Form; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/input.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/input.jsx new file mode 100644 index 0000000..722db29 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/input.jsx @@ -0,0 +1,35 @@ +/** + * MUI React Input Component + * @module react/input + */ + +'use strict'; + +import React from 'react'; + +import { TextField } from './text-field'; + + +const PropTypes = React.PropTypes; + + +/** + * Input constructor + * @class + */ +class Input extends React.Component { + static propTypes = { + type: PropTypes.oneOf(['text', 'email', 'url', 'tel', 'password']) + }; + + static defaultProps = { + type: 'text' + }; + + render() { + return ; + } +} + + +export default Input; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/option.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/option.jsx new file mode 100644 index 0000000..ca5e461 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/option.jsx @@ -0,0 +1,46 @@ +/** + * MUI React options module + * @module react/option + */ + +'use strict'; + +import React from 'react'; + +import * as formlib from '../js/lib/forms'; +import * as jqLite from '../js/lib/jqLite'; +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes; + + +/** + * Option constructor + * @class + */ +class Option extends React.Component { + static propTypes = { + value: PropTypes.string, + label: PropTypes.string + }; + + static defaultProps = { + value: null, + label: null + }; + + render() { + let { children, ...other } = this.props; + + return ( + + ); + } +} + + +/** Define module API */ +export default Option; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/panel.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/panel.jsx new file mode 100644 index 0000000..038371c --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/panel.jsx @@ -0,0 +1,34 @@ +/** + * MUI React layout module + * @module react/layout + */ + +'use strict'; + +import React from 'react'; + + +/** + * Panel constructor + * @class + */ +class Panel extends React.Component { + static defaultProps = { + className: '' + }; + + render() { + return ( +
          + {this.props.children} +
          + ); + } +} + + +/** Define module API */ +export default Panel; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/radio.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/radio.jsx new file mode 100644 index 0000000..5511429 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/radio.jsx @@ -0,0 +1,65 @@ +/** + * MUI React radio module + * @module react/radio + */ + +'use strict'; + +import React from 'react'; + + +const PropTypes = React.PropTypes; + + +/** + * Radio constructor + * @class + */ +class Radio extends React.Component { + static propTypes = { + name: PropTypes.string, + label: PropTypes.string, + value: PropTypes.string, + checked: PropTypes.bool, + defaultChecked: PropTypes.bool, + disabled: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + className: '', + name: null, + label: null, + disabled: false, + onChange: null + }; + + render() { + let { children, onChange, ...other } = this.props; + + return ( +
          + +
          + ); + } +} + + +/** Define module API */ +export default Radio; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/row.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/row.jsx new file mode 100644 index 0000000..a67691e --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/row.jsx @@ -0,0 +1,39 @@ +/** + * MUI React Row Component + * @module react/row + */ + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; + + +const breakpoints = ['xs', 'sm', 'md', 'lg']; + + +/** + * Row constructor + * @class + */ +class Row extends React.Component { + static defaultProps = { + className: '' + }; + + render() { + return ( +
          + {this.props.children} +
          + ); + } +} + + +/** Define module API */ +export default Row; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/select.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/select.jsx new file mode 100644 index 0000000..d467695 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/select.jsx @@ -0,0 +1,389 @@ +/** + * MUI React select module + * @module react/select + */ + +'use strict'; + +import React from 'react'; + +import * as formlib from '../js/lib/forms'; +import * as jqLite from '../js/lib/jqLite'; +import * as util from '../js/lib/util'; +import { controlledMessage } from './_helpers'; + + +const PropTypes = React.PropTypes; + + +/** + * Select constructor + * @class + */ +class Select extends React.Component { + constructor(props) { + super(props); + + // warn if value defined but onChange is not + if (props.readOnly === false && + props.value !== undefined && + props.onChange === null) { + util.raiseError(controlledMessage, true); + } + + this.state.value = props.value; + + // bind callback function + let cb = util.callback; + this.hideMenuCB = cb(this, 'hideMenu'); + this.onInnerChangeCB = cb(this, 'onInnerChange'); + this.onInnerClickCB = cb(this, 'onInnerClick'); + this.onInnerFocusCB = cb(this, 'onInnerFocus'); + this.onInnerMouseDownCB = cb(this, 'onInnerMouseDown'); + this.onKeydownCB = cb(this, 'onKeydown'); + this.onMenuChangeCB = cb(this, 'onMenuChange'); + this.onOuterFocusCB = cb(this, 'onOuterFocus'); + this.onOuterBlurCB = cb(this, 'onOuterBlur'); + } + + state = { + showMenu: false + }; + + static propTypes = { + name: PropTypes.string, + value: PropTypes.string, + defaultValue: PropTypes.string, + autoFocus: PropTypes.bool, + disabled: PropTypes.bool, + multiple: PropTypes.bool, + readOnly: PropTypes.bool, + required: PropTypes.bool, + useDefault: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + className: '', + name: null, + autoFocus: false, + disabled: false, + multiple: false, + readOnly: false, + required: false, + useDefault: false, + onChange: null + }; + + componentDidMount() { + // disable MUI js + this.refs.selectEl._muiSelect = true; + + // make wrapper element focusable (to enable Firefox bugfix) + this.refs.wrapperEl.tabIndex = -1; + + // handle autofocus + if (this.props.autoFocus) this.refs.wrapperEl.focus(); + } + + componentWillReceiveProps(nextProps) { + this.setState({value: nextProps.value}); + } + + onInnerMouseDown(ev) { + if (ev.button !== 0 || this.props.useDefault === true) return; + ev.preventDefault(); + } + + onInnerChange(ev) { + let value = ev.target.value; + this.setState({ value }); + + let fn = this.props.onChange; + if (fn) fn(value); + } + + onInnerClick(ev) { + if (ev.button !== 0) return; // only left clicks + this.showMenu(); + } + + onInnerFocus(ev) { + // check flag + if (this.props.useDefault === true) return; + + // defer focus to parent + setTimeout(() => {this.refs.wrapperEl.focus();}, 0); + } + + onOuterFocus(ev) { + // ignore focus on inner element (react artifact) + if (ev.target !== this.refs.wrapperEl) return; + + // disable tabfocus on inner element + var selectEl = this.refs.selectEl; + selectEl._muiOrigIndex = selectEl.tabIndex; + selectEl.tabIndex = -1; + + // firefox bugfix + if (selectEl.disabled) return this.refs.wrapperEl.blur(); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + + onOuterBlur(ev) { + // ignore blur on inner element + if (ev.target !== this.refs.wrapperEl) return; + + // restore tab focus on inner element + let selectEl = this.refs.selectEl; + selectEl.tabIndex = selectEl._muiOrigIndex; + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + + onKeydown(ev) { + // spacebar, down, up + if (ev.keyCode === 32 || ev.keyCode === 38 || ev.keyCode === 40) { + // prevent win scroll + ev.preventDefault(); + + if (this.refs.selectEl.disabled !== true) this.showMenu(); + } + } + + showMenu() { + // check useDefault flag + if (this.props.useDefault === true) return; + + // add scroll lock + util.enableScrollLock(); + + // add event listeners + jqLite.on(window, 'resize', this.hideMenuCB); + jqLite.on(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({showMenu: true}); + } + + hideMenu() { + // remove scroll lock + util.disableScrollLock(); + + // remove event listeners + jqLite.off(window, 'resize', this.hideMenuCB); + jqLite.off(document, 'click', this.hideMenuCB); + + // re-draw + this.setState({showMenu: false}); + + // refocus + this.refs.selectEl.focus(); + } + + onMenuChange(value) { + if (this.props.readOnly === true) return; + + this.setState({ value }); + + // execute onChange method + let fn = this.props.onChange; + if (fn) fn(value); + } + + render() { + let menuElem; + + if (this.state.showMenu) { + menuElem = ( + + ); + } + + let { children, onChange, ...other } = this.props; + + return ( +
          + + {menuElem} +
          + ); + } +} + + +/** + * Menu constructor + * @class + */ +class Menu extends React.Component { + constructor(props) { + super(props); + + this.onKeydownCB = util.callback(this, 'onKeydown'); + } + + state = { + origIndex: null, + currentIndex: null + }; + + static defaultProps = { + optionEls: [], + wrapperEl: null, + onChange: null, + onClose: null + }; + + componentWillMount() { + let optionEls = this.props.optionEls, + m = optionEls.length, + selectedPos = 0, + i; + + // get current selected position + for (i=m - 1; i > -1; i--) if (optionEls[i].selected) selectedPos = i; + this.setState({origIndex: selectedPos, currentIndex: selectedPos}); + } + + componentDidMount() { + // blur active element (IE10 bugfix) + this.blurTimer = setTimeout(function() { + let el = document.activeElement; + if (el.nodeName.toLowerCase() !== 'body') el.blur(); + }, 0); + + // set position + let props = formlib.getMenuPositionalCSS( + this.props.wrapperEl, + this.props.optionEls.length, + this.state.currentIndex + ); + + let el = this.refs.wrapperEl; + jqLite.css(el, props); + jqLite.scrollTop(el, props.scrollTop); + + // attach keydown handler + jqLite.on(document, 'keydown', this.onKeydownCB); + } + + componentWillUnmount() { + // clear timer + clearTimeout(this.blurTimer); + + // remove keydown handler + jqLite.off(document, 'keydown', this.onKeydownCB); + } + + onClick(pos, ev) { + // don't allow events to bubble + ev.stopPropagation(); + this.selectAndDestroy(pos); + } + + onKeydown(ev) { + let keyCode = ev.keyCode; + + // tab + if (keyCode === 9) return this.destroy(); + + // escape | up | down | enter + if (keyCode === 27 || keyCode === 40 || keyCode === 38 || keyCode === 13) { + ev.preventDefault(); + } + + if (keyCode === 27) this.destroy(); + else if (keyCode === 40) this.increment(); + else if (keyCode === 38) this.decrement(); + else if (keyCode === 13) this.selectAndDestroy(); + } + + increment() { + if (this.state.currentIndex === this.props.optionEls.length - 1) { + return; + } + + this.setState({currentIndex: this.state.currentIndex + 1}); + } + + decrement() { + if (this.state.currentIndex === 0) return; + this.setState({currentIndex: this.state.currentIndex - 1}); + } + + selectAndDestroy(pos) { + pos = (pos === undefined) ? this.state.currentIndex : pos; + + // handle onChange + if (pos !== this.state.origIndex) { + this.props.onChange(this.props.optionEls[pos].value); + } + + // close menu + this.destroy(); + } + + destroy() { + this.props.onClose(); + } + + render() { + let menuItems = [], + optionEls = this.props.optionEls, + m = optionEls.length, + optionEl, + cls, + i; + + // define menu items + for (i=0; i < m; i++) { + cls = (i === this.state.currentIndex) ? 'mui--is-selected' : ''; + + menuItems.push( +
          + {optionEls[i].textContent} +
          + ); + } + + return
          {menuItems}
          ; + } +} + + +/** Define module API */ +export default Select; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tab.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tab.jsx new file mode 100644 index 0000000..73b7c4b --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tab.jsx @@ -0,0 +1,40 @@ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + + +const PropTypes = React.PropTypes; + + +/** + * Tab constructor + * @class + */ +class Tab extends React.Component { + static propTypes = { + value: PropTypes.any, + label: PropTypes.string, + onActive: PropTypes.func + }; + + static defaultProps = { + value: null, + label: '', + onActive: null + }; + + render() { + return null; + }; +} + + +/** Define module API */ +export default Tab; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tabs.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tabs.jsx new file mode 100644 index 0000000..aa00ae5 --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/tabs.jsx @@ -0,0 +1,116 @@ +/** + * MUI React tabs module + * @module react/tabs + */ +/* jshint quotmark:false */ +// jscs:disable validateQuoteMarks + +'use strict'; + +import React from 'react'; + +import Tab from './tab'; +import * as util from '../js/lib/util'; + + +const PropTypes = React.PropTypes, + tabsBarClass = 'mui-tabs__bar', + tabsBarJustifiedClass = 'mui-tabs__bar--justified', + tabsPaneClass = 'mui-tabs__pane', + isActiveClass = 'mui--is-active'; + + +/** + * Tabs constructor + * @class + */ +class Tabs extends React.Component { + constructor(props) { + super(props); + this.state = {currentSelectedIndex: props.initialSelectedIndex}; + } + + static propTypes = { + initialSelectedIndex: PropTypes.number, + justified: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + className: '', + initialSelectedIndex: 0, + justified: false, + onChange: null + }; + + onClick(i, tab, ev) { + if (i !== this.state.currentSelectedIndex) { + this.setState({currentSelectedIndex: i}); + + // onActive callback + if (tab.props.onActive) tab.props.onActive(tab); + + // onChange callback + if (this.props.onChange) { + this.props.onChange(i, tab.props.value, tab, ev); + } + } + } + + render() { + let { children, ...other } = this.props; + + let tabEls = [], + paneEls = [], + m = children.length, + selectedIndex = this.state.currentSelectedIndex % m, + isActive, + item, + cls, + i; + + for (i=0; i < m; i++) { + item = children[i]; + + // only accept MUITab elements + if (item.type !== Tab) util.raiseError('Expecting MUITab React Element'); + + isActive = (i === selectedIndex) ? true : false; + + // tab element + tabEls.push( +
        • + + {item.props.label} + +
        • + ); + + // pane element + cls = tabsPaneClass + ' '; + if (isActive) cls += isActiveClass; + + paneEls.push( +
          + {item.props.children} +
          + ); + } + + cls = tabsBarClass; + if (this.props.justified) cls += ' ' + tabsBarJustifiedClass; + + return ( +
          +
            + {tabEls} +
          + {paneEls} +
          + ); + } +} + + +/** Define module API */ +export default Tabs; diff --git a/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/text-field.jsx b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/text-field.jsx new file mode 100644 index 0000000..c20b8ea --- /dev/null +++ b/sensortoy/sensortoy/platforms/ios/www/libs/mui/src/react/text-field.jsx @@ -0,0 +1,239 @@ +/** + * MUI React TextInput Component + * @module react/text-input + */ + +'use strict'; + +import React from 'react'; + +import * as util from '../js/lib/util'; +import { controlledMessage } from './_helpers'; + + +const PropTypes = React.PropTypes; + + +/** + * Input constructor + * @class + */ +class Input extends React.Component { + constructor(props) { + super(props); + + let value = props.value; + let innerValue = value || props.defaultValue; + + this.state = { + innerValue: innerValue, + isDirty: Boolean(innerValue) + }; + + // warn if value defined but onChange is not + if (value !== undefined && props.onChange === null) { + util.raiseError(controlledMessage, true); + } + + let cb = util.callback; + this.onChangeCB = cb(this, 'onChange'); + this.onFocusCB = cb(this, 'onFocus'); + } + + static propTypes = { + hint: PropTypes.string, + value: PropTypes.string, + type: PropTypes.string, + autoFocus: PropTypes.bool, + onChange: PropTypes.func + }; + + static defaultProps = { + hint: null, + type: null, + autoFocus: false, + onChange: null + }; + + componentDidMount() { + // disable MUI js + this.refs.inputEl._muiTextfield = true; + } + + onChange(ev) { + this.setState({innerValue: ev.target.value}); + + let fn = this.props.onChange; + if (fn) fn(ev); + } + + onFocus(ev) { + this.setState({isDirty: true}); + } + + triggerFocus() { + // hack to enable IE10 pointer-events shim + this.refs.inputEl.focus(); + } + + render() { + let cls = {}, + isNotEmpty = Boolean(this.state.innerValue), + inputEl; + + cls['mui--is-empty'] = !isNotEmpty; + cls['mui--is-not-empty'] = isNotEmpty; + cls['mui--is-dirty'] = this.state.isDirty; + cls['mui--is-invalid'] = this.props.invalid; + + cls = util.classNames(cls); + + let { children, ...other } = this.props; + + if (this.props.type === 'textarea') { + inputEl = ( + ",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;j--;)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){for(b=(b||"").match(G)||[""],j=b.length;j--;)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){for(l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){for(h=n.event.handlers.call(this,a,j),b=0;(f=h[b++])&&!a.isPropagationStopped();)for(a.currentTarget=f.elem,c=0;(g=f.handlers[c++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"},Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");h.style&&(h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h),n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}}))}();var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),void(null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c))))}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}}),n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;return 3!==f&&8!==f&&2!==f?"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d)):void 0},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)for(;c=f[e++];)d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;return 3!==f&&8!==f&&2!==f?(1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]):void 0},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a)for(b=a.match(G)||[];c=this[i++];)if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){for(g=0;f=b[g++];)d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a)for(b=a.match(G)||[];c=this[i++];)if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){for(g=0;f=b[g++];)for(;d.indexOf(" "+f+" ")>-1;)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c)for(d=0,e=n(this),f=a.match(G)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else void 0!==a&&"boolean"!==c||(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;for(b=" "+a+" ";c=this[d++];)if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g,hb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];return arguments.length?(d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))})):e?(b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)):void 0}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(hb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=n.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var ib=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ib.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,ib.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}for(g=0;(h=p[g++])&&!b.isPropagationStopped();)b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var jb=a.location,kb=n.now(),lb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var mb=/#.*$/,nb=/([?&])_=[^&]*/,ob=/^(.*?):[ \t]*([^\r\n]*)$/gm,pb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qb=/^(?:GET|HEAD)$/,rb=/^\/\//,sb={},tb={},ub="*/".concat("*"),vb=d.createElement("a");vb.href=jb.href,n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jb.href,type:"GET",isLocal:pb.test(jb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?yb(yb(a,n.ajaxSettings),b):yb(n.ajaxSettings,a)},ajaxPrefilter:wb(sb),ajaxTransport:wb(tb),ajax:function(b,c){function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=zb(m,x,d)),u=Ab(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h)for(h={};b=ob.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||jb.href)+"").replace(mb,"").replace(rb,jb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=vb.protocol+"//"+vb.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),xb(sb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!qb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(lb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=nb.test(f)?f.replace(nb,"$1_="+kb++):f+(lb.test(f)?"&":"?")+"_="+kb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+ub+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=xb(tb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Bb=/%20/g,Cb=/\[\]$/,Db=/\r?\n/g,Eb=/^(?:submit|button|image|reset|file)$/i,Fb=/^(?:input|select|textarea|keygen)/i;n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Gb(c,a[c],b,e);return d.join("&").replace(Bb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Fb.test(this.nodeName)&&!Eb.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Db,"\r\n")}}):{name:b.name,value:c.replace(Db,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Hb={0:200,1223:204},Ib=n.ajaxSettings.xhr();l.cors=!!Ib&&"withCredentials"in Ib,l.ajax=Ib=!!Ib,n.ajaxTransport(function(b){var c,d;return l.cors||Ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Hb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("