├── .gitignore ├── LICENSE ├── README.md ├── image ├── 微信.jpg ├── 支付宝.jpg ├── 效果图展示图.gif ├── 效果展示.gif └── 效果展示1.gif ├── platform ├── .bowerrc ├── .gitignore ├── .htaccess ├── .htrouter.php ├── .travis.yml ├── app │ ├── config │ │ ├── config.php │ │ ├── loader.php │ │ └── services.php │ ├── controllers │ │ ├── AdminController.php │ │ ├── ControllerBase.php │ │ ├── CourseController.php │ │ ├── ImageController.php │ │ ├── IndexController.php │ │ ├── LoginController.php │ │ ├── RegisterController.php │ │ └── UserController.php │ ├── library │ │ └── IPUtils.php │ ├── messages │ │ ├── en.php │ │ └── zh-CN.php │ ├── models │ │ ├── Container.php │ │ ├── CourseAccess.php │ │ ├── CourseCategory.php │ │ ├── Courses.php │ │ ├── Qa.php │ │ └── Users.php │ ├── plugins │ │ ├── ExceptionsPlugin.php │ │ └── SecurityPlugin.php │ └── views │ │ ├── admin │ │ ├── addQA.volt │ │ ├── categories.volt │ │ ├── editCategory.volt │ │ ├── editQA.volt │ │ ├── index.volt │ │ ├── monitor.volt │ │ ├── qa.volt │ │ ├── userCourse.volt │ │ ├── userCreate.volt │ │ └── users.volt │ │ ├── course │ │ ├── edit.volt │ │ └── new.volt │ │ ├── image │ │ └── index.volt │ │ ├── index.volt │ │ ├── index │ │ ├── courses.volt │ │ ├── index.volt │ │ ├── qa.volt │ │ ├── search.volt │ │ ├── show401.volt │ │ ├── show404.volt │ │ └── show503.volt │ │ ├── layouts │ │ ├── adminheader.volt │ │ ├── common_header.volt │ │ ├── common_login.volt │ │ ├── common_navbar.volt │ │ ├── course_header.volt │ │ ├── detail_header.volt │ │ ├── footer.volt │ │ ├── header.volt │ │ ├── index_header.volt │ │ ├── index_old_header.volt │ │ ├── old_footer.volt │ │ ├── oldfooter.volt │ │ ├── oldheader.volt │ │ └── qa_header.volt │ │ ├── login │ │ └── index.volt │ │ └── user │ │ ├── attach.volt │ │ ├── course.volt │ │ ├── index.volt │ │ ├── profile.volt │ │ └── running.volt ├── bower.json ├── composer.json ├── docs │ └── i18n.md ├── index.html ├── public │ ├── .htaccess │ ├── assets │ │ └── bower │ │ │ ├── bootstrap │ │ │ ├── .bower.json │ │ │ ├── CHANGELOG.md │ │ │ ├── Gemfile │ │ │ ├── Gemfile.lock │ │ │ ├── Gruntfile.js │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── dist │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ ├── bootstrap-theme.css.map │ │ │ │ │ ├── bootstrap-theme.min.css │ │ │ │ │ ├── bootstrap-theme.min.css.map │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ ├── bootstrap.css.map │ │ │ │ │ ├── bootstrap.min.css │ │ │ │ │ └── bootstrap.min.css.map │ │ │ │ ├── fonts │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ └── js │ │ │ │ │ ├── bootstrap.js │ │ │ │ │ ├── bootstrap.min.js │ │ │ │ │ └── npm.js │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ ├── grunt │ │ │ │ ├── .jshintrc │ │ │ │ ├── bs-commonjs-generator.js │ │ │ │ ├── bs-glyphicons-data-generator.js │ │ │ │ ├── bs-lessdoc-parser.js │ │ │ │ ├── bs-raw-files-generator.js │ │ │ │ ├── change-version.js │ │ │ │ ├── configBridge.json │ │ │ │ ├── npm-shrinkwrap.json │ │ │ │ └── sauce_browsers.yml │ │ │ ├── js │ │ │ │ ├── .jscsrc │ │ │ │ ├── .jshintrc │ │ │ │ ├── affix.js │ │ │ │ ├── alert.js │ │ │ │ ├── button.js │ │ │ │ ├── carousel.js │ │ │ │ ├── collapse.js │ │ │ │ ├── dropdown.js │ │ │ │ ├── modal.js │ │ │ │ ├── popover.js │ │ │ │ ├── scrollspy.js │ │ │ │ ├── tab.js │ │ │ │ ├── tooltip.js │ │ │ │ └── transition.js │ │ │ ├── less │ │ │ │ ├── .csscomb.json │ │ │ │ ├── .csslintrc │ │ │ │ ├── alerts.less │ │ │ │ ├── badges.less │ │ │ │ ├── bootstrap.less │ │ │ │ ├── breadcrumbs.less │ │ │ │ ├── button-groups.less │ │ │ │ ├── buttons.less │ │ │ │ ├── carousel.less │ │ │ │ ├── close.less │ │ │ │ ├── code.less │ │ │ │ ├── component-animations.less │ │ │ │ ├── dropdowns.less │ │ │ │ ├── forms.less │ │ │ │ ├── glyphicons.less │ │ │ │ ├── grid.less │ │ │ │ ├── input-groups.less │ │ │ │ ├── jumbotron.less │ │ │ │ ├── labels.less │ │ │ │ ├── list-group.less │ │ │ │ ├── media.less │ │ │ │ ├── mixins.less │ │ │ │ ├── mixins │ │ │ │ │ ├── alerts.less │ │ │ │ │ ├── background-variant.less │ │ │ │ │ ├── border-radius.less │ │ │ │ │ ├── buttons.less │ │ │ │ │ ├── center-block.less │ │ │ │ │ ├── clearfix.less │ │ │ │ │ ├── forms.less │ │ │ │ │ ├── gradients.less │ │ │ │ │ ├── grid-framework.less │ │ │ │ │ ├── grid.less │ │ │ │ │ ├── hide-text.less │ │ │ │ │ ├── image.less │ │ │ │ │ ├── labels.less │ │ │ │ │ ├── list-group.less │ │ │ │ │ ├── nav-divider.less │ │ │ │ │ ├── nav-vertical-align.less │ │ │ │ │ ├── opacity.less │ │ │ │ │ ├── pagination.less │ │ │ │ │ ├── panels.less │ │ │ │ │ ├── progress-bar.less │ │ │ │ │ ├── reset-filter.less │ │ │ │ │ ├── reset-text.less │ │ │ │ │ ├── resize.less │ │ │ │ │ ├── responsive-visibility.less │ │ │ │ │ ├── size.less │ │ │ │ │ ├── tab-focus.less │ │ │ │ │ ├── table-row.less │ │ │ │ │ ├── text-emphasis.less │ │ │ │ │ ├── text-overflow.less │ │ │ │ │ └── vendor-prefixes.less │ │ │ │ ├── modals.less │ │ │ │ ├── navbar.less │ │ │ │ ├── navs.less │ │ │ │ ├── normalize.less │ │ │ │ ├── pager.less │ │ │ │ ├── pagination.less │ │ │ │ ├── panels.less │ │ │ │ ├── popovers.less │ │ │ │ ├── print.less │ │ │ │ ├── progress-bars.less │ │ │ │ ├── responsive-embed.less │ │ │ │ ├── responsive-utilities.less │ │ │ │ ├── scaffolding.less │ │ │ │ ├── tables.less │ │ │ │ ├── theme.less │ │ │ │ ├── thumbnails.less │ │ │ │ ├── tooltip.less │ │ │ │ ├── type.less │ │ │ │ ├── utilities.less │ │ │ │ ├── variables.less │ │ │ │ └── wells.less │ │ │ ├── nuget │ │ │ │ ├── MyGet.ps1 │ │ │ │ ├── bootstrap.less.nuspec │ │ │ │ └── bootstrap.nuspec │ │ │ ├── package.js │ │ │ └── package.json │ │ │ ├── font-awesome │ │ │ ├── .bower.json │ │ │ ├── .gitignore │ │ │ ├── .npmignore │ │ │ ├── HELP-US-OUT.txt │ │ │ ├── bower.json │ │ │ ├── css │ │ │ │ ├── font-awesome.css │ │ │ │ ├── font-awesome.css.map │ │ │ │ └── font-awesome.min.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── less │ │ │ │ ├── animated.less │ │ │ │ ├── bordered-pulled.less │ │ │ │ ├── core.less │ │ │ │ ├── fixed-width.less │ │ │ │ ├── font-awesome.less │ │ │ │ ├── icons.less │ │ │ │ ├── larger.less │ │ │ │ ├── list.less │ │ │ │ ├── mixins.less │ │ │ │ ├── path.less │ │ │ │ ├── rotated-flipped.less │ │ │ │ ├── screen-reader.less │ │ │ │ ├── stacked.less │ │ │ │ └── variables.less │ │ │ └── scss │ │ │ │ ├── _animated.scss │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ ├── _core.scss │ │ │ │ ├── _fixed-width.scss │ │ │ │ ├── _icons.scss │ │ │ │ ├── _larger.scss │ │ │ │ ├── _list.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _path.scss │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ ├── _screen-reader.scss │ │ │ │ ├── _stacked.scss │ │ │ │ ├── _variables.scss │ │ │ │ └── font-awesome.scss │ │ │ ├── jquery │ │ │ ├── .bower.json │ │ │ ├── AUTHORS.txt │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── dist │ │ │ │ ├── core.js │ │ │ │ ├── jquery.js │ │ │ │ ├── jquery.min.js │ │ │ │ ├── jquery.min.map │ │ │ │ ├── jquery.slim.js │ │ │ │ ├── jquery.slim.min.js │ │ │ │ └── jquery.slim.min.map │ │ │ ├── external │ │ │ │ └── sizzle │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ └── dist │ │ │ │ │ ├── sizzle.js │ │ │ │ │ ├── sizzle.min.js │ │ │ │ │ └── sizzle.min.map │ │ │ └── src │ │ │ │ ├── .eslintrc │ │ │ │ ├── ajax.js │ │ │ │ ├── ajax │ │ │ │ ├── jsonp.js │ │ │ │ ├── load.js │ │ │ │ ├── parseXML.js │ │ │ │ ├── script.js │ │ │ │ ├── var │ │ │ │ │ ├── location.js │ │ │ │ │ ├── nonce.js │ │ │ │ │ └── rquery.js │ │ │ │ └── xhr.js │ │ │ │ ├── attributes.js │ │ │ │ ├── attributes │ │ │ │ ├── attr.js │ │ │ │ ├── classes.js │ │ │ │ ├── prop.js │ │ │ │ ├── support.js │ │ │ │ └── val.js │ │ │ │ ├── callbacks.js │ │ │ │ ├── core.js │ │ │ │ ├── core │ │ │ │ ├── DOMEval.js │ │ │ │ ├── access.js │ │ │ │ ├── init.js │ │ │ │ ├── parseHTML.js │ │ │ │ ├── ready-no-deferred.js │ │ │ │ ├── ready.js │ │ │ │ ├── readyException.js │ │ │ │ ├── support.js │ │ │ │ └── var │ │ │ │ │ └── rsingleTag.js │ │ │ │ ├── css.js │ │ │ │ ├── css │ │ │ │ ├── addGetHookIf.js │ │ │ │ ├── adjustCSS.js │ │ │ │ ├── curCSS.js │ │ │ │ ├── hiddenVisibleSelectors.js │ │ │ │ ├── showHide.js │ │ │ │ ├── support.js │ │ │ │ └── var │ │ │ │ │ ├── cssExpand.js │ │ │ │ │ ├── getStyles.js │ │ │ │ │ ├── isHiddenWithinTree.js │ │ │ │ │ ├── rmargin.js │ │ │ │ │ ├── rnumnonpx.js │ │ │ │ │ └── swap.js │ │ │ │ ├── data.js │ │ │ │ ├── data │ │ │ │ ├── Data.js │ │ │ │ └── var │ │ │ │ │ ├── acceptData.js │ │ │ │ │ ├── dataPriv.js │ │ │ │ │ └── dataUser.js │ │ │ │ ├── deferred.js │ │ │ │ ├── deferred │ │ │ │ └── exceptionHook.js │ │ │ │ ├── deprecated.js │ │ │ │ ├── dimensions.js │ │ │ │ ├── effects.js │ │ │ │ ├── effects │ │ │ │ ├── Tween.js │ │ │ │ └── animatedSelector.js │ │ │ │ ├── event.js │ │ │ │ ├── event │ │ │ │ ├── ajax.js │ │ │ │ ├── alias.js │ │ │ │ ├── focusin.js │ │ │ │ ├── support.js │ │ │ │ └── trigger.js │ │ │ │ ├── exports │ │ │ │ ├── amd.js │ │ │ │ └── global.js │ │ │ │ ├── jquery.js │ │ │ │ ├── manipulation.js │ │ │ │ ├── manipulation │ │ │ │ ├── _evalUrl.js │ │ │ │ ├── buildFragment.js │ │ │ │ ├── getAll.js │ │ │ │ ├── setGlobalEval.js │ │ │ │ ├── support.js │ │ │ │ ├── var │ │ │ │ │ ├── rcheckableType.js │ │ │ │ │ ├── rscriptType.js │ │ │ │ │ └── rtagName.js │ │ │ │ └── wrapMap.js │ │ │ │ ├── offset.js │ │ │ │ ├── queue.js │ │ │ │ ├── queue │ │ │ │ └── delay.js │ │ │ │ ├── selector-native.js │ │ │ │ ├── selector-sizzle.js │ │ │ │ ├── selector.js │ │ │ │ ├── serialize.js │ │ │ │ ├── traversing.js │ │ │ │ ├── traversing │ │ │ │ ├── findFilter.js │ │ │ │ └── var │ │ │ │ │ ├── dir.js │ │ │ │ │ ├── rneedsContext.js │ │ │ │ │ └── siblings.js │ │ │ │ ├── var │ │ │ │ ├── ObjectFunctionString.js │ │ │ │ ├── arr.js │ │ │ │ ├── class2type.js │ │ │ │ ├── concat.js │ │ │ │ ├── document.js │ │ │ │ ├── documentElement.js │ │ │ │ ├── fnToString.js │ │ │ │ ├── getProto.js │ │ │ │ ├── hasOwn.js │ │ │ │ ├── indexOf.js │ │ │ │ ├── pnum.js │ │ │ │ ├── push.js │ │ │ │ ├── rcssNum.js │ │ │ │ ├── rnotwhite.js │ │ │ │ ├── slice.js │ │ │ │ ├── support.js │ │ │ │ └── toString.js │ │ │ │ └── wrap.js │ │ │ ├── materialize │ │ │ ├── .bower.json │ │ │ ├── .editorconfig │ │ │ ├── .gitattributes │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── bin │ │ │ │ ├── materialize.css │ │ │ │ └── materialize.js │ │ │ ├── bower.json │ │ │ ├── dist │ │ │ │ ├── css │ │ │ │ │ ├── materialize.css │ │ │ │ │ └── materialize.min.css │ │ │ │ ├── fonts │ │ │ │ │ └── roboto │ │ │ │ │ │ ├── Roboto-Bold.eot │ │ │ │ │ │ ├── Roboto-Bold.ttf │ │ │ │ │ │ ├── Roboto-Bold.woff │ │ │ │ │ │ ├── Roboto-Bold.woff2 │ │ │ │ │ │ ├── Roboto-Light.eot │ │ │ │ │ │ ├── Roboto-Light.ttf │ │ │ │ │ │ ├── Roboto-Light.woff │ │ │ │ │ │ ├── Roboto-Light.woff2 │ │ │ │ │ │ ├── Roboto-Medium.eot │ │ │ │ │ │ ├── Roboto-Medium.ttf │ │ │ │ │ │ ├── Roboto-Medium.woff │ │ │ │ │ │ ├── Roboto-Medium.woff2 │ │ │ │ │ │ ├── Roboto-Regular.eot │ │ │ │ │ │ ├── Roboto-Regular.ttf │ │ │ │ │ │ ├── Roboto-Regular.woff │ │ │ │ │ │ ├── Roboto-Regular.woff2 │ │ │ │ │ │ ├── Roboto-Thin.eot │ │ │ │ │ │ ├── Roboto-Thin.ttf │ │ │ │ │ │ ├── Roboto-Thin.woff │ │ │ │ │ │ └── Roboto-Thin.woff2 │ │ │ │ └── js │ │ │ │ │ ├── materialize.js │ │ │ │ │ └── materialize.min.js │ │ │ ├── extras │ │ │ │ └── noUiSlider │ │ │ │ │ ├── nouislider.css │ │ │ │ │ ├── nouislider.js │ │ │ │ │ └── nouislider.min.js │ │ │ ├── fonts │ │ │ │ └── roboto │ │ │ │ │ ├── Roboto-Bold.eot │ │ │ │ │ ├── Roboto-Bold.ttf │ │ │ │ │ ├── Roboto-Bold.woff │ │ │ │ │ ├── Roboto-Bold.woff2 │ │ │ │ │ ├── Roboto-Light.eot │ │ │ │ │ ├── Roboto-Light.ttf │ │ │ │ │ ├── Roboto-Light.woff │ │ │ │ │ ├── Roboto-Light.woff2 │ │ │ │ │ ├── Roboto-Medium.eot │ │ │ │ │ ├── Roboto-Medium.ttf │ │ │ │ │ ├── Roboto-Medium.woff │ │ │ │ │ ├── Roboto-Medium.woff2 │ │ │ │ │ ├── Roboto-Regular.eot │ │ │ │ │ ├── Roboto-Regular.ttf │ │ │ │ │ ├── Roboto-Regular.woff │ │ │ │ │ ├── Roboto-Regular.woff2 │ │ │ │ │ ├── Roboto-Thin.eot │ │ │ │ │ ├── Roboto-Thin.ttf │ │ │ │ │ ├── Roboto-Thin.woff │ │ │ │ │ └── Roboto-Thin.woff2 │ │ │ ├── js │ │ │ │ ├── animation.js │ │ │ │ ├── buttons.js │ │ │ │ ├── cards.js │ │ │ │ ├── carousel.js │ │ │ │ ├── character_counter.js │ │ │ │ ├── chips.js │ │ │ │ ├── collapsible.js │ │ │ │ ├── date_picker │ │ │ │ │ ├── picker.date.js │ │ │ │ │ └── picker.js │ │ │ │ ├── dropdown.js │ │ │ │ ├── forms.js │ │ │ │ ├── global.js │ │ │ │ ├── hammer.min.js │ │ │ │ ├── initial.js │ │ │ │ ├── jquery.easing.1.3.js │ │ │ │ ├── jquery.hammer.js │ │ │ │ ├── jquery.timeago.min.js │ │ │ │ ├── leanModal.js │ │ │ │ ├── materialbox.js │ │ │ │ ├── parallax.js │ │ │ │ ├── pushpin.js │ │ │ │ ├── scrollFire.js │ │ │ │ ├── scrollspy.js │ │ │ │ ├── sideNav.js │ │ │ │ ├── slider.js │ │ │ │ ├── tabs.js │ │ │ │ ├── toasts.js │ │ │ │ ├── tooltip.js │ │ │ │ ├── transitions.js │ │ │ │ ├── velocity.min.js │ │ │ │ └── waves.js │ │ │ ├── package.js │ │ │ ├── sass │ │ │ │ ├── components │ │ │ │ │ ├── _buttons.scss │ │ │ │ │ ├── _cards.scss │ │ │ │ │ ├── _carousel.scss │ │ │ │ │ ├── _chips.scss │ │ │ │ │ ├── _collapsible.scss │ │ │ │ │ ├── _color.scss │ │ │ │ │ ├── _dropdown.scss │ │ │ │ │ ├── _global.scss │ │ │ │ │ ├── _grid.scss │ │ │ │ │ ├── _icons-material-design.scss │ │ │ │ │ ├── _materialbox.scss │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ ├── _modal.scss │ │ │ │ │ ├── _navbar.scss │ │ │ │ │ ├── _normalize.scss │ │ │ │ │ ├── _prefixer.scss │ │ │ │ │ ├── _preloader.scss │ │ │ │ │ ├── _roboto.scss │ │ │ │ │ ├── _sideNav.scss │ │ │ │ │ ├── _slider.scss │ │ │ │ │ ├── _table_of_contents.scss │ │ │ │ │ ├── _tabs.scss │ │ │ │ │ ├── _toast.scss │ │ │ │ │ ├── _tooltip.scss │ │ │ │ │ ├── _typography.scss │ │ │ │ │ ├── _variables.scss │ │ │ │ │ ├── _waves.scss │ │ │ │ │ ├── date_picker │ │ │ │ │ │ ├── _default.date.scss │ │ │ │ │ │ ├── _default.scss │ │ │ │ │ │ └── _default.time.scss │ │ │ │ │ └── forms │ │ │ │ │ │ ├── _checkboxes.scss │ │ │ │ │ │ ├── _file-input.scss │ │ │ │ │ │ ├── _forms.scss │ │ │ │ │ │ ├── _input-fields.scss │ │ │ │ │ │ ├── _radio-buttons.scss │ │ │ │ │ │ ├── _range.scss │ │ │ │ │ │ ├── _select.scss │ │ │ │ │ │ └── _switches.scss │ │ │ │ └── materialize.scss │ │ │ ├── templates │ │ │ │ ├── masonry-template │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── background1.jpg │ │ │ │ │ ├── background2.jpg │ │ │ │ │ ├── background3.jpg │ │ │ │ │ ├── css │ │ │ │ │ │ └── style.css │ │ │ │ │ └── js │ │ │ │ │ │ ├── init.js │ │ │ │ │ │ └── masonry.pkgd.min.js │ │ │ │ ├── parallax-template │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── background1.jpg │ │ │ │ │ ├── background2.jpg │ │ │ │ │ ├── background3.jpg │ │ │ │ │ ├── css │ │ │ │ │ │ └── style.css │ │ │ │ │ └── js │ │ │ │ │ │ └── init.js │ │ │ │ └── starter-template │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── css │ │ │ │ │ └── style.css │ │ │ │ │ └── js │ │ │ │ │ └── init.js │ │ │ └── tests │ │ │ │ └── spec │ │ │ │ ├── cards │ │ │ │ └── cardsSpec.js │ │ │ │ ├── collapsible │ │ │ │ └── collapsibleSpec.js │ │ │ │ ├── helper.js │ │ │ │ ├── scrollFire │ │ │ │ └── scrollFireSpec.js │ │ │ │ ├── select │ │ │ │ └── selectSpec.js │ │ │ │ ├── tabs │ │ │ │ └── tabsSpec.js │ │ │ │ ├── toast │ │ │ │ └── toastSpec.js │ │ │ │ └── tooltip │ │ │ │ └── tooltipSpec.js │ │ │ ├── wangEditor │ │ │ ├── .bower.json │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── Gruntfile.js │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── dist │ │ │ │ ├── css │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── icomoon.eot │ │ │ │ │ │ ├── icomoon.svg │ │ │ │ │ │ ├── icomoon.ttf │ │ │ │ │ │ └── icomoon.woff │ │ │ │ │ ├── wangEditor.css │ │ │ │ │ ├── wangEditor.less │ │ │ │ │ └── wangEditor.min.css │ │ │ │ └── js │ │ │ │ │ ├── lib │ │ │ │ │ ├── jquery-1.10.2.min.js │ │ │ │ │ └── jquery-2.2.1.js │ │ │ │ │ ├── wangEditor.js │ │ │ │ │ └── wangEditor.min.js │ │ │ ├── node_modules │ │ │ │ └── formidable │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Readme.md │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ ├── file.js │ │ │ │ │ ├── incoming_form.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── json_parser.js │ │ │ │ │ ├── multipart_parser.js │ │ │ │ │ ├── octet_parser.js │ │ │ │ │ └── querystring_parser.js │ │ │ │ │ └── package.json │ │ │ ├── package.json │ │ │ ├── server-for-cros.js │ │ │ ├── server.js │ │ │ ├── static │ │ │ │ ├── emotions │ │ │ │ │ ├── default │ │ │ │ │ │ ├── 1.gif │ │ │ │ │ │ ├── 10.gif │ │ │ │ │ │ ├── 11.gif │ │ │ │ │ │ ├── 12.gif │ │ │ │ │ │ ├── 13.gif │ │ │ │ │ │ ├── 14.gif │ │ │ │ │ │ ├── 15.gif │ │ │ │ │ │ ├── 16.gif │ │ │ │ │ │ ├── 17.gif │ │ │ │ │ │ ├── 18.gif │ │ │ │ │ │ ├── 19.gif │ │ │ │ │ │ ├── 2.gif │ │ │ │ │ │ ├── 20.gif │ │ │ │ │ │ ├── 21.gif │ │ │ │ │ │ ├── 22.gif │ │ │ │ │ │ ├── 23.gif │ │ │ │ │ │ ├── 24.gif │ │ │ │ │ │ ├── 25.gif │ │ │ │ │ │ ├── 26.gif │ │ │ │ │ │ ├── 27.gif │ │ │ │ │ │ ├── 28.gif │ │ │ │ │ │ ├── 29.gif │ │ │ │ │ │ ├── 3.gif │ │ │ │ │ │ ├── 30.gif │ │ │ │ │ │ ├── 31.gif │ │ │ │ │ │ ├── 32.gif │ │ │ │ │ │ ├── 33.gif │ │ │ │ │ │ ├── 34.gif │ │ │ │ │ │ ├── 35.gif │ │ │ │ │ │ ├── 36.gif │ │ │ │ │ │ ├── 37.gif │ │ │ │ │ │ ├── 38.gif │ │ │ │ │ │ ├── 39.gif │ │ │ │ │ │ ├── 4.gif │ │ │ │ │ │ ├── 40.gif │ │ │ │ │ │ ├── 41.gif │ │ │ │ │ │ ├── 42.gif │ │ │ │ │ │ ├── 43.gif │ │ │ │ │ │ ├── 44.gif │ │ │ │ │ │ ├── 45.gif │ │ │ │ │ │ ├── 46.gif │ │ │ │ │ │ ├── 47.gif │ │ │ │ │ │ ├── 48.gif │ │ │ │ │ │ ├── 49.gif │ │ │ │ │ │ ├── 5.gif │ │ │ │ │ │ ├── 50.gif │ │ │ │ │ │ ├── 6.gif │ │ │ │ │ │ ├── 7.gif │ │ │ │ │ │ ├── 8.gif │ │ │ │ │ │ └── 9.gif │ │ │ │ │ └── jinxing │ │ │ │ │ │ ├── 1.gif │ │ │ │ │ │ ├── 2.gif │ │ │ │ │ │ ├── 3.gif │ │ │ │ │ │ ├── 4.gif │ │ │ │ │ │ ├── 5.gif │ │ │ │ │ │ └── 6.gif │ │ │ │ └── highlightjs │ │ │ │ │ ├── dark.css │ │ │ │ │ ├── github.css │ │ │ │ │ └── highlight.pack.js │ │ │ ├── test │ │ │ │ ├── angular │ │ │ │ │ └── test-angular.html │ │ │ │ ├── bootstrap │ │ │ │ │ ├── bs-3.3.5 │ │ │ │ │ │ ├── css │ │ │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ │ │ ├── bootstrap-theme.css.map │ │ │ │ │ │ │ ├── bootstrap-theme.min.css │ │ │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ │ │ ├── bootstrap.css.map │ │ │ │ │ │ │ └── bootstrap.min.css │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ │ │ └── js │ │ │ │ │ │ │ ├── bootstrap.js │ │ │ │ │ │ │ ├── bootstrap.min.js │ │ │ │ │ │ │ └── npm.js │ │ │ │ │ └── test-bs-modal.html │ │ │ │ ├── custom-menu │ │ │ │ │ ├── custom-menu.html │ │ │ │ │ └── js │ │ │ │ │ │ ├── custom-menu-1.js │ │ │ │ │ │ ├── custom-menu-2.js │ │ │ │ │ │ ├── custom-menu.js │ │ │ │ │ │ └── require-main.js │ │ │ │ ├── emotions.data │ │ │ │ ├── icomoon │ │ │ │ │ ├── Read Me.txt │ │ │ │ │ ├── demo-files │ │ │ │ │ │ ├── demo.css │ │ │ │ │ │ └── demo.js │ │ │ │ │ ├── demo.html │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── icomoon.eot │ │ │ │ │ │ ├── icomoon.svg │ │ │ │ │ │ ├── icomoon.ttf │ │ │ │ │ │ └── icomoon.woff │ │ │ │ │ ├── selection.json │ │ │ │ │ └── style.css │ │ │ │ ├── index.html │ │ │ │ ├── plupload │ │ │ │ │ ├── lib │ │ │ │ │ │ └── plupload │ │ │ │ │ │ │ ├── Moxie.swf │ │ │ │ │ │ │ ├── Moxie.xap │ │ │ │ │ │ │ └── plupload.full.min.js │ │ │ │ │ └── test.html │ │ │ │ ├── requirejs │ │ │ │ │ ├── js │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── require.js │ │ │ │ │ └── test-requirejs.html │ │ │ │ ├── seajs │ │ │ │ │ ├── js │ │ │ │ │ │ ├── jquery-2.2.1-for-seajs.js │ │ │ │ │ │ └── sea.js │ │ │ │ │ ├── main.js │ │ │ │ │ └── test-seajs.html │ │ │ │ ├── step-test │ │ │ │ │ ├── test1.html │ │ │ │ │ └── test2.html │ │ │ │ ├── test-createbyelem.html │ │ │ │ ├── test-js-head.html │ │ │ │ ├── test-lang.html │ │ │ │ ├── test-menus.html │ │ │ │ ├── test-muti.html │ │ │ │ ├── test-style.html │ │ │ │ ├── test-uploadfn.html │ │ │ │ ├── vue │ │ │ │ │ └── test-vue.html │ │ │ │ └── z-test.html │ │ │ └── uploadfiles │ │ │ │ └── readme │ │ │ └── xterm.js │ │ │ ├── .bower.json │ │ │ ├── .editorconfig │ │ │ ├── .github │ │ │ └── ISSUE_TEMPLATE.md │ │ │ ├── .mailmap │ │ │ ├── .travis.yml │ │ │ ├── AUTHORS │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Dockerfile │ │ │ ├── LICENSE │ │ │ ├── Procfile.dev │ │ │ ├── README.md │ │ │ ├── addons │ │ │ ├── attach │ │ │ │ ├── attach.js │ │ │ │ ├── index.html │ │ │ │ └── package.json │ │ │ ├── fit │ │ │ │ ├── fit.js │ │ │ │ └── package.json │ │ │ ├── fullscreen │ │ │ │ ├── fullscreen.css │ │ │ │ ├── fullscreen.js │ │ │ │ └── package.json │ │ │ └── linkify │ │ │ │ ├── index.html │ │ │ │ ├── linkify.js │ │ │ │ └── package.json │ │ │ ├── bin │ │ │ ├── generate-authors │ │ │ └── prepare-release │ │ │ ├── bower.json │ │ │ ├── jsdoc.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ ├── xterm.css │ │ │ └── xterm.js │ │ │ └── xtermjs.png │ ├── css │ │ ├── index.css │ │ ├── info.css │ │ ├── login.css │ │ ├── style.css │ │ └── xterm.css │ ├── img │ │ ├── show.gif │ │ └── texture-blue-fonchik-simple-dark-colors-glow-background.jpg │ ├── imgs │ │ ├── bg-course.png │ │ ├── bg.png │ │ ├── bg_01.png │ │ ├── bg_02.png │ │ ├── bg_03.png │ │ ├── bg_04.png │ │ ├── course_01.png │ │ ├── course_02.png │ │ ├── course_03.png │ │ ├── course_04.png │ │ ├── course_05.png │ │ ├── course_06.png │ │ ├── course_07.png │ │ ├── dialog.png │ │ ├── fullscreen.png │ │ ├── icon_course.png │ │ ├── icon_gray.png │ │ ├── icon_green.png │ │ ├── icon_menu1.png │ │ ├── icon_menu1_active.png │ │ ├── icon_menu2.png │ │ ├── icon_menu2_active.png │ │ ├── icon_menu3.png │ │ ├── icon_menu3_active.png │ │ ├── icon_qa.png │ │ ├── icon_search.png │ │ ├── icon_user.png │ │ ├── img_detail.png │ │ ├── info_green.jpg │ │ ├── info_red.jpg │ │ ├── logo.png │ │ ├── logo1.png │ │ ├── qrcode.jpg │ │ ├── search_bg.png │ │ ├── study.png │ │ ├── study_hover.png │ │ ├── username.png │ │ ├── userpwd.png │ │ └── 韬唤璇_jpg │ ├── index.php │ └── js │ │ ├── common.js │ │ ├── fetch.min.js │ │ └── xterm.js └── tests │ ├── TestHelper.php │ └── UnitTestCase.php ├── 数据库 └── platform.sql ├── 课程报告 ├── csrf基础训练一.doc ├── csrf基础训练二.doc ├── dom型xss基础训练.doc ├── sql注入基础训练一.doc ├── sql注入基础训练二.doc ├── sql注入盲注训练一.doc ├── sql注入盲注训练二.doc ├── url重定向基础训练.doc ├── xxe漏洞学习.doc ├── 反射型xss基础训练一.doc ├── 反射型xss基础训练二.doc ├── 命令注入基础训练一.doc ├── 命令注入基础训练二.doc ├── 垂直越权基础训练.doc ├── 存储型xss基础训练一.doc ├── 存储型xss基础训练二.doc ├── 宽字节注入详解一.doc ├── 宽字节注入详解二.doc ├── 弱加密算法基础训练.doc ├── 文件上传基础训练一.doc ├── 文件上传基础训练二.doc ├── 文件下载基础训练.doc ├── 文件删除操作基础训练.doc ├── 本地文件包含基础训练一.doc ├── 本地文件包含基础训练二.doc ├── 水平越权基础训练.doc ├── 突变型xss基础训练.doc ├── 远程文件包含基础训练一.doc └── 远程文件包含基础训练二.doc └── 项目说明 ├── Phalcon框架资料.md ├── docker api未授权访问.md ├── 数据库设计文档.md ├── 猎鹰安全.xmind ├── 账号信息.md └── 部署文档.md /.gitignore: -------------------------------------------------------------------------------- 1 | /cache/ 2 | /config/development/ 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # www.lysec.org 2 | # 效果预览 3 | ![img](https://github.com/CAT-Team-mmc/lysec/blob/master/image/%E6%95%88%E6%9E%9C%E5%9B%BE%E5%B1%95%E7%A4%BA%E5%9B%BE.gif) 4 | ![img](https://github.com/CAT-Team-mmc/lysec/blob/master/image/%E6%95%88%E6%9E%9C%E5%B1%95%E7%A4%BA.gif) 5 | ![img](https://github.com/CAT-Team-mmc/lysec/blob/master/image/%E6%95%88%E6%9E%9C%E5%B1%95%E7%A4%BA1.gif) 6 | ## 技术选型 ## 7 | 8 | 后端部分主要采用PHP,以性能为主,采用[Phalcon](https://phalconphp.com/zh/)框架,利用[composer](https://getcomposer.org/)管理依赖。 9 | 10 | 前端部分先采用bower管理依赖。 11 | 12 | ## 项目说明 ## 13 | 项目结构在platform目录下 14 | ###### 注意在服务器做配置的时候public目录必须配置为入口目录 15 | 16 | ## 待解决问题 ## 17 | + 管理后台docker镜像拉去 18 | + 容器stop的时候不太稳定,有可能造成容易已经结束了,但是数据库container表并没有清理干净 19 | + 管理后台界面设计问题 20 | + 用户中心目前还是比较简单 21 | + docker镜像文件目前还在整理阶段,整理完成以后一起发布 22 | ## 安全问题 ## 23 | 因为此项目是关于docker的项目,所以在部署的时候注意docker api未授权访问。其他安全问题后续持续跟进 24 | 25 | ## 项目组介绍 ## 26 | ### 项目简介 27 | 此项目由CatTeam安全团队的开发组设计完成。主要为想学习安全的朋友提供一个简单直接的安全攻防在线实战平台。 28 | ### 项目组成员 29 | - mmc 30 | 项目负责人 31 | - 独步清风 32 | 后端开发 33 | - Elin 34 | 前端开发 35 | - 冰雪绒 36 | 前端开发 37 | - vv 38 | UI 39 | ## 其它问题 ## 40 | + 问题反馈 41 | + 加入我们 42 | + 合作开发 43 | ## 问题反馈 ## 44 | + QQ: 2022137639 45 | + 微信:wx_1109 46 | 47 | -------------------------------------------------------------------------------- /image/微信.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/image/微信.jpg -------------------------------------------------------------------------------- /image/支付宝.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/image/支付宝.jpg -------------------------------------------------------------------------------- /image/效果图展示图.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/image/效果图展示图.gif -------------------------------------------------------------------------------- /image/效果展示.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/image/效果展示.gif -------------------------------------------------------------------------------- /image/效果展示1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/image/效果展示1.gif -------------------------------------------------------------------------------- /platform/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "public/assets/bower" 3 | } -------------------------------------------------------------------------------- /platform/.gitignore: -------------------------------------------------------------------------------- 1 | composer.lock 2 | phpunit.xml 3 | vendor 4 | .idea 5 | app/cache -------------------------------------------------------------------------------- /platform/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | RewriteEngine on 3 | RewriteRule ^$ public/ [L] 4 | RewriteRule (.*) public/$1 [L] 5 | -------------------------------------------------------------------------------- /platform/.htrouter.php: -------------------------------------------------------------------------------- 1 | registerDirs( 9 | [ 10 | $config->application->controllersDir, 11 | $config->application->modelsDir, 12 | $config->application->pluginsDir, 13 | $config->application->libraryDir 14 | ] 15 | )->register(); 16 | 17 | //require_once __DIR__ . '../../vendor/autoload.php'; 18 | -------------------------------------------------------------------------------- /platform/app/controllers/RegisterController.php: -------------------------------------------------------------------------------- 1 | getControllerName(); 19 | // echo $dispatcher->getActionName(); 20 | // die(); 21 | $dispatcher->forward(array( 22 | 'controller' => 'index', 23 | 'action' => 'show404' 24 | )); 25 | return false; 26 | } 27 | 28 | // // 处理其他异常 29 | // $dispatcher->forward(array( 30 | // 'controller' => 'index', 31 | // 'action' => 'show503' 32 | // )); 33 | 34 | return false; 35 | } 36 | } -------------------------------------------------------------------------------- /platform/app/views/index.volt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | tag->getTitle(); ?> 12 | 13 | {{ content() }} 14 | 15 | 16 | -------------------------------------------------------------------------------- /platform/app/views/index/qa.volt: -------------------------------------------------------------------------------- 1 | 11 | {% include "layouts/qa_header.volt" %} 12 |
13 | {% for qa in qas %} 14 |
15 |

{{ qa.meta_key|e }}

16 |
{{ qa.meta_value }}
17 |
18 | {% elsefor %} 19 | {% endfor %} 20 |
21 | {{ javascript_include("assets/bower/jquery/dist/jquery.min.js") }} 22 | {{ javascript_include("js/common.js") }} 23 | {% include "layouts/footer.volt" %} 24 | 35 | {% include "layouts/common_login.volt" %} -------------------------------------------------------------------------------- /platform/app/views/index/show401.volt: -------------------------------------------------------------------------------- 1 | {{ stylesheet_link("assets/bower/bootstrap/dist/css/bootstrap.min.css") }} 2 | 3 | 4 |
5 | 8 |

_("index_show401_h4_please"); ?>_("common_login"); ?>.

9 |

This page is located at views/index/show401.volt

10 |
11 | {% include "layouts/oldfooter.volt" %} -------------------------------------------------------------------------------- /platform/app/views/index/show404.volt: -------------------------------------------------------------------------------- 1 | {{ stylesheet_link("assets/bower/bootstrap/dist/css/bootstrap.min.css") }} 2 | 3 | 4 |
5 | 8 | 9 |

This page is located at views/index/show404.volt

10 |
11 | {% include "layouts/oldfooter.volt" %} -------------------------------------------------------------------------------- /platform/app/views/index/show503.volt: -------------------------------------------------------------------------------- 1 | {{ stylesheet_link("assets/bower/bootstrap/dist/css/bootstrap.min.css") }} 2 | 3 | 4 |
5 | 8 | 9 |

This page is located at views/index/show503.volt

10 |
11 | {% include "layouts/oldfooter.volt" %} -------------------------------------------------------------------------------- /platform/app/views/layouts/common_header.volt: -------------------------------------------------------------------------------- 1 | {{ stylesheet_link("css/style.css") }} 2 | 3 | -------------------------------------------------------------------------------- /platform/app/views/layouts/common_navbar.volt: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 | 博客 6 | 问与答 7 | 课程 8 |
9 |
10 | {% if username %} 11 | {{ username |e }} 12 | 17 | {% else %} 18 | 登录 19 | {% endif %} 20 |
21 |
22 |
-------------------------------------------------------------------------------- /platform/app/views/layouts/course_header.volt: -------------------------------------------------------------------------------- 1 | {{ stylesheet_link("css/style.css") }} 2 | 3 | 4 |
5 |
6 |
7 | 8 |
9 | 博客 10 | 问与答 11 | 课程 12 |
13 |
14 | {% if username %} 15 | {{ username |e }} 16 | 21 | {% else %} 22 | 登录 23 | {% endif %} 24 |
25 |
26 |
-------------------------------------------------------------------------------- /platform/app/views/layouts/footer.volt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /platform/app/views/layouts/header.volt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/app/views/layouts/header.volt -------------------------------------------------------------------------------- /platform/app/views/layouts/index_header.volt: -------------------------------------------------------------------------------- 1 | {{ stylesheet_link("css/style.css") }} 2 | 3 | 4 |
5 |
6 | 7 |
8 | 博客 9 | 问与答 10 | 课程 11 | {% if username %} 12 | {{ username |e }} 13 | {% else %} 14 | 登录 15 | {% endif %} 16 |
17 |
18 |
-------------------------------------------------------------------------------- /platform/app/views/layouts/oldfooter.volt: -------------------------------------------------------------------------------- 1 | {{ javascript_include("assets/bower/jquery/dist/jquery.min.js") }} 2 | {{ javascript_include("assets/bower/bootstrap/dist/js/bootstrap.min.js") }} -------------------------------------------------------------------------------- /platform/app/views/user/index.volt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/app/views/user/index.volt -------------------------------------------------------------------------------- /platform/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "platform", 3 | "version": "1.0.0", 4 | "homepage": "http://dbqf.xyz", 5 | "authors": [ 6 | "Dubuqingfeng" 7 | ], 8 | "description": "An attacking & defense platform.", 9 | "keywords": [ 10 | "platform", 11 | "theme" 12 | ], 13 | "license": "Apache-2.0", 14 | "ignore": [ 15 | "**/.*", 16 | "node_modules", 17 | "bower_components", 18 | "test", 19 | "tests", 20 | "pages", 21 | "index.html", 22 | "/js" 23 | ], 24 | "main": [ 25 | "dist/css/login.css" 26 | ], 27 | "dependencies": { 28 | "bootstrap": "~3.3.7", 29 | "font-awesome": "fontawesome#^4.6.3", 30 | "materialize": "latest", 31 | "xterm.js": "~1.0.0", 32 | "wangEditor": "^2.1.18" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /platform/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dubuqingfeng/platform", 3 | "version": "1.0", 4 | "description": "php", 5 | "keywords": [ 6 | "dubuqingfeng", 7 | "php", 8 | "platform", 9 | "docker" 10 | ], 11 | "homepage": "https://github.com/dubuqingfeng", 12 | "license": "MIT", 13 | "authors": [ 14 | { 15 | "name": "Dubu Qingfeng", 16 | "email": "1135326346@qq.com", 17 | "homepage": "https://github.com/dubuqingfeng" 18 | } 19 | ], 20 | "require": { 21 | "php": "~5.5|~7.0", 22 | "phalcon/incubator": "~3.0", 23 | "fabfuel/prophiler": "~1.0", 24 | "docker-php/docker-php": "1.23.1", 25 | "erusev/parsedown": "1.6.0", 26 | "china-shevy/sendcloud-email-v2": "dev-master", 27 | "linkorb/etcd-php": "~1.2.1" 28 | }, 29 | "require-dev": { 30 | "phpunit/phpunit": "5.4.*", 31 | "gee-team/gt-php-sdk": "dev-master", 32 | "phpmailer/phpmailer": "~6.0.0rc2", 33 | "dubuqingfeng/shipyard-api": "dev-master" 34 | }, 35 | "autoload": { 36 | "psr-4": { 37 | "App\\": "app" 38 | } 39 | }, 40 | "scripts": { 41 | "test": "phpunit" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /platform/docs/i18n.md: -------------------------------------------------------------------------------- 1 | #国际化 2 | 3 | ##配置过程 4 | 5 | ###安装 6 | 7 | 8 | ##参考链接 9 | -------------------------------------------------------------------------------- /platform/index.html: -------------------------------------------------------------------------------- 1 |

Mod-Rewrite is not enabled

Please enable rewrite module on your web server to continue -------------------------------------------------------------------------------- /platform/public/.htaccess: -------------------------------------------------------------------------------- 1 | AddDefaultCharset UTF-8 2 | 3 | 4 | RewriteEngine On 5 | RewriteCond %{REQUEST_FILENAME} !-d 6 | RewriteCond %{REQUEST_FILENAME} !-f 7 | RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L] 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 3" 33 | }, 34 | "version": "3.3.7", 35 | "_release": "3.3.7", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.7", 39 | "commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86" 40 | }, 41 | "_source": "https://github.com/twbs/bootstrap.git", 42 | "_target": "~3.3.7", 43 | "_originalSource": "bootstrap" 44 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs. 2 | 3 | See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. 4 | 5 | Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release. 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | group :development, :test do 4 | gem 'jekyll', '~> 3.1.2' 5 | gem 'jekyll-sitemap', '~> 0.11.0' 6 | end 7 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.4.0) 5 | colorator (0.1) 6 | ffi (1.9.14-x64-mingw32) 7 | jekyll (3.1.6) 8 | colorator (~> 0.1) 9 | jekyll-sass-converter (~> 1.0) 10 | jekyll-watch (~> 1.1) 11 | kramdown (~> 1.3) 12 | liquid (~> 3.0) 13 | mercenary (~> 0.3.3) 14 | rouge (~> 1.7) 15 | safe_yaml (~> 1.0) 16 | jekyll-sass-converter (1.4.0) 17 | sass (~> 3.4) 18 | jekyll-sitemap (0.11.0) 19 | addressable (~> 2.4.0) 20 | jekyll-watch (1.4.0) 21 | listen (~> 3.0, < 3.1) 22 | kramdown (1.11.1) 23 | liquid (3.0.6) 24 | listen (3.0.8) 25 | rb-fsevent (~> 0.9, >= 0.9.4) 26 | rb-inotify (~> 0.9, >= 0.9.7) 27 | mercenary (0.3.6) 28 | rb-fsevent (0.9.7) 29 | rb-inotify (0.9.7) 30 | ffi (>= 0.5.0) 31 | rouge (1.11.1) 32 | safe_yaml (1.0.4) 33 | sass (3.4.22) 34 | 35 | PLATFORMS 36 | x64-mingw32 37 | 38 | DEPENDENCIES 39 | jekyll (~> 3.1.2) 40 | jekyll-sitemap (~> 0.11.0) 41 | 42 | BUNDLED WITH 43 | 1.12.5 44 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2016 Twitter, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/grunt/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends" : "../js/.jshintrc", 3 | "asi" : false, 4 | "browser" : false, 5 | "es3" : false, 6 | "node" : true 7 | } 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/grunt/bs-commonjs-generator.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grunt task for the CommonJS module generation 3 | * http://getbootstrap.com 4 | * Copyright 2014-2015 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | 'use strict'; 9 | 10 | var fs = require('fs'); 11 | var path = require('path'); 12 | 13 | var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n'; 14 | 15 | module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) { 16 | var destDir = path.dirname(destFilepath); 17 | 18 | function srcPathToDestRequire(srcFilepath) { 19 | var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/'); 20 | return 'require(\'' + requirePath + '\')'; 21 | } 22 | 23 | var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n'); 24 | try { 25 | fs.writeFileSync(destFilepath, moduleOutputJs); 26 | } catch (err) { 27 | grunt.fail.warn(err); 28 | } 29 | grunt.log.writeln('File ' + destFilepath.cyan + ' created.'); 30 | }; 31 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/js/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "asi" : true, 3 | "browser" : true, 4 | "eqeqeq" : false, 5 | "eqnull" : true, 6 | "es3" : true, 7 | "expr" : true, 8 | "jquery" : true, 9 | "latedef" : true, 10 | "laxbreak" : true, 11 | "nonbsp" : true, 12 | "strict" : true, 13 | "undef" : true, 14 | "unused" : true 15 | } 16 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/.csslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "adjoining-classes": false, 3 | "box-sizing": false, 4 | "box-model": false, 5 | "compatible-vendor-prefixes": false, 6 | "floats": false, 7 | "font-sizes": false, 8 | "gradients": false, 9 | "important": false, 10 | "known-properties": false, 11 | "outline-none": false, 12 | "qualified-headings": false, 13 | "regex-selectors": false, 14 | "shorthand": false, 15 | "text-indent": false, 16 | "unique-headings": false, 17 | "universal-selector": false, 18 | "unqualified-attributes": false 19 | } 20 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | button& { 28 | padding: 0; 29 | cursor: pointer; 30 | background: transparent; 31 | border: 0; 32 | -webkit-appearance: none; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | tr&.in { display: table-row; } 23 | tbody&.in { display: table-row-group; } 24 | } 25 | 26 | .collapsing { 27 | position: relative; 28 | height: 0; 29 | overflow: hidden; 30 | .transition-property(~"height, visibility"); 31 | .transition-duration(.35s); 32 | .transition-timing-function(ease); 33 | } 34 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/alerts.less: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | .alert-variant(@background; @border; @text-color) { 4 | background-color: @background; 5 | border-color: @border; 6 | color: @text-color; 7 | 8 | hr { 9 | border-top-color: darken(@border, 5%); 10 | } 11 | .alert-link { 12 | color: darken(@text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/background-variant.less: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | .bg-variant(@color) { 4 | background-color: @color; 5 | a&:hover, 6 | a&:focus { 7 | background-color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/border-radius.less: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | .border-top-radius(@radius) { 4 | border-top-right-radius: @radius; 5 | border-top-left-radius: @radius; 6 | } 7 | .border-right-radius(@radius) { 8 | border-bottom-right-radius: @radius; 9 | border-top-right-radius: @radius; 10 | } 11 | .border-bottom-radius(@radius) { 12 | border-bottom-right-radius: @radius; 13 | border-bottom-left-radius: @radius; 14 | } 15 | .border-left-radius(@radius) { 16 | border-bottom-left-radius: @radius; 17 | border-top-left-radius: @radius; 18 | } 19 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/center-block.less: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | .center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/clearfix.less: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | .clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/hide-text.less: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (has been removed in v4) 10 | .hide-text() { 11 | font: ~"0/0" a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | .text-hide() { 20 | .hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/labels.less: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | .label-variant(@color) { 4 | background-color: @color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken(@color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/list-group.less: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | .list-group-item-variant(@state; @background; @color) { 4 | .list-group-item-@{state} { 5 | color: @color; 6 | background-color: @background; 7 | 8 | a&, 9 | button& { 10 | color: @color; 11 | 12 | .list-group-item-heading { 13 | color: inherit; 14 | } 15 | 16 | &:hover, 17 | &:focus { 18 | color: @color; 19 | background-color: darken(@background, 5%); 20 | } 21 | &.active, 22 | &.active:hover, 23 | &.active:focus { 24 | color: #fff; 25 | background-color: @color; 26 | border-color: @color; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/nav-divider.less: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | .nav-divider(@color: #e5e5e5) { 6 | height: 1px; 7 | margin: ((@line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: @color; 10 | } 11 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/nav-vertical-align.less: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | .navbar-vertical-align(@element-height) { 7 | margin-top: ((@navbar-height - @element-height) / 2); 8 | margin-bottom: ((@navbar-height - @element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/opacity.less: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | .opacity(@opacity) { 4 | opacity: @opacity; 5 | // IE8 filter 6 | @opacity-ie: (@opacity * 100); 7 | filter: ~"alpha(opacity=@{opacity-ie})"; 8 | } 9 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/pagination.less: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: @padding-vertical @padding-horizontal; 8 | font-size: @font-size; 9 | line-height: @line-height; 10 | } 11 | &:first-child { 12 | > a, 13 | > span { 14 | .border-left-radius(@border-radius); 15 | } 16 | } 17 | &:last-child { 18 | > a, 19 | > span { 20 | .border-right-radius(@border-radius); 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/panels.less: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { 4 | border-color: @border; 5 | 6 | & > .panel-heading { 7 | color: @heading-text-color; 8 | background-color: @heading-bg-color; 9 | border-color: @heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: @border; 13 | } 14 | .badge { 15 | color: @heading-bg-color; 16 | background-color: @heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: @border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/progress-bar.less: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | .progress-bar-variant(@color) { 4 | background-color: @color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | #gradient > .striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/reset-filter.less: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | .reset-filter() { 7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 8 | } 9 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/reset-text.less: -------------------------------------------------------------------------------- 1 | .reset-text() { 2 | font-family: @font-family-base; 3 | // We deliberately do NOT reset font-size. 4 | font-style: normal; 5 | font-weight: normal; 6 | letter-spacing: normal; 7 | line-break: auto; 8 | line-height: @line-height-base; 9 | text-align: left; // Fallback for where `start` is not supported 10 | text-align: start; 11 | text-decoration: none; 12 | text-shadow: none; 13 | text-transform: none; 14 | white-space: normal; 15 | word-break: normal; 16 | word-spacing: normal; 17 | word-wrap: normal; 18 | } 19 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/resize.less: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | .resizable(@direction) { 4 | resize: @direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/responsive-visibility.less: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | .responsive-visibility() { 6 | display: block !important; 7 | table& { display: table !important; } 8 | tr& { display: table-row !important; } 9 | th&, 10 | td& { display: table-cell !important; } 11 | } 12 | 13 | .responsive-invisibility() { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/size.less: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | .size(@width; @height) { 4 | width: @width; 5 | height: @height; 6 | } 7 | 8 | .square(@size) { 9 | .size(@size; @size); 10 | } 11 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/tab-focus.less: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | .tab-focus() { 4 | // WebKit-specific. Other browsers will keep their default outline style. 5 | // (Initially tried to also force default via `outline: initial`, 6 | // but that seems to erroneously remove the outline in Firefox altogether.) 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/table-row.less: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | .table-row-variant(@state; @background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.@{state}, 10 | > th.@{state}, 11 | &.@{state} > td, 12 | &.@{state} > th { 13 | background-color: @background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.@{state}:hover, 21 | > th.@{state}:hover, 22 | &.@{state}:hover > td, 23 | &:hover > .@{state}, 24 | &.@{state}:hover > th { 25 | background-color: darken(@background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/text-emphasis.less: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | .text-emphasis-variant(@color) { 4 | color: @color; 5 | a&:hover, 6 | a&:focus { 7 | color: darken(@color, 10%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/mixins/text-overflow.less: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | .text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/pager.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | padding-left: 0; 8 | margin: @line-height-computed 0; 9 | list-style: none; 10 | text-align: center; 11 | &:extend(.clearfix all); 12 | li { 13 | display: inline; 14 | > a, 15 | > span { 16 | display: inline-block; 17 | padding: 5px 14px; 18 | background-color: @pager-bg; 19 | border: 1px solid @pager-border; 20 | border-radius: @pager-border-radius; 21 | } 22 | 23 | > a:hover, 24 | > a:focus { 25 | text-decoration: none; 26 | background-color: @pager-hover-bg; 27 | } 28 | } 29 | 30 | .next { 31 | > a, 32 | > span { 33 | float: right; 34 | } 35 | } 36 | 37 | .previous { 38 | > a, 39 | > span { 40 | float: left; 41 | } 42 | } 43 | 44 | .disabled { 45 | > a, 46 | > a:hover, 47 | > a:focus, 48 | > span { 49 | color: @pager-disabled-color; 50 | background-color: @pager-bg; 51 | cursor: @cursor-disabled; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/responsive-embed.less: -------------------------------------------------------------------------------- 1 | // Embeds responsive 2 | // 3 | // Credit: Nicolas Gallagher and SUIT CSS. 4 | 5 | .embed-responsive { 6 | position: relative; 7 | display: block; 8 | height: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | 12 | .embed-responsive-item, 13 | iframe, 14 | embed, 15 | object, 16 | video { 17 | position: absolute; 18 | top: 0; 19 | left: 0; 20 | bottom: 0; 21 | height: 100%; 22 | width: 100%; 23 | border: 0; 24 | } 25 | } 26 | 27 | // Modifier class for 16:9 aspect ratio 28 | .embed-responsive-16by9 { 29 | padding-bottom: 56.25%; 30 | } 31 | 32 | // Modifier class for 4:3 aspect ratio 33 | .embed-responsive-4by3 { 34 | padding-bottom: 75%; 35 | } 36 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: @thumbnail-padding; 10 | margin-bottom: @line-height-computed; 11 | line-height: @line-height-base; 12 | background-color: @thumbnail-bg; 13 | border: 1px solid @thumbnail-border; 14 | border-radius: @thumbnail-border-radius; 15 | .transition(border .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | &:extend(.img-responsive); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // Add a hover state for linked versions only 25 | a&:hover, 26 | a&:focus, 27 | a&.active { 28 | border-color: @link-color; 29 | } 30 | 31 | // Image captions 32 | .caption { 33 | padding: @thumbnail-caption-padding; 34 | color: @thumbnail-caption-color; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | .clearfix(); 11 | } 12 | .center-block { 13 | .center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | .text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | } 48 | 49 | 50 | // For Affix plugin 51 | // ------------------------- 52 | 53 | .affix { 54 | position: fixed; 55 | } 56 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/less/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid @well-border; 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/nuget/MyGet.ps1: -------------------------------------------------------------------------------- 1 | $nuget = $env:NuGet 2 | 3 | # parse the version number out of package.json 4 | $bsversion = ((Get-Content $env:SourcesPath\package.json) -join "`n" | ConvertFrom-Json).version 5 | 6 | # create packages 7 | & $nuget pack "nuget\bootstrap.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion 8 | & $nuget pack "nuget\bootstrap.less.nuspec" -Verbosity detailed -NonInteractive -NoPackageAnalysis -BasePath $env:SourcesPath -Version $bsversion 9 | -------------------------------------------------------------------------------- /platform/public/assets/bower/bootstrap/package.js: -------------------------------------------------------------------------------- 1 | // package metadata file for Meteor.js 2 | 3 | /* jshint strict:false */ 4 | /* global Package:true */ 5 | 6 | Package.describe({ 7 | name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap 8 | summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.', 9 | version: '3.3.7', 10 | git: 'https://github.com/twbs/bootstrap.git' 11 | }); 12 | 13 | Package.onUse(function (api) { 14 | api.versionsFrom('METEOR@1.0'); 15 | api.use('jquery', 'client'); 16 | var assets = [ 17 | 'dist/fonts/glyphicons-halflings-regular.eot', 18 | 'dist/fonts/glyphicons-halflings-regular.svg', 19 | 'dist/fonts/glyphicons-halflings-regular.ttf', 20 | 'dist/fonts/glyphicons-halflings-regular.woff', 21 | 'dist/fonts/glyphicons-halflings-regular.woff2' 22 | ]; 23 | if (api.addAssets) { 24 | api.addAssets(assets, 'client'); 25 | } else { 26 | api.addFiles(assets, 'client', { isAsset: true }); 27 | } 28 | api.addFiles([ 29 | 'dist/css/bootstrap.css', 30 | 'dist/js/bootstrap.js' 31 | ], 'client'); 32 | }); 33 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "font-awesome", 3 | "description": "Font Awesome", 4 | "keywords": [], 5 | "homepage": "http://fontawesome.io", 6 | "dependencies": {}, 7 | "devDependencies": {}, 8 | "license": [ 9 | "OFL-1.1", 10 | "MIT", 11 | "CC-BY-3.0" 12 | ], 13 | "main": [ 14 | "less/font-awesome.less", 15 | "scss/font-awesome.scss" 16 | ], 17 | "ignore": [ 18 | "*/.*", 19 | "*.json", 20 | "src", 21 | "*.yml", 22 | "Gemfile", 23 | "Gemfile.lock", 24 | "*.md" 25 | ], 26 | "version": "4.6.3", 27 | "_release": "4.6.3", 28 | "_resolution": { 29 | "type": "version", 30 | "tag": "v4.6.3", 31 | "commit": "0f618911b105195c931ec5d5bef425a2a2806cab" 32 | }, 33 | "_source": "https://github.com/FortAwesome/Font-Awesome.git", 34 | "_target": "^4.6.3", 35 | "_originalSource": "fontawesome", 36 | "_direct": true 37 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.egg-info 3 | *.db 4 | *.db.old 5 | *.swp 6 | *.db-journal 7 | 8 | .coverage 9 | .DS_Store 10 | .installed.cfg 11 | _gh_pages/* 12 | 13 | .idea/* 14 | .svn/* 15 | src/website/static/* 16 | src/website/media/* 17 | 18 | bin 19 | cfcache 20 | develop-eggs 21 | dist 22 | downloads 23 | eggs 24 | parts 25 | tmp 26 | .sass-cache 27 | node_modules 28 | 29 | src/website/settingslocal.py 30 | stunnel.log 31 | 32 | .ruby-version 33 | .bundle 34 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/.npmignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.egg-info 3 | *.db 4 | *.db.old 5 | *.swp 6 | *.db-journal 7 | 8 | .coverage 9 | .DS_Store 10 | .installed.cfg 11 | _gh_pages/* 12 | 13 | .idea/* 14 | .svn/* 15 | src/website/static/* 16 | src/website/media/* 17 | 18 | bin 19 | cfcache 20 | develop-eggs 21 | dist 22 | downloads 23 | eggs 24 | parts 25 | tmp 26 | .sass-cache 27 | node_modules 28 | 29 | src/website/settingslocal.py 30 | stunnel.log 31 | 32 | .ruby-version 33 | 34 | # don't need these in the npm package. 35 | src/ 36 | _config.yml 37 | bower.json 38 | component.json 39 | composer.json 40 | CONTRIBUTING.md 41 | Gemfile 42 | Gemfile.lock 43 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "font-awesome", 3 | "description": "Font Awesome", 4 | "keywords": [], 5 | "homepage": "http://fontawesome.io", 6 | "dependencies": {}, 7 | "devDependencies": {}, 8 | "license": ["OFL-1.1", "MIT", "CC-BY-3.0"], 9 | "main": [ 10 | "less/font-awesome.less", 11 | "scss/font-awesome.scss" 12 | ], 13 | "ignore": [ 14 | "*/.*", 15 | "*.json", 16 | "src", 17 | "*.yml", 18 | "Gemfile", 19 | "Gemfile.lock", 20 | "*.md" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /platform/public/assets/bower/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "3.1.0", 16 | "_release": "3.1.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "3.1.0", 20 | "commit": "6f02bc382c0529d3b4f68f6b2ad21876642dbbfe" 21 | }, 22 | "_source": "https://github.com/jquery/jquery-dist.git", 23 | "_target": ">=2.1.1", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ] 14 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | // Support: IE <=9 only, Android <=4.0 only 3 | // The above browsers are failing a lot of tests in the ES5 4 | // test suite at http://test262.ecmascript.org. 5 | "parserOptions": { 6 | "ecmaVersion": 3 7 | }, 8 | "globals": { 9 | "window": true, 10 | "jQuery": true, 11 | "define": true, 12 | "module": true, 13 | "noGlobal": true 14 | }, 15 | "rules": { 16 | "strict": ["error", "function"] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | // Cross-browser xml parsing 8 | jQuery.parseXML = function( data ) { 9 | var xml; 10 | if ( !data || typeof data !== "string" ) { 11 | return null; 12 | } 13 | 14 | // Support: IE 9 - 11 only 15 | // IE throws on parseFromString with invalid input. 16 | try { 17 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 18 | } catch ( e ) { 19 | xml = undefined; 20 | } 21 | 22 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 23 | jQuery.error( "Invalid XML: " + data ); 24 | } 25 | return xml; 26 | }; 27 | 28 | return jQuery.parseXML; 29 | 30 | } ); 31 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/ajax/var/location.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return window.location; 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | "use strict"; 5 | 6 | return jQuery.now(); 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /\?/ ); 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/attributes.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./attributes/attr", 4 | "./attributes/prop", 5 | "./attributes/classes", 6 | "./attributes/val" 7 | ], function( jQuery ) { 8 | 9 | "use strict"; 10 | 11 | // Return jQuery for attributes-only inclusion 12 | return jQuery; 13 | } ); 14 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/attributes/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | ( function() { 9 | var input = document.createElement( "input" ), 10 | select = document.createElement( "select" ), 11 | opt = select.appendChild( document.createElement( "option" ) ); 12 | 13 | input.type = "checkbox"; 14 | 15 | // Support: Android <=4.3 only 16 | // Default value for a checkbox should be "on" 17 | support.checkOn = input.value !== ""; 18 | 19 | // Support: IE <=11 only 20 | // Must access selectedIndex to make default options select 21 | support.optSelected = opt.selected; 22 | 23 | // Support: IE <=11 only 24 | // An input loses its value after becoming a radio 25 | input = document.createElement( "input" ); 26 | input.value = "t"; 27 | input.type = "radio"; 28 | support.radioValue = input.value === "t"; 29 | } )(); 30 | 31 | return support; 32 | 33 | } ); 34 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/core/DOMEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document" 3 | ], function( document ) { 4 | "use strict"; 5 | 6 | function DOMEval( code, doc ) { 7 | doc = doc || document; 8 | 9 | var script = doc.createElement( "script" ); 10 | 11 | script.text = code; 12 | doc.head.appendChild( script ).parentNode.removeChild( script ); 13 | } 14 | 15 | return DOMEval; 16 | } ); 17 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/core/readyException.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | jQuery.readyException = function( error ) { 8 | window.setTimeout( function() { 9 | throw error; 10 | } ); 11 | }; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/core/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | // Support: Safari 8 only 9 | // In Safari 8 documents created via document.implementation.createHTMLDocument 10 | // collapse sibling forms: the second one becomes a child of the first one. 11 | // Because of that, this security measure has to be disabled in Safari 8. 12 | // https://bugs.webkit.org/show_bug.cgi?id=137337 13 | support.createHTMLDocument = ( function() { 14 | var body = document.implementation.createHTMLDocument( "" ).body; 15 | body.innerHTML = "

"; 16 | return body.childNodes.length === 2; 17 | } )(); 18 | 19 | return support; 20 | } ); 21 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // Match a standalone tag 5 | return ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 6 | } ); 7 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | function addGetHookIf( conditionFn, hookFn ) { 6 | 7 | // Define the hook, we'll check on the first run if it's really needed. 8 | return { 9 | get: function() { 10 | if ( conditionFn() ) { 11 | 12 | // Hook not needed (or it's not possible to use it due 13 | // to missing dependency), remove it. 14 | delete this.get; 15 | return; 16 | } 17 | 18 | // Hook needed; redefine it so that the support test is not executed again. 19 | return ( this.get = hookFn ).apply( this, arguments ); 20 | } 21 | }; 22 | } 23 | 24 | return addGetHookIf; 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | jQuery.expr.pseudos.hidden = function( elem ) { 9 | return !jQuery.expr.pseudos.visible( elem ); 10 | }; 11 | jQuery.expr.pseudos.visible = function( elem ) { 12 | return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return [ "Top", "Right", "Bottom", "Left" ]; 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return function( elem ) { 5 | 6 | // Support: IE <=11 only, Firefox <=30 (#15098, #14150) 7 | // IE throws on elements created in popups 8 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 9 | var view = elem.ownerDocument.defaultView; 10 | 11 | if ( !view || !view.opener ) { 12 | view = window; 13 | } 14 | 15 | return view.getComputedStyle( elem ); 16 | }; 17 | } ); 18 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/css/var/rmargin.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /^margin/ ); 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | "use strict"; 5 | 6 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/css/var/swap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | // A method for quickly swapping in/out CSS properties to get correct calculations. 6 | return function( elem, options, callback, args ) { 7 | var ret, name, 8 | old = {}; 9 | 10 | // Remember the old values, and insert the new ones 11 | for ( name in options ) { 12 | old[ name ] = elem.style[ name ]; 13 | elem.style[ name ] = options[ name ]; 14 | } 15 | 16 | ret = callback.apply( elem, args || [] ); 17 | 18 | // Revert the old values 19 | for ( name in options ) { 20 | elem.style[ name ] = old[ name ]; 21 | } 22 | 23 | return ret; 24 | }; 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/data/var/acceptData.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | /** 6 | * Determines whether an object can have data 7 | */ 8 | return function( owner ) { 9 | 10 | // Accepts only: 11 | // - Node 12 | // - Node.ELEMENT_NODE 13 | // - Node.DOCUMENT_NODE 14 | // - Object 15 | // - Any 16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 17 | }; 18 | 19 | } ); 20 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/data/var/dataPriv.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | "use strict"; 5 | 6 | return new Data(); 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/data/var/dataUser.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | "use strict"; 5 | 6 | return new Data(); 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/deferred/exceptionHook.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../deferred" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | // These usually indicate a programmer mistake during development, 9 | // warn about them ASAP rather than swallowing them by default. 10 | var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 11 | 12 | jQuery.Deferred.exceptionHook = function( error, stack ) { 13 | 14 | // Support: IE 8 - 9 only 15 | // Console exists when dev tools are open, which can happen at any time 16 | if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 17 | window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 18 | } 19 | }; 20 | 21 | } ); 22 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/deprecated.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | jQuery.fn.extend( { 8 | 9 | bind: function( types, data, fn ) { 10 | return this.on( types, null, data, fn ); 11 | }, 12 | unbind: function( types, fn ) { 13 | return this.off( types, null, fn ); 14 | }, 15 | 16 | delegate: function( selector, types, data, fn ) { 17 | return this.on( types, selector, data, fn ); 18 | }, 19 | undelegate: function( selector, types, fn ) { 20 | 21 | // ( namespace ) or ( selector, types [, fn] ) 22 | return arguments.length === 1 ? 23 | this.off( selector, "**" ) : 24 | this.off( types, selector || "**", fn ); 25 | } 26 | } ); 27 | 28 | jQuery.parseJSON = JSON.parse; 29 | 30 | } ); 31 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | "use strict"; 8 | 9 | jQuery.expr.pseudos.animated = function( elem ) { 10 | return jQuery.grep( jQuery.timers, function( fn ) { 11 | return elem === fn.elem; 12 | } ).length; 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/event/ajax.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | // Attach a bunch of functions for handling common AJAX events 9 | jQuery.each( [ 10 | "ajaxStart", 11 | "ajaxStop", 12 | "ajaxComplete", 13 | "ajaxError", 14 | "ajaxSuccess", 15 | "ajaxSend" 16 | ], function( i, type ) { 17 | jQuery.fn[ type ] = function( fn ) { 18 | return this.on( type, fn ); 19 | }; 20 | } ); 21 | 22 | } ); 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/event/alias.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | 4 | "../event", 5 | "./trigger" 6 | ], function( jQuery ) { 7 | 8 | "use strict"; 9 | 10 | jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + 11 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 12 | "change select submit keydown keypress keyup contextmenu" ).split( " " ), 13 | function( i, name ) { 14 | 15 | // Handle event binding 16 | jQuery.fn[ name ] = function( data, fn ) { 17 | return arguments.length > 0 ? 18 | this.on( name, null, data, fn ) : 19 | this.trigger( name ); 20 | }; 21 | } ); 22 | 23 | jQuery.fn.extend( { 24 | hover: function( fnOver, fnOut ) { 25 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 26 | } 27 | } ); 28 | 29 | } ); 30 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | "use strict"; 6 | 7 | support.focusin = "onfocusin" in window; 8 | 9 | return support; 10 | 11 | } ); 12 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/exports/amd.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | // Register as a named AMD module, since jQuery can be concatenated with other 8 | // files that may use define, but not via a proper concatenation script that 9 | // understands anonymous AMD modules. A named AMD is safest and most robust 10 | // way to register. Lowercase jquery is used because AMD module names are 11 | // derived from file names, and jQuery is normally delivered in a lowercase 12 | // file name. Do this after creating the global so that if an AMD module wants 13 | // to call noConflict to hide this version of jQuery, it will work. 14 | 15 | // Note that for maximum portability, libraries that are not jQuery should 16 | // declare themselves as anonymous modules, and avoid setting a global if an 17 | // AMD loader is present. jQuery is a special case. For more information, see 18 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 19 | 20 | if ( typeof define === "function" && define.amd ) { 21 | define( "jquery", [], function() { 22 | return jQuery; 23 | } ); 24 | } 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | /* ExcludeStart */ 2 | 3 | // This file is included in a different way from all the others 4 | // so the "use strict" pragma is not needed. 5 | /* eslint strict: "off" */ 6 | 7 | /* ExcludeEnd */ 8 | 9 | var 10 | 11 | // Map over jQuery in case of overwrite 12 | _jQuery = window.jQuery, 13 | 14 | // Map over the $ in case of overwrite 15 | _$ = window.$; 16 | 17 | jQuery.noConflict = function( deep ) { 18 | if ( window.$ === jQuery ) { 19 | window.$ = _$; 20 | } 21 | 22 | if ( deep && window.jQuery === jQuery ) { 23 | window.jQuery = _jQuery; 24 | } 25 | 26 | return jQuery; 27 | }; 28 | 29 | // Expose jQuery and $ identifiers, even in AMD 30 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 31 | // and CommonJS for browser emulators (#13566) 32 | if ( !noGlobal ) { 33 | window.jQuery = window.$ = jQuery; 34 | } 35 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./deferred/exceptionHook", 8 | "./core/ready", 9 | "./data", 10 | "./queue", 11 | "./queue/delay", 12 | "./attributes", 13 | "./event", 14 | "./event/alias", 15 | "./event/focusin", 16 | "./manipulation", 17 | "./manipulation/_evalUrl", 18 | "./wrap", 19 | "./css", 20 | "./css/hiddenVisibleSelectors", 21 | "./serialize", 22 | "./ajax", 23 | "./ajax/xhr", 24 | "./ajax/script", 25 | "./ajax/jsonp", 26 | "./ajax/load", 27 | "./event/ajax", 28 | "./effects", 29 | "./effects/animatedSelector", 30 | "./offset", 31 | "./dimensions", 32 | "./deprecated", 33 | "./exports/amd" 34 | ], function( jQuery ) { 35 | 36 | "use strict"; 37 | 38 | return ( window.jQuery = window.$ = jQuery ); 39 | 40 | } ); 41 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | jQuery._evalUrl = function( url ) { 8 | return jQuery.ajax( { 9 | url: url, 10 | 11 | // Make this explicit, since user can override this through ajaxSetup (#11264) 12 | type: "GET", 13 | dataType: "script", 14 | cache: true, 15 | async: false, 16 | global: false, 17 | "throws": true 18 | } ); 19 | }; 20 | 21 | return jQuery._evalUrl; 22 | 23 | } ); 24 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/manipulation/getAll.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | function getAll( context, tag ) { 8 | 9 | // Support: IE <=9 - 11 only 10 | // Use typeof to avoid zero-argument method invocation on host objects (#15151) 11 | var ret = typeof context.getElementsByTagName !== "undefined" ? 12 | context.getElementsByTagName( tag || "*" ) : 13 | typeof context.querySelectorAll !== "undefined" ? 14 | context.querySelectorAll( tag || "*" ) : 15 | []; 16 | 17 | return tag === undefined || tag && jQuery.nodeName( context, tag ) ? 18 | jQuery.merge( [ context ], ret ) : 19 | ret; 20 | } 21 | 22 | return getAll; 23 | } ); 24 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/manipulation/setGlobalEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../data/var/dataPriv" 3 | ], function( dataPriv ) { 4 | 5 | "use strict"; 6 | 7 | // Mark scripts as having already been evaluated 8 | function setGlobalEval( elems, refElements ) { 9 | var i = 0, 10 | l = elems.length; 11 | 12 | for ( ; i < l; i++ ) { 13 | dataPriv.set( 14 | elems[ i ], 15 | "globalEval", 16 | !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 17 | ); 18 | } 19 | } 20 | 21 | return setGlobalEval; 22 | } ); 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /^(?:checkbox|radio)$/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/manipulation/var/rscriptType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /^$|\/(?:java|ecma)script/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/manipulation/var/rtagName.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/manipulation/wrapMap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | // We have to close these tags to support XHTML (#13200) 6 | var wrapMap = { 7 | 8 | // Support: IE <=9 only 9 | option: [ 1, "" ], 10 | 11 | // XHTML parsers do not magically insert elements in the 12 | // same way that tag soup parsers do. So we cannot shorten 13 | // this by omitting or other required elements. 14 | thead: [ 1, "", "
" ], 15 | col: [ 2, "", "
" ], 16 | tr: [ 2, "", "
" ], 17 | td: [ 3, "", "
" ], 18 | 19 | _default: [ 0, "", "" ] 20 | }; 21 | 22 | // Support: IE <=9 only 23 | wrapMap.optgroup = wrapMap.option; 24 | 25 | wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 26 | wrapMap.th = wrapMap.td; 27 | 28 | return wrapMap; 29 | } ); 30 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/queue/delay.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../queue", 4 | "../effects" // Delay is optional because of this dependency 5 | ], function( jQuery ) { 6 | 7 | "use strict"; 8 | 9 | // Based off of the plugin by Clint Helfers, with permission. 10 | // https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ 11 | jQuery.fn.delay = function( time, type ) { 12 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 13 | type = type || "fx"; 14 | 15 | return this.queue( type, function( next, hooks ) { 16 | var timeout = window.setTimeout( next, time ); 17 | hooks.stop = function() { 18 | window.clearTimeout( timeout ); 19 | }; 20 | } ); 21 | }; 22 | 23 | return jQuery.fn.delay; 24 | } ); 25 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "../external/sizzle/dist/sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | "use strict"; 7 | 8 | jQuery.find = Sizzle; 9 | jQuery.expr = Sizzle.selectors; 10 | 11 | // Deprecated 12 | jQuery.expr[ ":" ] = jQuery.expr.pseudos; 13 | jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 14 | jQuery.text = Sizzle.getText; 15 | jQuery.isXMLDoc = Sizzle.isXML; 16 | jQuery.contains = Sizzle.contains; 17 | jQuery.escapeSelector = Sizzle.escape; 18 | 19 | } ); 20 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define( [ "./selector-sizzle" ], function() { 2 | "use strict"; 3 | } ); 4 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/traversing/var/dir.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | return function( elem, dir, until ) { 8 | var matched = [], 9 | truncate = until !== undefined; 10 | 11 | while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 12 | if ( elem.nodeType === 1 ) { 13 | if ( truncate && jQuery( elem ).is( until ) ) { 14 | break; 15 | } 16 | matched.push( elem ); 17 | } 18 | } 19 | return matched; 20 | }; 21 | 22 | } ); 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | "use strict"; 6 | 7 | return jQuery.expr.match.needsContext; 8 | } ); 9 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/traversing/var/siblings.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | return function( n, elem ) { 6 | var matched = []; 7 | 8 | for ( ; n; n = n.nextSibling ) { 9 | if ( n.nodeType === 1 && n !== elem ) { 10 | matched.push( n ); 11 | } 12 | } 13 | 14 | return matched; 15 | }; 16 | 17 | } ); 18 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/ObjectFunctionString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./fnToString" 3 | ], function( fnToString ) { 4 | "use strict"; 5 | 6 | return fnToString.call( Object ); 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return []; 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // [[Class]] -> type pairs 5 | return {}; 6 | } ); 7 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.concat; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/document.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return window.document; 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/documentElement.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./document" 3 | ], function( document ) { 4 | "use strict"; 5 | 6 | return document.documentElement; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/fnToString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./hasOwn" 3 | ], function( hasOwn ) { 4 | "use strict"; 5 | 6 | return hasOwn.toString; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/getProto.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return Object.getPrototypeOf; 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/hasOwn.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | "use strict"; 5 | 6 | return class2type.hasOwnProperty; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.indexOf; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.push; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/rcssNum.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/pnum" 3 | ], function( pnum ) { 4 | 5 | "use strict"; 6 | 7 | return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 8 | 9 | } ); 10 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/rnotwhite.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /\S+/g ); 5 | } ); 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.slice; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // All support tests are defined in their respective modules. 5 | return {}; 6 | } ); 7 | -------------------------------------------------------------------------------- /platform/public/assets/bower/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | "use strict"; 5 | 6 | return class2type.toString; 7 | } ); 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*.{js,scss}] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | **/*.html linguist-documentation 3 | js/velocity.min.js linguist-vendored 4 | js/hammer.min.js linguist-vendored 5 | js/jquery.easing.1.3.js linguist-vendored 6 | js/jquery.timeago.min.js linguist-vendored -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/.npmignore: -------------------------------------------------------------------------------- 1 | images/ 2 | .sass-cache/ 3 | .grunt/ 4 | .DS_Store 5 | prepros.cfg 6 | Thumbs.db 7 | .projectile 8 | **/*.log 9 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.12" 4 | before_install: 5 | - npm install -g grunt-cli 6 | git: 7 | depth: 10 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2016 Materialize 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "materialize", 3 | "description": "A modern responsive front-end framework based on Material Design", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "sass", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "ux", 13 | "material", 14 | "design" 15 | ], 16 | "main": [ 17 | "bin/materialize.css", 18 | "bin/materialize.js" 19 | ], 20 | "ignore": [ 21 | "jade/", 22 | ".gitignore", 23 | "CNAME", 24 | "css/", 25 | "bower.json", 26 | "README.md", 27 | "images/", 28 | "js/jquery.timeago.js", 29 | "js/init.js", 30 | "js/prism.js", 31 | "res/", 32 | "sass/style.scss", 33 | "sass/ghpages-materialize.scss", 34 | "**/*.html", 35 | "**/*.zip", 36 | "**/*.txt", 37 | "sitemap.xml", 38 | "package.json", 39 | "Gruntfile.js" 40 | ], 41 | "dependencies": { 42 | "jquery": ">=2.1.1" 43 | }, 44 | "devDependencies": { 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Bold.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Light.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Medium.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/dist/fonts/roboto/Roboto-Thin.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Bold.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Light.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Medium.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/fonts/roboto/Roboto-Thin.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/js/animation.js: -------------------------------------------------------------------------------- 1 | // Custom Easing 2 | jQuery.extend( jQuery.easing, 3 | { 4 | easeInOutMaterial: function (x, t, b, c, d) { 5 | if ((t/=d/2) < 1) return c/2*t*t + b; 6 | return c/4*((t-=2)*t*t + 2) + b; 7 | } 8 | }); 9 | 10 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/js/cards.js: -------------------------------------------------------------------------------- 1 | (function ($) { 2 | $(document).ready(function() { 3 | 4 | $(document).on('click.card', '.card', function (e) { 5 | if ($(this).find('> .card-reveal').length) { 6 | if ($(e.target).is($('.card-reveal .card-title')) || $(e.target).is($('.card-reveal .card-title i'))) { 7 | // Make Reveal animate down and display none 8 | $(this).find('.card-reveal').velocity( 9 | {translateY: 0}, { 10 | duration: 225, 11 | queue: false, 12 | easing: 'easeInOutQuad', 13 | complete: function() { $(this).css({ display: 'none'}); } 14 | } 15 | ); 16 | } 17 | else if ($(e.target).is($('.card .activator')) || 18 | $(e.target).is($('.card .activator i')) ) { 19 | $(e.target).closest('.card').css('overflow', 'hidden'); 20 | $(this).find('.card-reveal').css({ display: 'block'}).velocity("stop", false).velocity({translateY: '-100%'}, {duration: 300, queue: false, easing: 'easeInOutQuad'}); 21 | } 22 | } 23 | }); 24 | 25 | }); 26 | }( jQuery )); -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/js/initial.js: -------------------------------------------------------------------------------- 1 | // Check for jQuery. 2 | if (typeof(jQuery) === 'undefined') { 3 | var jQuery; 4 | // Check if require is a defined function. 5 | if (typeof(require) === 'function') { 6 | jQuery = $ = require('jquery'); 7 | // Else use the dollar sign alias. 8 | } else { 9 | jQuery = $; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/js/jquery.hammer.js: -------------------------------------------------------------------------------- 1 | (function(factory) { 2 | if (typeof define === 'function' && define.amd) { 3 | define(['jquery', 'hammerjs'], factory); 4 | } else if (typeof exports === 'object') { 5 | factory(require('jquery'), require('hammerjs')); 6 | } else { 7 | factory(jQuery, Hammer); 8 | } 9 | }(function($, Hammer) { 10 | function hammerify(el, options) { 11 | var $el = $(el); 12 | if(!$el.data("hammer")) { 13 | $el.data("hammer", new Hammer($el[0], options)); 14 | } 15 | } 16 | 17 | $.fn.hammer = function(options) { 18 | return this.each(function() { 19 | hammerify(this, options); 20 | }); 21 | }; 22 | 23 | // extend the emit method to also trigger jQuery events 24 | Hammer.Manager.prototype.emit = (function(originalEmit) { 25 | return function(type, data) { 26 | originalEmit.call(this, type, data); 27 | $(this.element).trigger({ 28 | type: type, 29 | gesture: data 30 | }); 31 | }; 32 | })(Hammer.Manager.prototype.emit); 33 | })); 34 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/sass/components/_icons-material-design.scss: -------------------------------------------------------------------------------- 1 | /* This is needed for some mobile phones to display the Google Icon font properly */ 2 | .material-icons { 3 | text-rendering: optimizeLegibility; 4 | font-feature-settings: 'liga'; 5 | } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/sass/components/_materialbox.scss: -------------------------------------------------------------------------------- 1 | .materialboxed { 2 | display: block; 3 | cursor: zoom-in; 4 | position: relative; 5 | transition: opacity .4s; 6 | 7 | &:hover { 8 | &:not(.active) { 9 | opacity: .8; 10 | } 11 | will-change: left, top, width, height; 12 | } 13 | } 14 | 15 | .materialboxed.active { 16 | cursor: zoom-out; 17 | } 18 | 19 | #materialbox-overlay { 20 | position:fixed; 21 | top:0; 22 | left:0; 23 | right: 0; 24 | bottom: 0; 25 | background-color: #292929; 26 | z-index: 1000; 27 | 28 | will-change: opacity; 29 | } 30 | .materialbox-caption { 31 | position: fixed; 32 | display: none; 33 | color: #fff; 34 | line-height: 50px; 35 | bottom: 0; 36 | width: 100%; 37 | text-align: center; 38 | padding: 0% 15%; 39 | height: 50px; 40 | z-index: 1000; 41 | -webkit-font-smoothing: antialiased; 42 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/sass/components/_mixins.scss: -------------------------------------------------------------------------------- 1 | // @mixin box-shadow-2($args1, $args2) { 2 | // -webkit-box-shadow: $args1, $args2; 3 | // -moz-box-shadow: $args1, $args2; 4 | // box-shadow: $args1, $args2; 5 | // } -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/sass/components/_table_of_contents.scss: -------------------------------------------------------------------------------- 1 | /*************** 2 | Nav List 3 | ***************/ 4 | .table-of-contents { 5 | &.fixed { 6 | position: fixed; 7 | } 8 | 9 | li { 10 | padding: 2px 0; 11 | } 12 | a { 13 | display: inline-block; 14 | font-weight: 300; 15 | color: #757575; 16 | padding-left: 20px; 17 | height: 1.5rem; 18 | line-height: 1.5rem; 19 | letter-spacing: .4; 20 | display: inline-block; 21 | 22 | &:hover { 23 | color: lighten(#757575, 20%); 24 | padding-left: 19px; 25 | border-left: 1px solid lighten(color("materialize-red", "base"),10%); 26 | } 27 | &.active { 28 | font-weight: 500; 29 | padding-left: 18px; 30 | border-left: 2px solid lighten(color("materialize-red", "base"),10%); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/sass/components/_tooltip.scss: -------------------------------------------------------------------------------- 1 | .material-tooltip { 2 | padding: 10px 8px; 3 | font-size: 1rem; 4 | z-index: 2000; 5 | background-color: transparent; 6 | border-radius: 2px; 7 | color: #fff; 8 | min-height: 36px; 9 | line-height: 120%; 10 | opacity: 0; 11 | display: none; 12 | position: absolute; 13 | text-align: center; 14 | max-width: calc(100% - 4px); 15 | overflow: hidden; 16 | left: 0; 17 | top: 0; 18 | pointer-events: none; 19 | } 20 | 21 | .backdrop { 22 | position: absolute; 23 | opacity: 0; 24 | display: none; 25 | height: 7px; 26 | width: 14px; 27 | border-radius: 0 0 50% 50%; 28 | background-color: #323232; 29 | z-index: -1; 30 | transform-origin: 50% 0%; 31 | transform: translate3d(0,0,0); 32 | } 33 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/sass/components/forms/_file-input.scss: -------------------------------------------------------------------------------- 1 | /* File Input 2 | ========================================================================== */ 3 | 4 | .file-field { 5 | position: relative; 6 | 7 | .file-path-wrapper { 8 | overflow: hidden; 9 | padding-left: 10px; 10 | } 11 | 12 | input.file-path { width: 100%; } 13 | 14 | .btn { 15 | float: left; 16 | height: $input-height; 17 | line-height: $input-height; 18 | } 19 | 20 | span { 21 | cursor: pointer; 22 | } 23 | 24 | input[type=file] { 25 | position: absolute; 26 | top: 0; 27 | right: 0; 28 | left: 0; 29 | bottom: 0; 30 | width: 100%; 31 | margin: 0; 32 | padding: 0; 33 | font-size: 20px; 34 | cursor: pointer; 35 | opacity: 0; 36 | filter: alpha(opacity=0); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/sass/components/forms/_forms.scss: -------------------------------------------------------------------------------- 1 | // Remove Focus Boxes 2 | select:focus { 3 | outline: $select-focus; 4 | } 5 | 6 | button:focus { 7 | outline: none; 8 | background-color: $button-background-focus; 9 | } 10 | 11 | label { 12 | font-size: $label-font-size; 13 | color: $input-border-color; 14 | } 15 | 16 | @import 'input-fields'; 17 | @import 'radio-buttons'; 18 | @import 'checkboxes'; 19 | @import 'switches'; 20 | @import 'select'; 21 | @import 'file-input'; 22 | @import 'range'; 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/masonry-template/background1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/templates/masonry-template/background1.jpg -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/masonry-template/background2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/templates/masonry-template/background2.jpg -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/masonry-template/background3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/templates/masonry-template/background3.jpg -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/masonry-template/css/style.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | nav ul a, 10 | nav .brand-logo { 11 | color: #444; 12 | } 13 | 14 | p { 15 | line-height: 2rem; 16 | } 17 | 18 | .button-collapse { 19 | color: #26a69a; 20 | } 21 | 22 | .parallax-container { 23 | min-height: 380px; 24 | line-height: 0; 25 | height: auto; 26 | color: rgba(255,255,255,.9); 27 | } 28 | .parallax-container .section { 29 | width: 100%; 30 | } 31 | 32 | @media only screen and (max-width : 992px) { 33 | .parallax-container .section { 34 | position: absolute; 35 | top: 40%; 36 | } 37 | #index-banner .section { 38 | top: 10%; 39 | } 40 | } 41 | 42 | @media only screen and (max-width : 600px) { 43 | #index-banner .section { 44 | top: 0; 45 | } 46 | } 47 | 48 | 49 | .icon-block { 50 | padding: 0 15px; 51 | } 52 | 53 | footer.page-footer { 54 | margin: 0; 55 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/masonry-template/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | 4 | $('.button-collapse').sideNav(); 5 | 6 | 7 | var $container = $('#masonry-grid'); 8 | // initialize 9 | $container.masonry({ 10 | columnWidth: '.col', 11 | itemSelector: '.col', 12 | }); 13 | 14 | 15 | }); // end of document ready 16 | })(jQuery); // end of jQuery name space -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/parallax-template/background1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/templates/parallax-template/background1.jpg -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/parallax-template/background2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/templates/parallax-template/background2.jpg -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/parallax-template/background3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/materialize/templates/parallax-template/background3.jpg -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/parallax-template/css/style.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | nav ul a, 10 | nav .brand-logo { 11 | color: #444; 12 | } 13 | 14 | p { 15 | line-height: 2rem; 16 | } 17 | 18 | .button-collapse { 19 | color: #26a69a; 20 | } 21 | 22 | .parallax-container { 23 | min-height: 380px; 24 | line-height: 0; 25 | height: auto; 26 | color: rgba(255,255,255,.9); 27 | } 28 | .parallax-container .section { 29 | width: 100%; 30 | } 31 | 32 | @media only screen and (max-width : 992px) { 33 | .parallax-container .section { 34 | position: absolute; 35 | top: 40%; 36 | } 37 | #index-banner .section { 38 | top: 10%; 39 | } 40 | } 41 | 42 | @media only screen and (max-width : 600px) { 43 | #index-banner .section { 44 | top: 0; 45 | } 46 | } 47 | 48 | .icon-block { 49 | padding: 0 15px; 50 | } 51 | .icon-block .material-icons { 52 | font-size: inherit; 53 | } 54 | 55 | footer.page-footer { 56 | margin: 0; 57 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/parallax-template/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | 4 | $('.button-collapse').sideNav(); 5 | $('.parallax').parallax(); 6 | 7 | }); // end of document ready 8 | })(jQuery); // end of jQuery name space -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/starter-template/css/style.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | .icon-block { 10 | padding: 0 15px; 11 | } 12 | .icon-block .material-icons { 13 | font-size: inherit; 14 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/templates/starter-template/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | 4 | $('.button-collapse').sideNav(); 5 | 6 | }); // end of document ready 7 | })(jQuery); // end of jQuery name space -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/tests/spec/helper.js: -------------------------------------------------------------------------------- 1 | jasmine.getFixtures().fixturesPath = 'tests/spec'; -------------------------------------------------------------------------------- /platform/public/assets/bower/materialize/tests/spec/scrollFire/scrollFireSpec.js: -------------------------------------------------------------------------------- 1 | describe('ScrollFire Plugin', function() { 2 | var options, testElement; 3 | 4 | beforeEach(function() { 5 | options = [{ 6 | selector: '#test', 7 | offset: 50, 8 | callback: 'Materialize.callbackFunc()' 9 | }]; 10 | Materialize.callbackFunc = function() { 11 | return 'I have been called'; 12 | }; 13 | 14 | loadFixtures('scrollFire/scrollFireFixture.html'); 15 | spyOn(Materialize, 'callbackFunc').and.callThrough(); 16 | testElement = $('#test'); 17 | Materialize.scrollFire(options); 18 | }); 19 | 20 | describe('ScrollFire', function() { 21 | it('should fire the callback function', function(done) { 22 | // Scroll to the test component 23 | window.scrollTo(0, testElement.offset().top); 24 | // The callback function should be fired after scrolling 25 | setTimeout(function() { 26 | expect(Materialize.callbackFunc).toHaveBeenCalled(); 27 | done(); 28 | }, 400); 29 | }); 30 | }); 31 | }); 32 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wangEditor", 3 | "description": "wangEditor - 基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费", 4 | "main": "dist/js/wangEditor.js", 5 | "authors": [ 6 | "wangfupeng " 7 | ], 8 | "license": "MIT", 9 | "keywords": [ 10 | "wangEditor", 11 | "富文本编辑器" 12 | ], 13 | "homepage": "https://github.com/wangfupeng1988/wangEditor", 14 | "moduleType": [ 15 | "amd", 16 | "cmd", 17 | "node" 18 | ], 19 | "private": true, 20 | "version": "2.1.18", 21 | "_release": "2.1.18", 22 | "_resolution": { 23 | "type": "version", 24 | "tag": "v2.1.18", 25 | "commit": "8e87d386fca6e2db9e877e8477f18d4ae2b61180" 26 | }, 27 | "_source": "https://github.com/wangfupeng1988/wangEditor.git", 28 | "_target": "^2.1.18", 29 | "_originalSource": "wangEditor", 30 | "_direct": true 31 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | #忽略 3 | node_modules/grunt/ 4 | node_modules/grunt*/ 5 | node_modules/jquery/ 6 | src/css/* 7 | src/js/* 8 | issue 9 | npm-debug.log 10 | 11 | # Windows image file caches 12 | Thumbs.db 13 | ehthumbs.db 14 | 15 | # Folder config file 16 | Desktop.ini 17 | 18 | # Recycle Bin used on file shares 19 | $RECYCLE.BIN/ 20 | 21 | # Windows Installer files 22 | *.cab 23 | *.msi 24 | *.msm 25 | *.msp 26 | 27 | # ========================= 28 | # Operating System Files 29 | # ========================= 30 | 31 | # OSX 32 | # ========================= 33 | 34 | .DS_Store 35 | .AppleDouble 36 | .LSOverride 37 | 38 | # Icon must end with two \r 39 | Icon 40 | 41 | 42 | # Thumbnails 43 | ._* 44 | 45 | # Files that might appear on external disk 46 | .Spotlight-V100 47 | .Trashes 48 | 49 | # Directories potentially created on remote AFP share 50 | .AppleDB 51 | .AppleDesktop 52 | Network Trash Folder 53 | Temporary Items 54 | .apdisk 55 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": false, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "newcap": true, 9 | "noempty": true, 10 | "noarg": true, 11 | "undef": true, 12 | "regexp": true, 13 | 14 | "browser": true, 15 | "devel": true, 16 | "node": true 17 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/* 2 | src/css/* 3 | src/js/* 4 | issue 5 | npm-debug.log 6 | static/* 7 | test/* 8 | uploadfiles/* 9 | server.js 10 | server-for-cros.js -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 王福朋 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wangEditor", 3 | "description": "wangEditor - 基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费", 4 | "main": "dist/js/wangEditor.js", 5 | "authors": [ 6 | "wangfupeng " 7 | ], 8 | "license": "MIT", 9 | "keywords": [ 10 | "wangEditor", 11 | "富文本编辑器" 12 | ], 13 | "homepage": "https://github.com/wangfupeng1988/wangEditor", 14 | "moduleType": [ 15 | "amd", 16 | "cmd", 17 | "node" 18 | ], 19 | "private": true 20 | } 21 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/dist/css/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/dist/css/fonts/icomoon.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/dist/css/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/dist/css/fonts/icomoon.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/dist/css/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/dist/css/fonts/icomoon.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/.npmignore: -------------------------------------------------------------------------------- 1 | /test 2 | /tool 3 | /example 4 | /benchmark 5 | *.upload 6 | *.un~ 7 | *.http 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - "0.10" 5 | - 0.11 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Felix Geisendörfer 2 | 3 | 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: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | 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. 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib'); -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/lib/index.js: -------------------------------------------------------------------------------- 1 | var IncomingForm = require('./incoming_form').IncomingForm; 2 | IncomingForm.IncomingForm = IncomingForm; 3 | module.exports = IncomingForm; 4 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/lib/json_parser.js: -------------------------------------------------------------------------------- 1 | if (global.GENTLY) require = GENTLY.hijack(require); 2 | 3 | var Buffer = require('buffer').Buffer; 4 | 5 | function JSONParser() { 6 | this.data = new Buffer(''); 7 | this.bytesWritten = 0; 8 | } 9 | exports.JSONParser = JSONParser; 10 | 11 | JSONParser.prototype.initWithLength = function(length) { 12 | this.data = new Buffer(length); 13 | }; 14 | 15 | JSONParser.prototype.write = function(buffer) { 16 | if (this.data.length >= this.bytesWritten + buffer.length) { 17 | buffer.copy(this.data, this.bytesWritten); 18 | } else { 19 | this.data = Buffer.concat([this.data, buffer]); 20 | } 21 | this.bytesWritten += buffer.length; 22 | return buffer.length; 23 | }; 24 | 25 | JSONParser.prototype.end = function() { 26 | try { 27 | var fields = JSON.parse(this.data.toString('utf8')); 28 | for (var field in fields) { 29 | this.onField(field, fields[field]); 30 | } 31 | } catch (e) {} 32 | this.data = null; 33 | 34 | this.onEnd(); 35 | }; 36 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/lib/octet_parser.js: -------------------------------------------------------------------------------- 1 | var EventEmitter = require('events').EventEmitter 2 | , util = require('util'); 3 | 4 | function OctetParser(options){ 5 | if(!(this instanceof OctetParser)) return new OctetParser(options); 6 | EventEmitter.call(this); 7 | } 8 | 9 | util.inherits(OctetParser, EventEmitter); 10 | 11 | exports.OctetParser = OctetParser; 12 | 13 | OctetParser.prototype.write = function(buffer) { 14 | this.emit('data', buffer); 15 | return buffer.length; 16 | }; 17 | 18 | OctetParser.prototype.end = function() { 19 | this.emit('end'); 20 | }; 21 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/node_modules/formidable/lib/querystring_parser.js: -------------------------------------------------------------------------------- 1 | if (global.GENTLY) require = GENTLY.hijack(require); 2 | 3 | // This is a buffering parser, not quite as nice as the multipart one. 4 | // If I find time I'll rewrite this to be fully streaming as well 5 | var querystring = require('querystring'); 6 | 7 | function QuerystringParser(maxKeys) { 8 | this.maxKeys = maxKeys; 9 | this.buffer = ''; 10 | } 11 | exports.QuerystringParser = QuerystringParser; 12 | 13 | QuerystringParser.prototype.write = function(buffer) { 14 | this.buffer += buffer.toString('ascii'); 15 | return buffer.length; 16 | }; 17 | 18 | QuerystringParser.prototype.end = function() { 19 | var fields = querystring.parse(this.buffer, '&', '=', { maxKeys: this.maxKeys }); 20 | for (var field in fields) { 21 | this.onField(field, fields[field]); 22 | } 23 | this.buffer = ''; 24 | 25 | this.onEnd(); 26 | }; 27 | 28 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/1.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/10.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/11.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/12.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/13.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/14.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/15.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/16.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/17.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/18.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/19.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/2.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/20.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/21.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/22.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/23.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/24.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/25.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/26.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/27.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/28.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/29.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/3.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/30.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/31.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/32.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/33.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/34.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/35.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/36.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/37.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/38.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/39.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/4.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/40.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/41.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/42.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/43.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/44.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/45.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/46.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/47.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/48.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/49.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/5.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/50.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/6.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/7.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/8.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/default/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/default/9.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/jinxing/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/jinxing/1.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/jinxing/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/jinxing/2.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/jinxing/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/jinxing/3.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/jinxing/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/jinxing/4.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/jinxing/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/jinxing/5.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/static/emotions/jinxing/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/static/emotions/jinxing/6.gif -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/bootstrap/bs-3.3.5/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/custom-menu/js/require-main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/custom-menu/js/require-main.js -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/icomoon/Read Me.txt: -------------------------------------------------------------------------------- 1 | Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures. 2 | 3 | To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/#docs/local-fonts 4 | 5 | You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects. 6 | 7 | You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection. 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/icomoon/demo-files/demo.js: -------------------------------------------------------------------------------- 1 | if (!('boxShadow' in document.body.style)) { 2 | document.body.setAttribute('class', 'noBoxShadow'); 3 | } 4 | 5 | document.body.addEventListener("click", function(e) { 6 | var target = e.target; 7 | if (target.tagName === "INPUT" && 8 | target.getAttribute('class').indexOf('liga') === -1) { 9 | target.select(); 10 | } 11 | }); 12 | 13 | (function() { 14 | var fontSize = document.getElementById('fontSize'), 15 | testDrive = document.getElementById('testDrive'), 16 | testText = document.getElementById('testText'); 17 | function updateTest() { 18 | testDrive.innerHTML = testText.value || String.fromCharCode(160); 19 | if (window.icomoonLiga) { 20 | window.icomoonLiga(testDrive); 21 | } 22 | } 23 | function updateSize() { 24 | testDrive.style.fontSize = fontSize.value + 'px'; 25 | } 26 | fontSize.addEventListener('change', updateSize, false); 27 | testText.addEventListener('input', updateTest, false); 28 | testText.addEventListener('change', updateTest, false); 29 | updateSize(); 30 | }()); 31 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/icomoon/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/icomoon/fonts/icomoon.eot -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/icomoon/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/icomoon/fonts/icomoon.ttf -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/icomoon/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/icomoon/fonts/icomoon.woff -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/plupload/lib/plupload/Moxie.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/plupload/lib/plupload/Moxie.swf -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/plupload/lib/plupload/Moxie.xap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/wangEditor/test/plupload/lib/plupload/Moxie.xap -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/requirejs/js/main.js: -------------------------------------------------------------------------------- 1 | require.config({ 2 | paths: { 3 | jquery: '../../../dist/js/lib/jquery-1.10.2.min', 4 | wangEditor: '../../../dist/js/wangEditor.min' 5 | } 6 | }); 7 | 8 | require(['wangEditor'], function(){ 9 | $(function(){ 10 | var editor = new wangEditor('div1'); 11 | editor.create(); 12 | }); 13 | }) -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/requirejs/test-requirejs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | test 6 | 7 | 17 | 18 | 19 |

wangEditor2.0 支持 IE8 浏览器

20 |
21 |
22 |

请输入内容...

23 |
24 |
25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/seajs/main.js: -------------------------------------------------------------------------------- 1 | define(function(require, exports, module){ 2 | var $ = require('jquery'); 3 | require('wangEditor')($); 4 | 5 | $(function(){ 6 | var editor = new wangEditor('div1'); 7 | editor.create(); 8 | }); 9 | }); -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/test/seajs/test-seajs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | test 6 | 7 | 17 | 18 | 19 |

wangEditor2.0 支持 IE8 浏览器

20 |
21 |
22 |

请输入内容...

23 |
24 |
25 | 26 | 27 | 39 | 40 | -------------------------------------------------------------------------------- /platform/public/assets/bower/wangEditor/uploadfiles/readme: -------------------------------------------------------------------------------- 1 | 2 | 上传的文件,存储到该文件夹下面 -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xterm.js", 3 | "version": "1.0.0", 4 | "ignore": [ 5 | "demo", 6 | "test", 7 | ".gitignore" 8 | ], 9 | "homepage": "https://github.com/sourcelair/xterm.js", 10 | "_release": "1.0.0", 11 | "_resolution": { 12 | "type": "version", 13 | "tag": "1.0.0", 14 | "commit": "dc17f0d02e65f06a67ea80236aee17575e501a36" 15 | }, 16 | "_source": "https://github.com/sourcelair/xterm.js.git", 17 | "_target": "~1.0.0", 18 | "_originalSource": "xterm.js" 19 | } -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | insert_final_newline = true 7 | trim_trailing_whitespace = true 8 | 9 | [*.js] 10 | max_line_length = 100 11 | 12 | [*.css] 13 | indent_size = 4 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Details 4 | - Browser and browser version: 5 | - OS version: 6 | - xterm.js version: 7 | 8 | ### Steps to reproduce 9 | 10 | 1. 11 | 2. 12 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/.mailmap: -------------------------------------------------------------------------------- 1 | Antonis Kalipetis 2 | Antonis Kalipetis 3 | Daniel Imms 4 | Paris Kasidiaris 5 | Paris Kasidiaris 6 | Thanasis Daglis 7 | Thanasis Daglis 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 4 4 | env: 5 | - CXX=g++-4.8 6 | addons: 7 | apt: 8 | sources: 9 | - ubuntu-toolchain-r-test 10 | packages: 11 | - g++-4.8 12 | notifications: 13 | email: false 14 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/AUTHORS: -------------------------------------------------------------------------------- 1 | List of xterm.js contributors. Updated before every release. 2 | 3 | Alexander Olsson 4 | Antonis Kalipetis 5 | Austin Robertson 6 | Benjamin Fischer 7 | Carson Anderson 8 | Christopher Jeffrey 9 | Daniel Imms 10 | Daniel Risacher 11 | Dan Kaplun 12 | Darin Morrison 13 | Jean Bruenn 14 | Jörg Breitbart 15 | Paris Kasidiaris 16 | Paris Kasidiaris 17 | runarberg 18 | Steven Silvester 19 | Thanasis Daglis 20 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:4-onbuild 2 | MAINTAINER Paris Kasidiaris 3 | 4 | EXPOSE 3000 5 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/Procfile.dev: -------------------------------------------------------------------------------- 1 | web: npm start 2 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/addons/attach/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xterm.attach", 3 | "main": "attach.js", 4 | "private": true 5 | } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/addons/fit/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xterm.fit", 3 | "main": "fit.js", 4 | "private": true 5 | } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/addons/fullscreen/fullscreen.css: -------------------------------------------------------------------------------- 1 | .xterm.fullscreen { 2 | position: fixed; 3 | top: 0; 4 | bottom: 0; 5 | left: 0; 6 | right: 0; 7 | width: auto; 8 | height: auto; 9 | z-index: 255; 10 | } 11 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/addons/fullscreen/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xterm.fullscreen", 3 | "main": "fullscreen.js", 4 | "private": true 5 | } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/addons/linkify/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 22 | 23 | 24 |
25 | 35 | 36 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/addons/linkify/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xterm.linkify", 3 | "main": "linkify.js", 4 | "private": true 5 | } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/bin/generate-authors: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | tail --lines=+3 AUTHORS > AUTHORS.tmp 4 | git log --format='%aN <%aE>' >> AUTHORS.tmp 5 | echo "List of xterm.js contributors. Updated before every release.\n" > AUTHORS 6 | sort -u AUTHORS.tmp >> AUTHORS 7 | rm -f AUTHORS.tmp 8 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/bin/prepare-release: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | # Usage: ./bin/prepare-release x.y.z 4 | # x.y.z should be semver (e.g. 1.0.0) 5 | 6 | NEW_VERSION=$1 7 | CURRENT_PACKAGE_JSON_VERSION=$(cat package.json \ 8 | | grep version \ 9 | | head -1 \ 10 | | awk -F: '{ print $2 }' \ 11 | | sed 's/[",]//g' \ 12 | | tr -d '[[:space:]]') 13 | CURRENT_BOWER_JSON_VERSION=$(cat bower.json \ 14 | | grep version \ 15 | | head -1 \ 16 | | awk -F: '{ print $2 }' \ 17 | | sed 's/[",]//g' \ 18 | | tr -d '[[:space:]]') 19 | 20 | # Update version in package.json and bower.json 21 | sed -i "s/\"version\": \"$CURRENT_PACKAGE_JSON_VERSION\"/\"version\": \"$NEW_VERSION\"/g" package.json 22 | sed -i "s/\"version\": \"$CURRENT_BOWER_JSON_VERSION\"/\"version\": \"$NEW_VERSION\"/g" bower.json 23 | 24 | # Update AUTHORS file 25 | sh bin/generate-authors 26 | 27 | git commit -a -m "Bump version to $NEW_VERSION" 28 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xterm.js", 3 | "version": "1.0.0", 4 | "ignore": ["demo", "test", ".gitignore"] 5 | } 6 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/jsdoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "source": { 3 | "include": [ 4 | "src/xterm.js", 5 | "addons/attach/attach.js", 6 | "addons/fit/fit.js", 7 | "addons/fullscreen/fullscreen.js", 8 | "addons/linkify/linkify.js" 9 | ] 10 | }, 11 | "opts": { 12 | "readme": "README.md", 13 | "template": "node_modules/docdash", 14 | "encoding": "utf8", 15 | "destination": "docs/", 16 | "recurse": true, 17 | "verbose": true 18 | }, 19 | "plugins": [ 20 | "plugins/markdown" 21 | ], 22 | "templates": { 23 | "cleverLinks": false, 24 | "monospaceLinks": false 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xterm", 3 | "version": "1.0.0", 4 | "ignore": [ 5 | "demo", 6 | "test", 7 | ".gitignore" 8 | ], 9 | "main": "src/xterm.js", 10 | "repository": "https://github.com/sourcelair/xterm.js", 11 | "license": "MIT", 12 | "devDependencies": { 13 | "chai": "3.5.0", 14 | "docdash": "0.4.0", 15 | "express": "4.13.4", 16 | "express-ws": "2.0.0-rc.1", 17 | "glob": "^7.0.5", 18 | "jsdoc": "3.4.0", 19 | "mocha": "2.5.3", 20 | "pty.js": "0.3.0", 21 | "sleep": "^3.0.1" 22 | }, 23 | "scripts": { 24 | "start": "node demo/app", 25 | "test": "mocha --recursive", 26 | "build:docs": "node_modules/.bin/jsdoc -c jsdoc.json" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /platform/public/assets/bower/xterm.js/xtermjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/assets/bower/xterm.js/xtermjs.png -------------------------------------------------------------------------------- /platform/public/css/index.css: -------------------------------------------------------------------------------- 1 | nav { 2 | background-color: #ffffff !important; 3 | } 4 | 5 | nav .brand-logo { 6 | padding: 0 0 0 27px; 7 | } 8 | 9 | #splash-blue .platform-show { 10 | border-radius: 3px; 11 | z-index: 3; 12 | width: 700px; 13 | position: relative; 14 | } 15 | 16 | #splash-blue { 17 | background-color: #272D4E; 18 | } 19 | 20 | #splash, #splash-blue { 21 | height: 500px; 22 | } 23 | 24 | #popular-courses { 25 | padding: 100px 0 0; 26 | } 27 | 28 | .card .card-content .card-title { 29 | line-height: 1.5; 30 | } 31 | 32 | .card .card-action { 33 | padding: 5px; 34 | } 35 | 36 | .card .card-content { 37 | padding: 10px; 38 | } 39 | 40 | footer { 41 | background-color: #272D4E; 42 | min-height: 150px; 43 | color: #fff; 44 | } 45 | 46 | footer.page-footer { 47 | margin-top: 0; 48 | } 49 | 50 | .fa-caret-down { 51 | color: black; 52 | } -------------------------------------------------------------------------------- /platform/public/css/info.css: -------------------------------------------------------------------------------- 1 | .info-body { 2 | width: 800px; 3 | background-color: #f6f6f6; 4 | margin: 40px auto; 5 | padding: 10px 0 20px 0; 6 | } 7 | 8 | .info-title { 9 | width: 100%; 10 | text-align: center; 11 | font-size: 20px; 12 | padding: 20px; 13 | } 14 | 15 | .info-username { 16 | color: #5fc4a9; 17 | } 18 | 19 | .info-table { 20 | width: 500px; 21 | margin: 0 auto; 22 | color: gray; 23 | } 24 | 25 | .info-table-title { 26 | text-align: right; 27 | height: 40px; 28 | width: 200px; 29 | } 30 | 31 | .info-button-wrap { 32 | text-align: center; 33 | width: 100%; 34 | margin-top: 20px; 35 | } 36 | 37 | .info-button { 38 | width: 108px; 39 | height: 32px; 40 | text-align: center; 41 | line-height: 32px; 42 | color: #ffffff; 43 | background: #57ac7f; 44 | font-size: 18px; 45 | border: none; 46 | } 47 | 48 | .info-warning { 49 | display: inline-block; 50 | position: absolute; 51 | /*display: none;*/ 52 | } -------------------------------------------------------------------------------- /platform/public/css/login.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 200px; 3 | background: url(../img/texture-blue-fonchik-simple-dark-colors-glow-background.jpg) no-repeat; 4 | } 5 | 6 | .login-form { 7 | width: 390px; 8 | } 9 | 10 | .login-title { 11 | font-family: 'Exo', sans-serif; 12 | text-align: center; 13 | color: white; 14 | } 15 | 16 | .login-userinput { 17 | margin-bottom: 10px; 18 | } 19 | 20 | .login-button { 21 | margin-top: 10px; 22 | } 23 | 24 | .login-passwordinput { 25 | margin-bottom: 10px; 26 | } -------------------------------------------------------------------------------- /platform/public/css/xterm.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: helvetica, sans-serif, arial; 3 | font-size: 1em; 4 | color: #111; 5 | height: 100%; 6 | } 7 | 8 | .container-fluid { 9 | height: 100%; 10 | } 11 | 12 | .full-height { 13 | height: 100%; 14 | } 15 | 16 | .scrollable { 17 | overflow-y: scroll; 18 | padding-top: 10px; 19 | border: 1px solid #ddd; 20 | border-radius: 1px; 21 | height: 100%; 22 | } 23 | 24 | h1 { 25 | text-align: center; 26 | } 27 | 28 | #terminal-container { 29 | width: 628px; 30 | height: 660px; 31 | margin: 0 auto; 32 | padding: 2px; 33 | } 34 | 35 | #terminal-container .terminal { 36 | background-color: #111; 37 | color: #fafafa; 38 | padding: 2px; 39 | } 40 | 41 | #terminal-container .terminal:focus .terminal-cursor { 42 | background-color: #fafafa; 43 | } 44 | -------------------------------------------------------------------------------- /platform/public/img/show.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/img/show.gif -------------------------------------------------------------------------------- /platform/public/img/texture-blue-fonchik-simple-dark-colors-glow-background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/img/texture-blue-fonchik-simple-dark-colors-glow-background.jpg -------------------------------------------------------------------------------- /platform/public/imgs/bg-course.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/bg-course.png -------------------------------------------------------------------------------- /platform/public/imgs/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/bg.png -------------------------------------------------------------------------------- /platform/public/imgs/bg_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/bg_01.png -------------------------------------------------------------------------------- /platform/public/imgs/bg_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/bg_02.png -------------------------------------------------------------------------------- /platform/public/imgs/bg_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/bg_03.png -------------------------------------------------------------------------------- /platform/public/imgs/bg_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/bg_04.png -------------------------------------------------------------------------------- /platform/public/imgs/course_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/course_01.png -------------------------------------------------------------------------------- /platform/public/imgs/course_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/course_02.png -------------------------------------------------------------------------------- /platform/public/imgs/course_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/course_03.png -------------------------------------------------------------------------------- /platform/public/imgs/course_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/course_04.png -------------------------------------------------------------------------------- /platform/public/imgs/course_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/course_05.png -------------------------------------------------------------------------------- /platform/public/imgs/course_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/course_06.png -------------------------------------------------------------------------------- /platform/public/imgs/course_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/course_07.png -------------------------------------------------------------------------------- /platform/public/imgs/dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/dialog.png -------------------------------------------------------------------------------- /platform/public/imgs/fullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/fullscreen.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_course.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_course.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_gray.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_green.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_menu1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_menu1.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_menu1_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_menu1_active.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_menu2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_menu2.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_menu2_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_menu2_active.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_menu3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_menu3.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_menu3_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_menu3_active.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_qa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_qa.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_search.png -------------------------------------------------------------------------------- /platform/public/imgs/icon_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/icon_user.png -------------------------------------------------------------------------------- /platform/public/imgs/img_detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/img_detail.png -------------------------------------------------------------------------------- /platform/public/imgs/info_green.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/info_green.jpg -------------------------------------------------------------------------------- /platform/public/imgs/info_red.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/info_red.jpg -------------------------------------------------------------------------------- /platform/public/imgs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/logo.png -------------------------------------------------------------------------------- /platform/public/imgs/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/logo1.png -------------------------------------------------------------------------------- /platform/public/imgs/qrcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/qrcode.jpg -------------------------------------------------------------------------------- /platform/public/imgs/search_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/search_bg.png -------------------------------------------------------------------------------- /platform/public/imgs/study.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/study.png -------------------------------------------------------------------------------- /platform/public/imgs/study_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/study_hover.png -------------------------------------------------------------------------------- /platform/public/imgs/username.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/username.png -------------------------------------------------------------------------------- /platform/public/imgs/userpwd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/userpwd.png -------------------------------------------------------------------------------- /platform/public/imgs/韬唤璇_jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/platform/public/imgs/韬唤璇_jpg -------------------------------------------------------------------------------- /platform/public/js/common.js: -------------------------------------------------------------------------------- 1 | var userBox = document.getElementById('uName'); 2 | var userInfo = document.getElementById('userInfo'); 3 | userInfo.onmouseover = function () { 4 | userInfo.style.display = 'block'; 5 | }; 6 | userBox.onmouseover = function () { 7 | userInfo.style.display = 'block'; 8 | }; 9 | userInfo.onmouseout = function () { 10 | userInfo.style.display = 'none'; 11 | }; 12 | userBox.onmouseout = function () { 13 | userInfo.style.display = 'none'; 14 | }; -------------------------------------------------------------------------------- /platform/tests/TestHelper.php: -------------------------------------------------------------------------------- 1 | registerDirs( 26 | array( 27 | ROOT_PATH 28 | ) 29 | ); 30 | 31 | $loader->register(); 32 | 33 | $di = new FactoryDefault(); 34 | Di::reset(); 35 | 36 | // Add any needed services to the DI here 37 | 38 | Di::setDefault($di); -------------------------------------------------------------------------------- /platform/tests/UnitTestCase.php: -------------------------------------------------------------------------------- 1 | setDi($di); 33 | 34 | $this->_loaded = true; 35 | } 36 | 37 | /** 38 | * Check if the test case is setup properly 39 | * 40 | * @throws \PHPUnit_Framework_IncompleteTestError; 41 | */ 42 | public function __destruct() 43 | { 44 | if (!$this->_loaded) { 45 | throw new \PHPUnit_Framework_IncompleteTestError('Please run parent::setUp().'); 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /课程报告/csrf基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/csrf基础训练一.doc -------------------------------------------------------------------------------- /课程报告/csrf基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/csrf基础训练二.doc -------------------------------------------------------------------------------- /课程报告/dom型xss基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/dom型xss基础训练.doc -------------------------------------------------------------------------------- /课程报告/sql注入基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/sql注入基础训练一.doc -------------------------------------------------------------------------------- /课程报告/sql注入基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/sql注入基础训练二.doc -------------------------------------------------------------------------------- /课程报告/sql注入盲注训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/sql注入盲注训练一.doc -------------------------------------------------------------------------------- /课程报告/sql注入盲注训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/sql注入盲注训练二.doc -------------------------------------------------------------------------------- /课程报告/url重定向基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/url重定向基础训练.doc -------------------------------------------------------------------------------- /课程报告/xxe漏洞学习.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/xxe漏洞学习.doc -------------------------------------------------------------------------------- /课程报告/反射型xss基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/反射型xss基础训练一.doc -------------------------------------------------------------------------------- /课程报告/反射型xss基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/反射型xss基础训练二.doc -------------------------------------------------------------------------------- /课程报告/命令注入基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/命令注入基础训练一.doc -------------------------------------------------------------------------------- /课程报告/命令注入基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/命令注入基础训练二.doc -------------------------------------------------------------------------------- /课程报告/垂直越权基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/垂直越权基础训练.doc -------------------------------------------------------------------------------- /课程报告/存储型xss基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/存储型xss基础训练一.doc -------------------------------------------------------------------------------- /课程报告/存储型xss基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/存储型xss基础训练二.doc -------------------------------------------------------------------------------- /课程报告/宽字节注入详解一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/宽字节注入详解一.doc -------------------------------------------------------------------------------- /课程报告/宽字节注入详解二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/宽字节注入详解二.doc -------------------------------------------------------------------------------- /课程报告/弱加密算法基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/弱加密算法基础训练.doc -------------------------------------------------------------------------------- /课程报告/文件上传基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/文件上传基础训练一.doc -------------------------------------------------------------------------------- /课程报告/文件上传基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/文件上传基础训练二.doc -------------------------------------------------------------------------------- /课程报告/文件下载基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/文件下载基础训练.doc -------------------------------------------------------------------------------- /课程报告/文件删除操作基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/文件删除操作基础训练.doc -------------------------------------------------------------------------------- /课程报告/本地文件包含基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/本地文件包含基础训练一.doc -------------------------------------------------------------------------------- /课程报告/本地文件包含基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/本地文件包含基础训练二.doc -------------------------------------------------------------------------------- /课程报告/水平越权基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/水平越权基础训练.doc -------------------------------------------------------------------------------- /课程报告/突变型xss基础训练.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/突变型xss基础训练.doc -------------------------------------------------------------------------------- /课程报告/远程文件包含基础训练一.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/远程文件包含基础训练一.doc -------------------------------------------------------------------------------- /课程报告/远程文件包含基础训练二.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/课程报告/远程文件包含基础训练二.doc -------------------------------------------------------------------------------- /项目说明/Phalcon框架资料.md: -------------------------------------------------------------------------------- 1 | [awesome-phalcon][1] 2 | [Phalcon文档][2][5] 3 | [源代码][3] 4 | [官方社区][4] 5 | 6 | 7 | [1]: https://github.com/sergeyklay/awesome-phalcon 8 | [2]: https://docs.phalconphp.com/zh/latest/ 9 | [3]: https://github.com/phalcon/cphalcon 10 | [4]: https://forum.phalconphp.com 11 | [5]:http://docs.iphalcon.cn/ -------------------------------------------------------------------------------- /项目说明/数据库设计文档.md: -------------------------------------------------------------------------------- 1 | 数据库结构说明 2 | 3 | container ------存放容器的表 4 | 5 | course_access -----课程权限表 6 | 7 | course_category -----课程分类表 8 | 9 | course -------课程表 10 | 11 | qa ---- 提问表 12 | 13 | users 用户表 14 | 15 | 表中的个字段定义都比较明显,此处不再赘述。 16 | 17 | -------------------------------------------------------------------------------- /项目说明/猎鹰安全.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CAT-Team-mmc/lysec/a2c1b437c9cac54be58ea9a6ec1778d49d7bb51f/项目说明/猎鹰安全.xmind -------------------------------------------------------------------------------- /项目说明/账号信息.md: -------------------------------------------------------------------------------- 1 | ##项目展示地址 2 | 3 | http://www.lysec.org 4 | 5 | ##测试账号 6 | 7 | 数据库中默认 存在一个测试账号 可以自己修改 8 | 9 | 登录邮箱:2022137639@qq.com 10 | 11 | 登录密码:123456789 12 | 13 | 权限:admin 14 | 15 | 登陆以后可以自己进去添加用户权限的账号 16 | 17 | 18 | 数据库账号信息 19 | 20 | 'database' => [ 21 | 'adapter' => 'Mysql', 22 | 'host' => $isLocal?'127.0.0.1':'127.0.0.1', 23 | 'username' => 'root', 24 | 'password' => 'lysec', 25 | 'dbname' => 'platform', 26 | 'charset' => 'utf8', 27 | ] 28 | 29 | --------------------------------------------------------------------------------